[
  {
    "path": ".babelrc",
    "content": "{\n    \"env\": {\n        \"development\": {\n            \"presets\": [\n                [\"@babel/env\", {\n                    \"targets\": {\n                        \"browsers\": [\n                            \">1%\",\n                            \"not ie 11\",\n                            \"not op_mini all\"\n                        ]\n                    },\n                    \"modules\": false,\n                    \"useBuiltIns\": \"entry\"\n                }],\n                \"@babel/react\"\n            ],\n            \"plugins\": [\n                [\"@babel/plugin-proposal-unicode-property-regex\", {\n                    \"useUnicodeFlag\": false\n                }],\n                [\"@babel/plugin-transform-runtime\", {\n                    \"polyfill\": false,\n                    \"regenerator\": true\n                }],\n                [\"@babel/plugin-proposal-class-properties\"],\n                [\"@babel/plugin-syntax-dynamic-import\"]\n            ]\n        }\n    }\n}"
  },
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n"
  },
  {
    "path": ".gitignore",
    "content": "node_modules/\n*.log"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\n\n## August 2018\n\n### Tensor visualization\n* tensors with a small number of elements display also individual values\n\n### Language\n* unary `+` as the Sum operator\n* unary `*` as the Product operator\n* multiline strings are dedented by default (as in Swift)\n\n### API\n* [Clip](https://mlajtos.github.io/L1/latest/#OjpDbGlw), [Sum](https://mlajtos.github.io/L1/latest/#OjpTdW0=), [Transpose](https://mlajtos.github.io/L1/latest/#OjpUcmFuc3Bvc2U=), [Product](https://mlajtos.github.io/L1/latest/#OjpQcm9kdWN0), [Reverse](https://mlajtos.github.io/L1/latest/#OjpSZXZlcnNl), [Expand](https://mlajtos.github.io/L1/latest/#OjpFeHBhbmQ=)\n\n### Documentation\n* [Examples](https://github.com/mlajtos/L1/tree/master/src/gallery) are back!\n* code snippets are easily runnable\n* wrote about [goals of L1](GOAL.md)\n\n### Playground\n* shareable hyperlinks (Ctrl+S, Cmd-S)"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing\n\nPull requests are welcome.\n\n## Setup\n\n1. ```git clone https://github.com/mlajtos/L1.git```\n1. ```cd L1```\n1. ```yarn```\n\n## Development\n\n1. ```yarn run dev```\n1. http://localhost:7171\n\n## Build\n\n1. ```yarn run build```\n1. ```yarn run serve```\n1. http://localhost:7171\n\nDirectory `L1/dist` contains built project."
  },
  {
    "path": "GOAL.md",
    "content": "# Goal\n\n> **Become the standard tool for prototyping new Machine Learning ideas.**\n\nA bold goal, I know. But it means something different than what you might think. Many people interpret it as *\"become the best Deep Learning framework\"* or *\"if PyTorch and TensorFlow had a baby\"*. These statements would excite many professionals, but it would create only hype – vague and non-executable statement.\n\nAnother formulation of the mentioned goal would be:\n\n> *Become the first choice tool for teaching and learning differentiable linear algebra.*\n\nThis *italic* goal is borderline boring. But again, it is not meant as *\"become the best numeric environment\"* – whatever that might mean. Professionals are not the target audience here, but even they can benefit from this tool. However, L1 is not going to be the next TensorFlow, PyTorch, Mathematica, Jupyter Notebook, VS Code, TensorBoard, MATLAB, or anything. The intention is somewhere else.\n\nThe ultimate goal of L1 is to be the medium for creative thought about specific subset of Machine Learning.\n\n## Design goals\n\nTo express more directly what L1 wants to be, is to present the driving principles behind it and how they are manifested in the implementation. *(This is not an exhaustive list.)*\n\n### Minimal\n\nWhen yor mind is in the [Flow state](https://en.wikipedia.org/wiki/Flow_(psychology)) during programming, usually you don't want to think about type declarations, or match opening and closing parentheses that are deeply nested, or recasting int16 to float32, or using print statement for every step of your algorithm... These are the non-essential (boring) parts of the programming.\n\nL1 is not going to be all-encompassing IDE that covers everything in between data scraping to production deployment. It isn't even about the model creation...\n\nThe focus is to lose all non-essential parts of the accidental complexities that accumulated in the history of programming, and present what's left in the purest form possible.\n\n### Unified\n\nDesign is an instance of the multi-variate optimization process. When you push in somewhere, something will pop out at the other side. By optimizing all the parameters at the same time, there is a temporal advantage. In other words, designing an IDE, a language and an API in unison, we can speed up the development of the whole thing.\n\nThis method was principal in the early history of computing. For example, research that led to [Xerox Alto](http://worrydream.com/EarlyHistoryOfSmalltalk/) has been done all from scratch and in parallel – hardware, software, operating system, networking, graphics, programming language. There was no other way to it.\n\nL1 draws on this principle and strives to be *the whole experience*. It is not an IDE, not a language, not an API. One without the other is nothing.\n\n### Familiar\n\nThe large part of learning curve is dictated by the knowledge you already have. Humans employ transfer-learning across different, and quite often very distant tasks. For example, the Desktop metaphor of the graphical user interface, exploit our knowledge about the real (physical) desks and objects on them, to quickly learn how to operate an alien calculator.\n\nThe famous programming language by Kenneth Iverson – APL – was anything but familiar. Extremely powerful, but alien. On the other hand, FORTRAN was lesser of the two, but it was familiar to mathematicians, so they could be productive without the steep learning curve.\n\nThe L1 language reads like clean JSON with expressions. This combination is extremely simplistic, but still powerful – and above all – very familiar. More about that in part [Better JavaScript](#better-javascript)\n\n### Interactive\n\nWriting a computer code without actually seeing what it does in real-time is a sin. Programming with live feedback keeps the user engaged and not frustrated by waiting for the manual edit-compile-run cycle.\n\nNobody would ever want to draw with a pencil on a paper with their eyes closed, and only after that look at the drawing. Programming should be like drawing with your eyes open.\n\nL1 aspires to be a smooth live programming experience where you actually forget that you are programming. Immediate feedback matters.\n\n## Better JavaScript\n\nSyntax and semantics of L1 language is heavily inspired by its host language – JavaScript. The main designing force is to simplify JS to the extreme – throw out everything that is non-essential. JavaScript is frozen to be backward compatible, so it will only grow in size, so adding new stuff in a proper way is hard or impossible. L1 is the opposite.\n\n### Const by default\n\nAssignment is done by colon, because you are really creating an object with named properties. As in Python.\n\n```js\n// JS\nconst a = 23\n```\n\n```L1\n; L1\na: 23\n```\n\n### References\n\nFollowing example just adds one number to the other using a reference:\n\n```js\nconst a = 23\nconst b = a + 24\n```\n\n```L1\na: 23\nb: a + 24\n```\n\nHowever, if you want to do it in the object, you are out of luck:\n\n```js\nconst obj = {\n    a: 23,\n    b: this.a + 24 // obj.b is NaN, no Error!\n}\n```\n\nBut this is totally normal thing in L1:\n\n```L1\nobj: {\n    a: 23\n    b: a + 24  ; obj.b is 47\n}\n```\n\n### Referential transparency\n\nTake this example:\n\n```js\nconst obj = { a: 23 }\nconst b = obj.a // b is 23, nice\n```\n\nSubstituting `obj` for its value should still work:\n\n```js\nconst b = { a: 23 }.a // Oops, SyntaxError: Unexpected token .\n```\n\nYou have to enclose it in parens:\n\n```js\nconst b = ({ a: 23 }).a\n```\n\nIn L1 this works:\n\n```L1\nb: {\n    a: 23\n}.a\n```\n\n### Function duality\n\nES6 arrow functions (lambdas) are the most usefull thing added to JS:\n\n```js\nconst fn = a => a + 1  // function definition\nconst x = fn(22)       // function application\n```\n\nThere is really no striking difference to L1:\n\n```L1\nfn: a => a + 1         ; function definition\nx: fn(22)              ; function application\n```\n\nHowever the second best thing that would be added to JS is pipeline operator:\n\n```js\nconst x = 22 |> fn\n```\n\nIn L1, pipeline operator makes a bit more sense:\n\n```L1\nx: 22 -> fn\n```\n\n### Parens again\n\nLets use arrow function to return an object:\n\n```js\nconst fn = a => { mu: 23 + a }\nconst obj = fn(24)                  // undefined\n```\n\n`obj` is `undefined`. WAT?! You created a function body with a label instead of a object literal. Just use parens:\n\n```js\nconst fn = a => ({ mu: 23 + a })\nconst obj = fn(24)\n```\n\nNo such surprise in L1:\n\n```L1\nfn: a => {\n    mu: 23 + a\n}\nobj: fn(24)\n```\n\nActually in L1 you can drop parens even from the function application:\n\n```L1\nobj: fn 24\n```\n\nIn L1 parens are only grouping things together – no other hidden meaning.\n\n### Synergies\n\nWhen you combine these techniques together, you can do something silly as this:\n\n```js\nconst fn = a => {\n    const b = a + 12\n    const c = b * 2\n    return { a, b, c }\n}\nconst mu = fn(23)\n```\n\nIn L1 this is a bit more straightforward:\n\n```L1\nfn: a => {\n    a: a\n    b: a + 12\n    c: b * 2\n}\nmu: fn 23\n```\n\nEven on the silly example, there is a modest gain in readability:\n* **JS:** 87 characters\n    * including 23 white space characters\n* **L1:** 44 characters\n    * including 15 white space characters\n\n### Object as a function\n\nJS proxies are going to let you do magical (read: meta) things with objects. However, you will never be able to do this beautiful thing from Python:\n\n```python\nclass ObjClass(object):\n    a = 23\n    def __call__(self, b):\n        return self.a + b\n\nobj = ObjClass()\nmu = obj(24)\n```\n\nJS:\n```js\n// don't even try\n```\n\nIn L1 this is embarrassingly trivial:\n\n```L1\nobj: {\n    a: 23\n    #call: b => a + b\n}\nmu: obj 24\n```\n\n### Documentation\n\nHave you ever seen documentation in JS? Not on a web, but in JS. You know, as in Python's `help()`. Documentation should be as close to code as possible. Example from Python:\n\n```python\ndef fn(a):\n    \"\"\"increments a provided number\"\"\"\n    return a + 1\n\nhelp(fn)  # print(fn.__doc__)\n```\n\nAdd some Markdown and you have something good:\n\n```L1\nfn: {\n    #doc: \"\n        # Incrementer\n        \n        *Increments* a provided number by 1. Example:\n\n            mu: fn 22\n    \"\n    #call: a => a + 1\n}\n```\n\n### Observables\n\n`Promise` is a future value that resolves or fails. `Observable` is a Promise that can resolve multiple times, so an asynchronous data stream. Observables will probably end up in JS and will superseed Promises as a standard way for dealing with asynchronous programming. Incorporating Observables into a language is therefore a must to have feature.\n\nIn vanilla JS, when you want to track `x`-coordinate of a mouse and do something with that value you would go something like this:\n\n```js\nvar mu = 0\nconst onMouseXChanged = (value) => { mu = value * 10 }\ndocument.addEventListener(\"mousemove\", (e) => onMouseXChanged(e.screenX))\n```\n\nThis is a classic Observer pattern and it is a really useful in real world applications. However it is cumbersome and does not scale really well. People created libraries like [RxJS](https://rxjs-dev.firebaseapp.com/) to deal with Observers and Observables in a better way. But this useful patern should be used on a language level, not as a library. Instead, one should be able to write following one-liner:\n\n```L1\nmu: Mouse.x * 10\n```\n\nThis way, `mu` will always be synchronized to the `x`-coordinate of the mouse. And of course subsequent computations dependent on `mu` will also be recalculated whenever is needed.\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2018 Milan Lajtoš\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "# L1: Tensor Studio\n[L1: Tensor Studio](https://mlajtos.github.io/L1/latest/) is a live-programming environment for differentiable linear algebra. The playground for tensors.\n\n[![Screenshot](Screenshots/Screenshot4.png)](https://mlajtos.github.io/L1/latest/)\n\n<p align=\"center\"><a href=\"https://mlajtos.github.io/L1/latest/\">Live Demo</a> | <a href=\"https://mlajtos.github.io/L1/latest/#OjpTZWxm\">Documentation</a> | <a href=\"https://github.com/mlajtos/L1/tree/master/src/gallery\">Examples</a></p>\n\n## About\n\nL1 is a playground for differentiable linear algebra, heavily used in Machine Learning. It frees your mind from accidental complexities of programming, and lets you focus your attention on the underlying math to further strengthen your intuition.\n\n### Goal\n\nBecome the standard tool for prototyping new Machine Learning ideas. [More...](GOAL.md)\n\n### Features\n* designed for rapid learning and prototyping\n* helpful live visualization\n* elegant pure functional language\n* eager execution\n* auto-broadcast for tensor operations\n* fast GPU-accelerated computation\n* awesome built-in documentation\n* syntax-highlighting and code-completion\n\n### Changelog\n\n* [August 2018](CHANGELOG.md#august-2018)\n\n### What's comming?\n* variable tensors and optimization\n* richer set of operators\n* pre-trained models\n* loading data, I/O\n* [etc.](https://github.com/mlajtos/L1/blob/master/TODO.md)\n\n### Issues\n* None of the mobile browsers are supported\n* Firefox is rather slow and has unpredictable behavior – [#3](https://github.com/mlajtos/L1/issues/3)\n    * please use Chrome for best experience\n* Edge looks visually off, but works OK\n\n### Contribution\n\nAny form of help and feedback is welcome – including [PRs](CONTRIBUTING.md), [reporting bugs](https://github.com/mlajtos/L1/issues/new), [suggesting ideas](https://github.com/mlajtos/L1/issues/new), [shooting down existing ideas](TODO.md), [creating new examples](https://github.com/mlajtos/L1/tree/master/src/gallery), promotion, testing, etc.\n\nThis project is under [MIT license](LICENSE).\n\n---\n\n## Thank you\n\nBig thank you to these great projects and awesome people behind them:\n- [TensorFlow.js](https://github.com/tensorflow/tfjs)\n- [Ohm](https://github.com/harc/ohm)\n- [Monaco Editor](https://github.com/Microsoft/monaco-editor)\n- [FiraCode](https://github.com/tonsky/FiraCode)\n- [React](https://github.com/facebook/react)\n- [RxJS](https://github.com/Reactive-Extensions/RxJS)\n- etc.\n\nThis thing is stealing great ideas from:\n- [APL family](https://en.wikipedia.org/wiki/APL_(programming_language)) – A, [J](https://en.wikipedia.org/wiki/J_(programming_language)), K, Q\n- [LISP family](https://en.wikipedia.org/wiki/Lisp_(programming_language)) – ClojureScript\n- [ECMAScript](https://en.wikipedia.org/wiki/JavaScript)\n- [QML](https://en.m.wikipedia.org/wiki/QML)\n- [JSON](https://www.json.org/)\n- [Jsonnet](https://jsonnet.org/)\n– [Ren](https://pointillistic.com/ren/)\n- [Haskell](https://en.wikipedia.org/wiki/Haskell_(programming_language))\n- [Smalltalk](https://en.wikipedia.org/wiki/Smalltalk)\n- [Moniel](https://github.com/mlajtos/moniel) – prototype of L1\n- [Douglas Crockford](https://www.youtube.com/watch?v=NPB34lDZj3E)\n- [Bret Victor](https://vimeo.com/36579366)\n- etc.\n"
  },
  {
    "path": "TODO.md",
    "content": "# TODO\n\n## Demos\n\n1. Tile design – gallery/5_tile_design.l1\n    * needed functions:\n        1. Tile\n        1. GetDigit\n1. Other\n    * Iota\n    * RankUp, RankDown\n    * ArgMin, ArgMax\n    * StochasticGradientDescent\n    * Gradient\n    * Flow\n\n## Language\n* Operators for tensor\n    * equal = ==\n    * not equal !=\n    * less than <\n    * more than >\n    * less than or equal <=\n    * more than or equal >=\n\n## Wholeness\n\n1. Prelude\n    * because many things can be written in L1\n1. Traditional visualizations\n    * Plots\n        * What is the best plotting library?\n            * should be able to continuously redraw itself with new data\n        * What does TensorBoard use?\n        * line, bar, scatter, ..?\n        * `BarChart [0 1 2 3 4 5]`\n        * `LineChart [0 1 2 3 4 5]`\n        * `ScatterPlot [0 0, 1 1, 2 2, 3 3]` or `[0 1 2 3, 0 1 2 3]`\n        * `BarChart [0 1 2, 3 4 5]`\n        * `Chart { ... }`\n1. Router\n    * Must be hierarchical\n        * I don't know what that means right now.\n        * Can target part of the \"notebook\"?\n    * kind of relevant – import from other notebooks\n        * `:: #L1.#myNotebook.#rev111.functionOfInterest`\n        * `#L1` object will do the loading (maybe different name?)\n        * \"rev\" as from \"revision\" is unique version of the notebook\n            * content-hashes would be awesome, but ugly\n            * automatic numbering?\n            * user-defined version?\n1. How to directly compare two tensors?\n    * `a: Zeros [10], b: Ones [10]\n1. How to visualize high-rank tensors?\n    * 1D, 2D slices?\n\n## UX\n\n1. When there is a error, selection is not visible\n    * clashes with more than one error on the line\n        * grouping errors by line?\n1. Code completion provider which takes rootEnvironment as the source\n1. History\n    * what must be preserved (in state obj):\n        * scrollOffset in board\n        * scrollOffset in editor\n        * cursor position in editor\n1. working links in Markdown\n1. Broken visual cue for scrolling the board\n1. Correspondence between code and visualization\n    * Focus\n        * What part of visualization was generated by which part of the code?\n        * What code generates which part of the visualization?\n    * mockup would help and can be a good start\n\n\n## Crazy\n\n1. silent assignment folded by default?\n1. Markdown for error messages\n1. KaTeX for Markdown\n    * would be super-convenient\n1. Name resolution\n    * Capitalized names could be resolved from root\n        * or non-overideable through #meta\n    * Capitalized names could be resolved by abbreviations (as in Moniel)\n1. Tensors should be callable – indexing\n    * `a: [1 2 3], c: a[0] ; c = 1 :D`\n    * this way the second tensor is an address to the first one\n    * `source: [1 2, 3 4], indices: [0 0, 1 1], result: source(indices) ; result = [1 4]`\n    * this is the real shit!\n    * (and `@` can stay for matmul, yay!)\n1. `#render` (because of that \"Can I create AI in HTML?\" meme)\n```L1\n; mu: {\n;     #render: props => (\n;         <div>\n;             <span>{props.name}</span>\n;             <span>{props.surname}</span>\n;         </div>\n;     )\n; }\nmu: {\n    #state: {\n        name: \"John\"\n        surname: \"Doe\"\n    }\n    #render: props => (\n        {\n            tag: \"div\"\n            content: {\n                child1: {\n                    tag: \"span\"\n                    content: props.name\n                }\n                child2: {\n                    tag: \"span\"\n                    content: props.surname\n                }\n            }\n        }\n    )\n    #call: a => #render #state \n}\n\nhu: mu!\n\n\n```\n\n## Random\n* ::Self should be ::RTFM\n* allow ! and () as a lambda argument?\n* :: with expression\n    * eliminates cognitive friction\n    * empty string as a key\n        * (as a shorthand for #valueOf or #return?)\n        * user cannot use it before naming it – good\n        * is forced to have only one non-named prop – good\n\n## Bugs\n    * rendering an <Issue /> is leaking because Monaco does not notify DOMNode removal\n        * report issue in Monaco GitHub?\n\n# Open questions\n\n## How to mutate an existing object?\n\n1. Is it even necessary?\n1. Should it be allowed?\n1. When is it a good idea?\n\nWhat about this?\n\n```L1\nCounter: {\n    i: 0\n    increaseBy: x => {\n        i: i + x\n        increaseBy: x => { ; can't just ::increaseBy because of the wrong closure\n            i: i + x\n        }\n    }\n}\n\nCounter: Counter.increaseBy 7\nCounter: Counter.increaseBy 2\nCounter: Counter.increaseBy 1 ; does not scale\n\n; also, if Counter is shared, it won't work\n```\n\n### State object\nOne route may be having an explicit state object inside the normal object. State object could be mutated. However, there also needs to be a way to access parent/super/prototype object somehow...\n\n```L1\nCounter: {\n    #state: {\n        i: 0\n    }\n    increaseBy: x => {\n        #state.i: #state.i + x\n    }\n}\n\nmu1: Counter.increaseBy 3\nmu2: Counter.increaseBy 3\n```\n\nAnother approach:\n\n```L1\nCounter: {\n    #state: {\n        i: 0\n        ; internal fn\n        ; #call: newState => ()\n    }\n    increaseBy: x => #state {\n        i: #state.i + x\n    }\n}\n\nmu1: Counter.increaseBy 3\nmu2: Counter.increaseBy 3\n:: Counter.#state.i\n```\n\nSo far, there should be a way to modify super/proto object. But then L1 cease to be pure. Object should not be changed directly from outside by force. But it should be able to change itself when asked nicely.\n\n```L1\na: {\n    b: 22\n}\n; a.b: 23\na: a.#mutate {\n    b: 23\n}\n\n; looks really awful\n```\n\n# Links\n* [Haskell syntax](https://www.haskell.org/onlinereport/exps.html)\n* [Iterations in PEG](http://www.dalnefre.com/wp/2011/05/parsing-expression-grammars-part-4/)\n* [Continuations by example](http://matt.might.net/articles/programming-with-continuations--exceptions-backtracking-search-threads-generators-coroutines/)\n* [CPS in JS by example](http://matt.might.net/articles/by-example-continuation-passing-style/)\n* [EinSum](https://rockt.github.io/2018/04/30/einsum#fn.2)\n* [Firebase Cloud Fns](https://www.youtube.com/watch?v=prlK_QL_qOA)\n* [Something New](https://github.com/d-cook/SomethingNew)\n* [RxJS for mere mortal](https://stackoverflow.com/a/45227115)\n* [RxJS with React](https://medium.freecodecamp.org/how-to-build-a-github-search-in-react-with-rxjs-6-and-recompose-e9c6cc727e7f)\n* [hm](https://www.wired.com/2008/04/ff-wozniak/)\n* [geokit](https://rsnous.com/posts/notes-from-dynamicland-geokit/)\n* [Bohm](https://blogs.scientificamerican.com/cross-check/david-bohm-quantum-mechanics-and-enlightenment/)\n* [Kay](https://www.fastcompany.com/40435064/what-alan-kay-thinks-about-the-iphone-and-technology-now)\n* [Change detection](https://source.wustl.edu/2018/07/changedetection/)\n* [Notation](https://github.com/hypotext/notation)\n* [HCI](https://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed)\n* [Mu](https://www.quantamagazine.org/to-remember-the-brain-must-actively-forget-20180724/)\n* [Mu2](https://blogs.scientificamerican.com/observations/brain-gain-a-person-can-instantly-blossom-into-a-savant-and-no-one-knows-why/)\n* [Mu3](https://qz.com/1116991/a-biologist-believes-that-trees-speak-a-language-we-can-learn/)\n"
  },
  {
    "path": "latest/1.51c25ac0adacae5e02ff.worker.js",
    "content": "this.webpackChunk([1],{5:function(n,o){function e(n){var o=new Error(\"Cannot find module '\"+n+\"'\");throw o.code=\"MODULE_NOT_FOUND\",o}e.keys=function(){return[]},e.resolve=e,n.exports=e,e.id=5}});"
  },
  {
    "path": "latest/4.js",
    "content": "(this.webpackJsonp=this.webpackJsonp||[]).push([[4],{539:function(n,o){function e(n){var o=new Error(\"Cannot find module '\"+n+\"'\");throw o.code=\"MODULE_NOT_FOUND\",o}e.keys=function(){return[]},e.resolve=e,n.exports=e,e.id=539}}]);"
  },
  {
    "path": "latest/5.js",
    "content": "(this.webpackJsonp=this.webpackJsonp||[]).push([[5],{540:function(e,t,n){\"use strict\";n.r(t),n.d(t,\"conf\",function(){return o}),n.d(t,\"language\",function(){return c});var s=\"attribute.name.html\";var o={comments:{blockComment:[\"\\x3c!--\",\"--\\x3e\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\",notIn:[\"string\"]}],surroundingPairs:[{open:\"(\",close:\")\"},{open:\"[\",close:\"]\"},{open:\"`\",close:\"`\"}],folding:{markers:{start:new RegExp(\"^\\\\s*\\x3c!--\\\\s*#?region\\\\b.*--\\x3e\"),end:new RegExp(\"^\\\\s*\\x3c!--\\\\s*#?endregion\\\\b.*--\\x3e\")}}},c={defaultToken:\"\",tokenPostfix:\".md\",control:/[\\\\`*_\\[\\]{}()#+\\-\\.!]/,noncontrol:/[^\\\\`*_\\[\\]{}()#+\\-\\.!]/,escapes:/\\\\(?:@control)/,jsescapes:/\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:[\"area\",\"base\",\"basefont\",\"br\",\"col\",\"frame\",\"hr\",\"img\",\"input\",\"isindex\",\"link\",\"meta\",\"param\"],tokenizer:{root:[[/^(\\s{0,3})(#+)((?:[^\\\\#]|@escapes)+)((?:#+)?)/,[\"white\",\"keyword\",\"keyword\",\"keyword\"]],[/^\\s*(=+|\\-+)\\s*$/,\"keyword\"],[/^\\s*((\\*[ ]?)+)\\s*$/,\"meta.separator\"],[/^\\s*>+/,\"comment\"],[/^\\s*([\\*\\-+:]|\\d+\\.)\\s/,\"keyword\"],[/^(\\t|[ ]{4})[^ ].*$/,\"string\"],[/^\\s*~~~\\s*((?:\\w|[\\/\\-#])+)?\\s*$/,{token:\"string\",next:\"@codeblock\"}],[/^\\s*```\\s*((?:\\w|[\\/\\-#])+)\\s*$/,{token:\"string\",next:\"@codeblockgh\",nextEmbedded:\"$1\"}],[/^\\s*```\\s*$/,{token:\"string\",next:\"@codeblock\"}],{include:\"@linecontent\"}],codeblock:[[/^\\s*~~~\\s*$/,{token:\"string\",next:\"@pop\"}],[/^\\s*```\\s*$/,{token:\"string\",next:\"@pop\"}],[/.*$/,\"variable.source\"]],codeblockgh:[[/```\\s*$/,{token:\"variable.source\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^`]+/,\"variable.source\"]],linecontent:[[/&\\w+;/,\"string.escape\"],[/@escapes/,\"escape\"],[/\\b__([^\\\\_]|@escapes|_(?!_))+__\\b/,\"strong\"],[/\\*\\*([^\\\\*]|@escapes|\\*(?!\\*))+\\*\\*/,\"strong\"],[/\\b_[^_]+_\\b/,\"emphasis\"],[/\\*([^\\\\*]|@escapes)+\\*/,\"emphasis\"],[/`([^\\\\`]|@escapes)+`/,\"variable\"],[/\\{[^}]+\\}/,\"string.target\"],[/(!?\\[)((?:[^\\]\\\\]|@escapes)*)(\\]\\([^\\)]+\\))/,[\"string.link\",\"\",\"string.link\"]],[/(!?\\[)((?:[^\\]\\\\]|@escapes)*)(\\])/,\"string.link\"],{include:\"html\"}],html:[[/<(\\w+)\\/>/,\"tag\"],[/<(\\w+)/,{cases:{\"@empty\":{token:\"tag\",next:\"@tag.$1\"},\"@default\":{token:\"tag\",next:\"@tag.$1\"}}}],[/<\\/(\\w+)\\s*>/,{token:\"tag\"}],[/<!--/,\"comment\",\"@comment\"]],comment:[[/[^<\\-]+/,\"comment.content\"],[/-->/,\"comment\",\"@pop\"],[/<!--/,\"comment.content.invalid\"],[/[<\\-]/,\"comment.content\"]],tag:[[/[ \\t\\r\\n]+/,\"white\"],[/(type)(\\s*=\\s*)(\")([^\"]+)(\")/,[s,\"delimiter.html\",\"string.html\",{token:\"string.html\",switchTo:\"@tag.$S2.$4\"},\"string.html\"]],[/(type)(\\s*=\\s*)(')([^']+)(')/,[s,\"delimiter.html\",\"string.html\",{token:\"string.html\",switchTo:\"@tag.$S2.$4\"},\"string.html\"]],[/(\\w+)(\\s*=\\s*)(\"[^\"]*\"|'[^']*')/,[s,\"delimiter.html\",\"string.html\"]],[/\\w+/,s],[/\\/>/,\"tag\",\"@pop\"],[/>/,{cases:{\"$S2==style\":{token:\"tag\",switchTo:\"embeddedStyle\",nextEmbedded:\"text/css\"},\"$S2==script\":{cases:{$S3:{token:\"tag\",switchTo:\"embeddedScript\",nextEmbedded:\"$S3\"},\"@default\":{token:\"tag\",switchTo:\"embeddedScript\",nextEmbedded:\"text/javascript\"}}},\"@default\":{token:\"tag\",next:\"@pop\"}}}]],embeddedStyle:[[/[^<]+/,\"\"],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/</,\"\"]],embeddedScript:[[/[^<]+/,\"\"],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/</,\"\"]]}}}}]);"
  },
  {
    "path": "latest/51c25ac0adacae5e02ff.worker.js",
    "content": "!function(e){this.webpackChunk=function(t,n){for(var r in n)e[r]=n[r];for(;t.length;)P[t.pop()]=1};var t=this.webpackHotUpdate;this.webpackHotUpdate=function(e,n){!function(e,t){if(!b[e]||!y[e])return;for(var n in y[e]=!1,t)Object.prototype.hasOwnProperty.call(t,n)&&(d[n]=t[n]);0==--_&&0===g&&N()}(e,n),t&&t(e,n)};var n,r=!0,i=\"51c25ac0adacae5e02ff\",o=1e4,s={},u=[],a=[];function l(e){var t=w[e];if(!t)return A;var r=function(r){return t.hot.active?(w[r]?-1===w[r].parents.indexOf(e)&&w[r].parents.push(e):(u=[e],n=r),-1===t.children.indexOf(r)&&t.children.push(r)):(console.warn(\"[HMR] unexpected require(\"+r+\") from disposed module \"+e),u=[]),A(r)},i=function(e){return{configurable:!0,enumerable:!0,get:function(){return A[e]},set:function(t){A[e]=t}}};for(var o in A)Object.prototype.hasOwnProperty.call(A,o)&&\"e\"!==o&&\"t\"!==o&&Object.defineProperty(r,o,i(o));return r.e=function(e){return\"ready\"===h&&f(\"prepare\"),g++,A.e(e).then(t,function(e){throw t(),e});function t(){g--,\"prepare\"===h&&(v[e]||E(e),0===g&&0===_&&N())}},r.t=function(e,t){return 1&t&&(e=r(e)),A.t(e,-2&t)},r}var c=[],h=\"idle\";function f(e){h=e;for(var t=0;t<c.length;t++)c[t].call(null,e)}var p,d,m,_=0,g=0,v={},y={},b={};function C(e){return+e+\"\"===e?+e:e}function S(e){if(\"idle\"!==h)throw new Error(\"check() is only allowed in idle status\");return r=e,f(\"check\"),(t=o,t=t||1e4,new Promise(function(e,n){if(\"undefined\"==typeof XMLHttpRequest)return n(new Error(\"No browser support\"));try{var r=new XMLHttpRequest,o=A.p+\"\"+i+\".hot-update.json\";r.open(\"GET\",o,!0),r.timeout=t,r.send(null)}catch(e){return n(e)}r.onreadystatechange=function(){if(4===r.readyState)if(0===r.status)n(new Error(\"Manifest request to \"+o+\" timed out.\"));else if(404===r.status)e();else if(200!==r.status&&304!==r.status)n(new Error(\"Manifest request to \"+o+\" failed.\"));else{try{var t=JSON.parse(r.responseText)}catch(e){return void n(e)}e(t)}}})).then(function(e){if(!e)return f(\"idle\"),null;y={},v={},b=e.c,m=e.h,f(\"prepare\");var t=new Promise(function(e,t){p={resolve:e,reject:t}});for(var n in d={},P)E(n);return\"prepare\"===h&&0===g&&0===_&&N(),t});var t}function E(e){b[e]?(y[e]=!0,_++,function(e){importScripts(A.p+\"\"+e+\".\"+i+\".hot-update.js\")}(e)):v[e]=!0}function N(){f(\"ready\");var e=p;if(p=null,e)if(r)Promise.resolve().then(function(){return L(r)}).then(function(t){e.resolve(t)},function(t){e.reject(t)});else{var t=[];for(var n in d)Object.prototype.hasOwnProperty.call(d,n)&&t.push(C(n));e.resolve(t)}}function L(t){if(\"ready\"!==h)throw new Error(\"apply() is only allowed in ready status\");var n,r,o,a,l;function c(e){for(var t=[e],n={},r=t.slice().map(function(e){return{chain:[e],id:e}});r.length>0;){var i=r.pop(),o=i.id,s=i.chain;if((a=w[o])&&!a.hot._selfAccepted){if(a.hot._selfDeclined)return{type:\"self-declined\",chain:s,moduleId:o};if(a.hot._main)return{type:\"unaccepted\",chain:s,moduleId:o};for(var u=0;u<a.parents.length;u++){var l=a.parents[u],c=w[l];if(c){if(c.hot._declinedDependencies[o])return{type:\"declined\",chain:s.concat([l]),moduleId:o,parentId:l};-1===t.indexOf(l)&&(c.hot._acceptedDependencies[o]?(n[l]||(n[l]=[]),p(n[l],[o])):(delete n[l],t.push(l),r.push({chain:s.concat([l]),id:l})))}}}}return{type:\"accepted\",moduleId:e,outdatedModules:t,outdatedDependencies:n}}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];-1===e.indexOf(r)&&e.push(r)}}t=t||{};var _={},g=[],v={},y=function(){console.warn(\"[HMR] unexpected require(\"+E.moduleId+\") to disposed module\")};for(var S in d)if(Object.prototype.hasOwnProperty.call(d,S)){var E;l=C(S);var N=!1,L=!1,x=!1,O=\"\";switch((E=d[S]?c(l):{type:\"disposed\",moduleId:S}).chain&&(O=\"\\nUpdate propagation: \"+E.chain.join(\" -> \")),E.type){case\"self-declined\":t.onDeclined&&t.onDeclined(E),t.ignoreDeclined||(N=new Error(\"Aborted because of self decline: \"+E.moduleId+O));break;case\"declined\":t.onDeclined&&t.onDeclined(E),t.ignoreDeclined||(N=new Error(\"Aborted because of declined dependency: \"+E.moduleId+\" in \"+E.parentId+O));break;case\"unaccepted\":t.onUnaccepted&&t.onUnaccepted(E),t.ignoreUnaccepted||(N=new Error(\"Aborted because \"+l+\" is not accepted\"+O));break;case\"accepted\":t.onAccepted&&t.onAccepted(E),L=!0;break;case\"disposed\":t.onDisposed&&t.onDisposed(E),x=!0;break;default:throw new Error(\"Unexception type \"+E.type)}if(N)return f(\"abort\"),Promise.reject(N);if(L)for(l in v[l]=d[l],p(g,E.outdatedModules),E.outdatedDependencies)Object.prototype.hasOwnProperty.call(E.outdatedDependencies,l)&&(_[l]||(_[l]=[]),p(_[l],E.outdatedDependencies[l]));x&&(p(g,[E.moduleId]),v[l]=y)}var k,M=[];for(r=0;r<g.length;r++)l=g[r],w[l]&&w[l].hot._selfAccepted&&M.push({module:l,errorHandler:w[l].hot._selfAccepted});f(\"dispose\"),Object.keys(b).forEach(function(e){!1===b[e]&&function(e){delete P[e]}(e)});for(var I,D,T=g.slice();T.length>0;)if(l=T.pop(),a=w[l]){var U={},R=a.hot._disposeHandlers;for(o=0;o<R.length;o++)(n=R[o])(U);for(s[l]=U,a.hot.active=!1,delete w[l],delete _[l],o=0;o<a.children.length;o++){var K=w[a.children[o]];K&&((k=K.parents.indexOf(l))>=0&&K.parents.splice(k,1))}}for(l in _)if(Object.prototype.hasOwnProperty.call(_,l)&&(a=w[l]))for(D=_[l],o=0;o<D.length;o++)I=D[o],(k=a.children.indexOf(I))>=0&&a.children.splice(k,1);for(l in f(\"apply\"),i=m,v)Object.prototype.hasOwnProperty.call(v,l)&&(e[l]=v[l]);var j=null;for(l in _)if(Object.prototype.hasOwnProperty.call(_,l)&&(a=w[l])){D=_[l];var q=[];for(r=0;r<D.length;r++)if(I=D[r],n=a.hot._acceptedDependencies[I]){if(-1!==q.indexOf(n))continue;q.push(n)}for(r=0;r<q.length;r++){n=q[r];try{n(D)}catch(e){t.onErrored&&t.onErrored({type:\"accept-errored\",moduleId:l,dependencyId:D[r],error:e}),t.ignoreErrored||j||(j=e)}}}for(r=0;r<M.length;r++){var F=M[r];l=F.module,u=[l];try{A(l)}catch(e){if(\"function\"==typeof F.errorHandler)try{F.errorHandler(e)}catch(n){t.onErrored&&t.onErrored({type:\"self-accept-error-handler-errored\",moduleId:l,error:n,originalError:e}),t.ignoreErrored||j||(j=n),j||(j=e)}else t.onErrored&&t.onErrored({type:\"self-accept-errored\",moduleId:l,error:e}),t.ignoreErrored||j||(j=e)}}return j?(f(\"fail\"),Promise.reject(j)):(f(\"idle\"),new Promise(function(e){e(g)}))}var w={},P={0:1};function A(t){if(w[t])return w[t].exports;var r=w[t]={i:t,l:!1,exports:{},hot:function(e){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:n!==e,active:!0,accept:function(e,n){if(void 0===e)t._selfAccepted=!0;else if(\"function\"==typeof e)t._selfAccepted=e;else if(\"object\"==typeof e)for(var r=0;r<e.length;r++)t._acceptedDependencies[e[r]]=n||function(){};else t._acceptedDependencies[e]=n||function(){}},decline:function(e){if(void 0===e)t._selfDeclined=!0;else if(\"object\"==typeof e)for(var n=0;n<e.length;n++)t._declinedDependencies[e[n]]=!0;else t._declinedDependencies[e]=!0},dispose:function(e){t._disposeHandlers.push(e)},addDisposeHandler:function(e){t._disposeHandlers.push(e)},removeDisposeHandler:function(e){var n=t._disposeHandlers.indexOf(e);n>=0&&t._disposeHandlers.splice(n,1)},check:S,apply:L,status:function(e){if(!e)return h;c.push(e)},addStatusHandler:function(e){c.push(e)},removeStatusHandler:function(e){var t=c.indexOf(e);t>=0&&c.splice(t,1)},data:s[e]};return n=void 0,t}(t),parents:(a=u,u=[],a),children:[]};return e[t].call(r.exports,r,r.exports,l(t)),r.l=!0,r.exports}A.e=function(e){var t=[];return t.push(Promise.resolve().then(function(){P[e]||importScripts(e+\".\"+i+\".worker.js\")})),Promise.all(t)},A.m=e,A.c=w,A.d=function(e,t,n){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},A.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(A.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)A.d(n,r,function(t){return e[t]}.bind(null,r));return n},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,\"a\",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p=\"\",A.h=function(){return i},l(4)(A.s=4)}([function(e,t,n){\"use strict\";(function(e,r){var i;n.d(t,\"a\",function(){return o}),n.d(t,\"b\",function(){return s}),function(){var t=Object.create(null);t[\"WinJS/Core/_WinJS\"]={};var n=function(e,n,r){var i={},o=!1,s=n.map(function(e){return\"exports\"===e?(o=!0,i):t[e]}),u=r.apply({},s);t[e]=o?i:u};n(\"WinJS/Core/_Global\",[],function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:void 0!==e?e:{}}),n(\"WinJS/Core/_BaseCoreUtils\",[\"WinJS/Core/_Global\"],function(e){var t=null;return{hasWinRT:!!e.Windows,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:function(n){null===t&&(t=e.setImmediate?e.setImmediate.bind(e):void 0!==r&&\"function\"==typeof r.nextTick?r.nextTick.bind(r):e.setTimeout.bind(e)),t(n)}}}),n(\"WinJS/Core/_WriteProfilerMark\",[\"WinJS/Core/_Global\"],function(e){return e.msWriteProfilerMark||function(){}}),n(\"WinJS/Core/_Base\",[\"WinJS/Core/_WinJS\",\"WinJS/Core/_Global\",\"WinJS/Core/_BaseCoreUtils\",\"WinJS/Core/_WriteProfilerMark\"],function(e,t,n,r){function i(e,t,n){var r,i,o,s=Object.keys(t),u=Array.isArray(e);for(i=0,o=s.length;i<o;i++){var a=s[i],l=95!==a.charCodeAt(0),c=t[a];!c||\"object\"!=typeof c||void 0===c.value&&\"function\"!=typeof c.get&&\"function\"!=typeof c.set?l?u?e.forEach(function(e){e[a]=c}):e[a]=c:(r=r||{})[a]={value:c,enumerable:l,configurable:!0,writable:!0}:(void 0===c.enumerable&&(c.enumerable=l),n&&c.setName&&\"function\"==typeof c.setName&&c.setName(n+\".\"+a),(r=r||{})[a]=c)}r&&(u?e.forEach(function(e){Object.defineProperties(e,r)}):Object.defineProperties(e,r))}return function(){var n=e;function o(n,r){var i=n||{};if(r){var o=r.split(\".\");i===t&&\"WinJS\"===o[0]&&(i=e,o.splice(0,1));for(var s=0,u=o.length;s<u;s++){var a=o[s];i[a]||Object.defineProperty(i,a,{value:{},writable:!1,enumerable:!0,configurable:!0}),i=i[a]}}return i}function s(e,t,n){var r=o(e,t);return n&&i(r,n,t||\"<ANONYMOUS>\"),r}n.Namespace||(n.Namespace=Object.create(Object.prototype));var u={uninitialized:1,working:2,initialized:3};Object.defineProperties(n.Namespace,{defineWithParent:{value:s,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,n){return s(t,e,n)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,n,i=u.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case u.initialized:return n;case u.uninitialized:i=u.working;try{r(\"WinJS.Namespace._lazy:\"+t+\",StartTM\"),n=e()}finally{r(\"WinJS.Namespace._lazy:\"+t+\",StopTM\"),i=u.uninitialized}return e=null,i=u.initialized,n;case u.working:throw\"Illegal: reentrancy on initialization\";default:throw\"Illegal\"}},set:function(e){switch(i){case u.working:throw\"Illegal: reentrancy on initialization\";default:i=u.initialized,n=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,n,r){var s=[e],u=null;return n&&(u=o(t,n),s.push(u)),i(s,r,n||\"<ANONYMOUS>\"),u},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,r){return e=e||function(){},n.markSupportedForProcessing(e),t&&i(e.prototype,t),r&&i(e,r),e}e.Namespace.define(\"WinJS.Class\",{define:t,derive:function(e,r,o,s){if(e){r=r||function(){};var u=e.prototype;return r.prototype=Object.create(u),n.markSupportedForProcessing(r),Object.defineProperty(r.prototype,\"constructor\",{value:r,writable:!0,configurable:!0,enumerable:!0}),o&&i(r.prototype,o),s&&i(r,s),r}return t(r,o,s)},mix:function(e){var t,n;for(e=e||function(){},t=1,n=arguments.length;t<n;t++)i(e.prototype,arguments[t]);return e}})}(),{Namespace:e.Namespace,Class:e.Class}}),n(\"WinJS/Core/_ErrorFromName\",[\"WinJS/Core/_Base\"],function(e){var t=e.Class.derive(Error,function(e,t){this.name=e,this.message=t||e},{},{supportedForProcessing:!1});return e.Namespace.define(\"WinJS\",{ErrorFromName:t}),t}),n(\"WinJS/Core/_Events\",[\"exports\",\"WinJS/Core/_Base\"],function(e,t){function n(e){var t=\"_on\"+e+\"state\";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(n){var r=this[t];n?(r||(r={wrapper:function(e){return r.userHandler(e)},userHandler:n},Object.defineProperty(this,t,{value:r,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,r.wrapper,!1)),r.userHandler=n):r&&(this.removeEventListener(e,r.wrapper,!1),this[t]=null)},enumerable:!0}}var r=t.Class.define(function(e,t,n){this.detail=t,this.target=n,this.timeStamp=Date.now(),this.type=e},{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),i={_listeners:null,addEventListener:function(e,t,n){n=n||!1,this._listeners=this._listeners||{};for(var r=this._listeners[e]=this._listeners[e]||[],i=0,o=r.length;i<o;i++){var s=r[i];if(s.useCapture===n&&s.listener===t)return}r.push({listener:t,useCapture:n})},dispatchEvent:function(e,t){var n=this._listeners&&this._listeners[e];if(n){for(var i=new r(e,t,this),o=0,s=(n=n.slice(0,n.length)).length;o<s&&!i._stopImmediatePropagationCalled;o++)n[o].listener(i);return i.defaultPrevented||!1}return!1},removeEventListener:function(e,t,n){n=n||!1;var r=this._listeners&&this._listeners[e];if(r)for(var i=0,o=r.length;i<o;i++){var s=r[i];if(s.listener===t&&s.useCapture===n){r.splice(i,1),0===r.length&&delete this._listeners[e];break}}}};t.Namespace._moduleDefine(e,\"WinJS.Utilities\",{_createEventProperty:n,createEventProperties:function(){for(var e={},t=0,r=arguments.length;t<r;t++){var i=arguments[t];e[\"on\"+i]=n(i)}return e},eventMixin:i})}),n(\"WinJS/Core/_Trace\",[\"WinJS/Core/_Global\"],function(e){function t(e){return e}return{_traceAsyncOperationStarting:e.Debug&&e.Debug.msTraceAsyncOperationStarting&&e.Debug.msTraceAsyncOperationStarting.bind(e.Debug)||t,_traceAsyncOperationCompleted:e.Debug&&e.Debug.msTraceAsyncOperationCompleted&&e.Debug.msTraceAsyncOperationCompleted.bind(e.Debug)||t,_traceAsyncCallbackStarting:e.Debug&&e.Debug.msTraceAsyncCallbackStarting&&e.Debug.msTraceAsyncCallbackStarting.bind(e.Debug)||t,_traceAsyncCallbackCompleted:e.Debug&&e.Debug.msTraceAsyncCallbackCompleted&&e.Debug.msTraceAsyncCallbackCompleted.bind(e.Debug)||t}}),n(\"WinJS/Promise/_StateMachine\",[\"WinJS/Core/_Global\",\"WinJS/Core/_BaseCoreUtils\",\"WinJS/Core/_Base\",\"WinJS/Core/_ErrorFromName\",\"WinJS/Core/_Events\",\"WinJS/Core/_Trace\"],function(e,t,n,r,i,o){e.Debug&&(e.Debug.setNonUserCodeExceptions=!0);var s=new(n.Class.mix(n.Class.define(null,{},{supportedForProcessing:!1}),i.eventMixin));s._listeners={};var u=\"error\",a=\"Canceled\",l=!1,c={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};c.all=c.promise|c.thenPromise|c.errorPromise|c.exceptionPromise|c.completePromise;var h,f,p,d,m,_,g,v,y,b,C=1;function S(){}h={name:\"created\",enter:function(e){e._setState(f)},cancel:S,done:S,then:S,_completed:S,_error:S,_notify:S,_progress:S,_setCompleteValue:S,_setErrorValue:S},f={name:\"working\",enter:S,cancel:function(e){e._setState(m)},done:O,then:q,_completed:N,_error:k,_notify:S,_progress:T,_setCompleteValue:j,_setErrorValue:K},p={name:\"waiting\",enter:function(e){var t=e._value;if(t instanceof V&&t._state!==b&&t._state!==v)U(t,{promise:e});else{var n=function(r){t._errorId?e._chainedError(r,t):(D(e,r,w,t,n),e._error(r))};n.handlesOnError=!0,t.then(e._completed.bind(e),n,e._progress.bind(e))}},cancel:function(e){e._setState(d)},done:O,then:q,_completed:N,_error:k,_notify:S,_progress:T,_setCompleteValue:j,_setErrorValue:K},d={name:\"waiting_canceled\",enter:function(e){e._setState(_);var t=e._value;t.cancel&&t.cancel()},cancel:S,done:O,then:q,_completed:N,_error:k,_notify:S,_progress:T,_setCompleteValue:j,_setErrorValue:K},m={name:\"canceled\",enter:function(e){e._setState(_),e._cancelAction()},cancel:S,done:O,then:q,_completed:N,_error:k,_notify:S,_progress:T,_setCompleteValue:j,_setErrorValue:K},_={name:\"canceling\",enter:function(e){var t=new Error(a);t.name=t.message,e._value=t,e._setState(y)},cancel:S,done:S,then:S,_completed:S,_error:S,_notify:S,_progress:S,_setCompleteValue:S,_setErrorValue:S},g={name:\"complete_notify\",enter:function(e){if(e.done=H.prototype.done,e.then=H.prototype.then,e._listeners)for(var t,n=[e];n.length;)(t=n.shift())._state._notify(t,n);e._setState(v)},cancel:S,done:null,then:null,_completed:S,_error:S,_notify:M,_progress:S,_setCompleteValue:S,_setErrorValue:S},v={name:\"success\",enter:function(e){e.done=H.prototype.done,e.then=H.prototype.then,e._cleanupAction()},cancel:S,done:null,then:null,_completed:S,_error:S,_notify:M,_progress:S,_setCompleteValue:S,_setErrorValue:S},y={name:\"error_notify\",enter:function(e){if(e.done=W.prototype.done,e.then=W.prototype.then,e._listeners)for(var t,n=[e];n.length;)(t=n.shift())._state._notify(t,n);e._setState(b)},cancel:S,done:null,then:null,_completed:S,_error:S,_notify:I,_progress:S,_setCompleteValue:S,_setErrorValue:S},b={name:\"error\",enter:function(e){e.done=W.prototype.done,e.then=W.prototype.then,e._cleanupAction()},cancel:S,done:null,then:null,_completed:S,_error:S,_notify:I,_progress:S,_setCompleteValue:S,_setErrorValue:S};var E=n.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,n){this._state.done(this,e,t,n)},then:function(e,t,n){return this._state.then(this,e,t,n)},_chainedError:function(e,t){var n=this._state._error(this,e,P,t);return this._run(),n},_completed:function(e){var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,A);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var n=this._state._setErrorValue(this,e,P,t);return this._run(),n},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,x);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1});function N(e,t){var n;n=t&&\"object\"==typeof t&&\"function\"==typeof t.then?p:g,e._value=t,e._setState(n)}function L(e,t,n,r,i,o){return{exception:e,error:t,promise:n,handler:o,id:r,parent:i}}function w(e,t,n,r){var i=n._isException,o=n._errorId;return L(i?t:null,i?null:t,e,o,n,r)}function P(e,t,n){var r=n._isException,i=n._errorId;return R(e,i,r),L(r?t:null,r?null:t,e,i,n)}function A(e,t){var n=++C;return R(e,n),L(null,t,e,n)}function x(e,t){var n=++C;return R(e,n,!0),L(t,null,e,n)}function O(e,t,n,r){U(e,{c:t,e:n,p:r,asyncOpID:o._traceAsyncOperationStarting(\"WinJS.Promise.done\")})}function k(e,t,n,r){e._value=t,D(e,t,n,r),e._setState(y)}function M(t,n){var r,i,s=t._value,u=t._listeners;if(u)for(t._listeners=null,r=0,i=Array.isArray(u)?u.length:1;r<i;r++){var a=1===i?u:u[r],l=a.c,c=a.promise;if(o._traceAsyncOperationCompleted(a.asyncOpID,e.Debug&&e.Debug.MS_ASYNC_OP_STATUS_SUCCESS),c){o._traceAsyncCallbackStarting(a.asyncOpID);try{c._setCompleteValue(l?l(s):s)}catch(e){c._setExceptionValue(e)}finally{o._traceAsyncCallbackCompleted()}c._state!==p&&c._listeners&&n.push(c)}else H.prototype.done.call(t,l)}}function I(t,n){var r,i,s=t._value,u=t._listeners;if(u)for(t._listeners=null,r=0,i=Array.isArray(u)?u.length:1;r<i;r++){var l=1===i?u:u[r],c=l.e,h=l.promise,f=e.Debug&&(s&&s.name===a?e.Debug.MS_ASYNC_OP_STATUS_CANCELED:e.Debug.MS_ASYNC_OP_STATUS_ERROR);if(o._traceAsyncOperationCompleted(l.asyncOpID,f),h){var d=!1;try{c?(o._traceAsyncCallbackStarting(l.asyncOpID),d=!0,c.handlesOnError||D(h,s,w,t,c),h._setCompleteValue(c(s))):h._setChainedErrorValue(s,t)}catch(e){h._setExceptionValue(e)}finally{d&&o._traceAsyncCallbackCompleted()}h._state!==p&&h._listeners&&n.push(h)}else W.prototype.done.call(t,null,c)}}function D(e,t,n,r,i){if(s._listeners[u]){if(t instanceof Error&&t.message===a)return;s.dispatchEvent(u,n(e,t,r,i))}}function T(e,t){var n,r,i=e._listeners;if(i)for(n=0,r=Array.isArray(i)?i.length:1;n<r;n++){var o=1===r?i:i[n],s=o.p;if(s)try{s(t)}catch(e){}o.c||o.e||!o.promise||o.promise._progress(t)}}function U(e,t){var n=e._listeners;n?(n=Array.isArray(n)?n:[n]).push(t):n=t,e._listeners=n}function R(e,t,n){e._isException=n||!1,e._errorId=t}function K(e,t,n,r){e._value=t,D(e,t,n,r),e._setState(b)}function j(e,t){var n;n=t&&\"object\"==typeof t&&\"function\"==typeof t.then?p:v,e._value=t,e._setState(n)}function q(e,t,n,r){var i=new V(e);return U(e,{promise:i,c:t,e:n,p:r,asyncOpID:o._traceAsyncOperationStarting(\"WinJS.Promise.then\")}),i}var F,V=n.Class.derive(E,function(e){l&&(!0===l||l&c.thenPromise)&&(this._stack=B._getStack()),this._creator=e,this._setState(h),this._run()},{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),W=n.Class.define(function(e){l&&(!0===l||l&c.errorPromise)&&(this._stack=B._getStack()),this._value=e,D(this,e,A)},{cancel:function(){},done:function(e,t){var n=this._value;if(t)try{t.handlesOnError||D(null,n,w,this,t);var r=t(n);return void(r&&\"object\"==typeof r&&\"function\"==typeof r.done&&r.done())}catch(e){n=e}n instanceof Error&&n.message===a||B._doneHandler(n)},then:function(e,t){if(!t)return this;var n,r=this._value;try{t.handlesOnError||D(null,r,w,this,t),n=new H(t(r))}catch(e){n=e===r?this:new Y(e)}return n}},{supportedForProcessing:!1}),Y=n.Class.derive(W,function(e){l&&(!0===l||l&c.exceptionPromise)&&(this._stack=B._getStack()),this._value=e,D(this,e,x)},{},{supportedForProcessing:!1}),H=n.Class.define(function(e){if(l&&(!0===l||l&c.completePromise)&&(this._stack=B._getStack()),e&&\"object\"==typeof e&&\"function\"==typeof e.then){var t=new V(null);return t._setCompleteValue(e),t}this._value=e},{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&\"object\"==typeof t&&\"function\"==typeof t.done&&t.done()}catch(e){B._doneHandler(e)}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new H(t)}catch(e){return new Y(e)}}},{supportedForProcessing:!1});var B=n.Class.derive(E,function(e,t){l&&(!0===l||l&c.promise)&&(this._stack=B._getStack()),this._oncancel=t,this._setState(h),this._run();try{e(this._completed.bind(this),this._error.bind(this),this._progress.bind(this))}catch(e){this._setExceptionValue(e)}},{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error(\"Promise did not implement oncancel\");this._oncancel()}catch(e){e.message,e.stack;s.dispatchEvent(\"error\",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,n){s.addEventListener(e,t,n)},any:function(e){return new B(function(t,n){var r=Object.keys(e);0===r.length&&t();var i=0;r.forEach(function(o){B.as(e[o]).then(function(){t({key:o,value:e[o]})},function(s){s instanceof Error&&s.name===a?++i===r.length&&t(B.cancel):n({key:o,value:e[o]})})})},function(){Object.keys(e).forEach(function(t){var n=B.as(e[t]);\"function\"==typeof n.cancel&&n.cancel()})})},as:function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.then?e:new H(e)},cancel:{get:function(){return F=F||new W(new r(a))}},dispatchEvent:function(e,t){return s.dispatchEvent(e,t)},is:function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.then},join:function(e){return new B(function(t,n,r){var i=Object.keys(e),o=Array.isArray(e)?[]:{},s=Array.isArray(e)?[]:{},u=0,l=i.length,c=function(e){if(0==--l){var u=Object.keys(o).length;if(0===u)t(s);else{var c=0;i.forEach(function(e){var t=o[e];t instanceof Error&&t.name===a&&c++}),c===u?t(B.cancel):n(o)}}else r({Key:e,Done:!0})};i.forEach(function(t){var n=e[t];void 0===n?u++:B.then(n,function(e){s[t]=e,c(t)},function(e){o[t]=e,c(t)})}),0!==(l-=u)||t(s)},function(){Object.keys(e).forEach(function(t){var n=B.as(e[t]);\"function\"==typeof n.cancel&&n.cancel()})})},removeEventListener:function(e,t,n){s.removeEventListener(e,t,n)},supportedForProcessing:!1,then:function(e,t,n,r){return B.as(e).then(t,n,r)},thenEach:function(e,t,n,r){var i=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(o){i[o]=B.as(e[o]).then(t,n,r)}),B.join(i)},timeout:function(n,r){var i,o,s=(i=n,new B(function(n){i?o=e.setTimeout(n,i):t._setImmediate(n)},function(){o&&e.clearTimeout(o)}));return r?function(e,t){var n=function(){e.cancel()};return e.then(function(){t.cancel()}),t.then(n,n),t}(s,r):s},wrap:function(e){return new H(e)},wrapError:function(e){return new W(e)},_veryExpensiveTagWithStack:{get:function(){return l},set:function(e){l=e}},_veryExpensiveTagWithStack_tag:c,_getStack:function(){if(e.Debug&&e.Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}},_cancelBlocker:function(e,t){if(!B.is(e))return B.wrap(e);var n,r,i=new B(function(e,t){n=e,r=t},function(){n=null,r=null,t&&t()});return e.then(function(e){n&&n(e)},function(e){r&&r(e)}),i}});return Object.defineProperties(B,i.createEventProperties(u)),B._doneHandler=function(e){t._setImmediate(function(){throw e})},{PromiseStateMachine:E,Promise:B,state_created:h}}),n(\"WinJS/Promise\",[\"WinJS/Core/_Base\",\"WinJS/Promise/_StateMachine\"],function(e,t){return e.Namespace.define(\"WinJS\",{Promise:t.Promise}),t.Promise}),(i=t[\"WinJS/Core/_WinJS\"]).TPromise=i.Promise,i.PPromise=i.Promise}();var o=i.Promise,s=i.TPromise;i.PPromise}).call(this,n(3),n(2))},function(e,t,n){\"use strict\";(function(e,r){n.d(t,\"c\",function(){return d}),n.d(t,\"b\",function(){return m}),n.d(t,\"a\",function(){return _});var i,o=!1,s=!1,u=!1,a=!1,l=!1;if(\"object\"==typeof e&&\"function\"==typeof e.nextTick&&\"string\"==typeof e.platform){o=\"win32\"===e.platform,s=\"darwin\"===e.platform,u=\"linux\"===e.platform;var c=e.env.VSCODE_NLS_CONFIG;if(c)try{var h=JSON.parse(c),f=h.availableLanguages[\"*\"];h.locale,f||\"en\",h._translationsConfigFile}catch(e){}a=!0}else if(\"object\"==typeof navigator){var p=navigator.userAgent;o=p.indexOf(\"Windows\")>=0,s=p.indexOf(\"Macintosh\")>=0,u=p.indexOf(\"Linux\")>=0,l=!0,navigator.language}!function(e){e[e.Web=0]=\"Web\",e[e.Mac=1]=\"Mac\",e[e.Linux=2]=\"Linux\",e[e.Windows=3]=\"Windows\"}(i||(i={}));i.Web;a&&(s?i.Mac:o?i.Windows:u&&i.Linux);var d=o,m=l;var _=\"object\"==typeof self?self:\"object\"==typeof r?r:{}}).call(this,n(2),n(3))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r=\"function\"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var a,l=[],c=!1,h=-1;function f(){c&&a&&(c=!1,a.length?l=a.concat(l):h=-1,l.length&&p())}function p(){if(!c){var e=u(f);c=!0;for(var t=l.length;t;){for(a=l,l=[];++h<t;)a&&a[h].run();h=-1,t=l.length}a=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new d(e,t)),1!==l.length||c||u(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";n.r(t);var r,i=n(1),o=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});function s(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()}function u(e){return encodeURIComponent(e).replace(/[!'()*]/g,s)}function a(e){return e.replace(/[#?]/,s)}var l=/^\\w[\\w\\d+.-]*$/,c=/^\\//,h=/^\\/\\//;var f=\"\",p=\"/\",d=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/,m=/^\\/[a-zA-Z]:/,_=/^(\\/)?([A-Z]:)/,g=/^[a-zA-Z]:/,v=function(){function e(e,t,n,r,i){\"object\"==typeof e?(this.scheme=e.scheme||f,this.authority=e.authority||f,this.path=e.path||f,this.query=e.query||f,this.fragment=e.fragment||f):(this.scheme=e||f,this.authority=t||f,this.path=n||f,this.query=r||f,this.fragment=i||f,function(e){if(e.scheme&&!l.test(e.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(h.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}(this))}return e.isUri=function(t){return t instanceof e||!!t&&(\"string\"==typeof t.authority&&\"string\"==typeof t.fragment&&\"string\"==typeof t.path&&\"string\"==typeof t.query&&\"string\"==typeof t.scheme)},Object.defineProperty(e.prototype,\"fsPath\",{get:function(){return C(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=f),void 0===n?n=this.authority:null===n&&(n=f),void 0===r?r=this.path:null===r&&(r=f),void 0===i?i=this.query:null===i&&(i=f),void 0===o?o=this.fragment:null===o&&(o=f),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new b(t,n,r,i,o)},e.parse=function(e){var t=d.exec(e);return t?new b(t[2]||f,decodeURIComponent(t[4]||f),decodeURIComponent(t[5]||f),decodeURIComponent(t[7]||f),decodeURIComponent(t[9]||f)):new b(f,f,f,f,f)},e.file=function(e){var t=f;if(i.c&&(e=e.replace(/\\\\/g,p)),e[0]===p&&e[1]===p){var n=e.indexOf(p,2);-1===n?(t=e.substring(2),e=p):(t=e.substring(2,n),e=e.substring(n)||p)}return g.test(e)?e=p+e:e[0]!==p&&(e=p+e),new b(\"file\",t,e,f,f)},e.from=function(e){return new b(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),S(this,e)},e.prototype.toJSON=function(){var e={$mid:1,fsPath:this.fsPath,external:this.toString()};return this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new b(t);return n._fsPath=t.fsPath,n._formatted=t.external,n}return t},e}(),y=v,b=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return o(t,e),Object.defineProperty(t.prototype,\"fsPath\",{get:function(){return this._fsPath||(this._fsPath=C(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?S(this,!0):(this._formatted||(this._formatted=S(this,!1)),this._formatted)},t}(v);function C(e){var t;return t=e.authority&&e.path&&\"file\"===e.scheme?\"//\"+e.authority+e.path:m.test(e.path)?e.path[1].toLowerCase()+e.path.substr(2):e.path,i.c&&(t=t.replace(/\\//g,\"\\\\\")),t}function S(e,t){var n=t?a:u,r=[],i=e.scheme,o=e.authority,s=e.path,l=e.query,c=e.fragment;if(i&&r.push(i,\":\"),(o||\"file\"===i)&&r.push(\"//\"),o){if(-1!==(g=o.indexOf(\"@\"))){var h=o.substr(0,g);o=o.substr(g+1),-1===(g=h.indexOf(\":\"))?r.push(n(h)):r.push(n(h.substr(0,g)),\":\",n(h.substr(g+1))),r.push(\"@\")}-1===(g=(o=o.toLowerCase()).indexOf(\":\"))?r.push(n(o)):r.push(n(o.substr(0,g)),o.substr(g))}if(s){var d=_.exec(s);d&&(s=d[1]?\"/\"+d[2].toLowerCase()+s.substr(3):d[2].toLowerCase()+s.substr(2));for(var m=0;;){var g;if(-1===(g=s.indexOf(p,m))){r.push(n(s.substring(m)));break}r.push(n(s.substring(m,g)),p),m=g+1}}return l&&r.push(\"?\",n(l)),c&&r.push(\"#\",n(c)),r.join(f)}var E=n(0),N=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column},e.prototype.isBeforeOrEqual=function(t){return e.isBeforeOrEqual(this,t)},e.isBeforeOrEqual=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column},e.compare=function(e,t){var n=0|e.lineNumber,r=0|t.lineNumber;return n===r?(0|e.column)-(0|t.column):n-r},e.prototype.clone=function(){return new e(this.lineNumber,this.column)},e.prototype.toString=function(){return\"(\"+this.lineNumber+\",\"+this.column+\")\"},e.lift=function(t){return new e(t.lineNumber,t.column)},e.isIPosition=function(e){return e&&\"number\"==typeof e.lineNumber&&\"number\"==typeof e.column},e}(),L=function(){function e(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var r,i,o,s;return n.startLineNumber<t.startLineNumber?(r=n.startLineNumber,i=n.startColumn):n.startLineNumber===t.startLineNumber?(r=n.startLineNumber,i=Math.min(n.startColumn,t.startColumn)):(r=t.startLineNumber,i=t.startColumn),n.endLineNumber>t.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(r,i,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,s=t.endColumn,u=n.startLineNumber,a=n.startColumn,l=n.endLineNumber,c=n.endColumn;return r<u?(r=u,i=a):r===u&&(i=Math.max(i,a)),o>l?(o=l,s=c):o===l&&(s=Math.min(s,c)),r>o?null:r===o&&i>s?null:new e(r,i,o,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new N(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new N(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return\"[\"+this.startLineNumber+\",\"+this.startColumn+\" -> \"+this.endLineNumber+\",\"+this.endColumn+\"]\"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&\"number\"==typeof e.startLineNumber&&\"number\"==typeof e.startColumn&&\"number\"==typeof e.endLineNumber&&\"number\"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)},e.compareRangesUsingStarts=function(e,t){var n=0|e.startLineNumber,r=0|t.startLineNumber;if(n===r){var i=0|e.startColumn,o=0|t.startColumn;if(i===o){var s=0|e.endLineNumber,u=0|t.endLineNumber;return s===u?(0|e.endColumn)-(0|t.endColumn):s-u}return i-o}return n-r},e.compareRangesUsingEnds=function(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e}(),w=function(){function e(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();function P(e){return{getLength:function(){return e.length},getElementHash:function(t){return e[t]}}}function A(e,t,n){return new I(P(e),P(t)).ComputeDiff(n)}var x=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}(),O=function(){function e(){}return e.Copy=function(e,t,n,r,i){for(var o=0;o<i;o++)n[r+o]=e[t+o]},e}(),k=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new w(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),M=Object.prototype.hasOwnProperty,I=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_originalIds=[],this.m_modifiedIds=[],this.m_forwardHistory=[],this.m_reverseHistory=[],this.ComputeUniqueIdentifiers()}return e.prototype.ComputeUniqueIdentifiers=function(){var e=this.OriginalSequence.getLength(),t=this.ModifiedSequence.getLength();this.m_originalIds=new Array(e),this.m_modifiedIds=new Array(t);var n,r={},i=1;for(n=0;n<e;n++){var o=this.OriginalSequence.getElementHash(n);M.call(r,o)?this.m_originalIds[n]=r[o]:(this.m_originalIds[n]=i++,r[o]=this.m_originalIds[n])}for(n=0;n<t;n++){var s=this.ModifiedSequence.getElementHash(n);M.call(r,s)?this.m_modifiedIds[n]=r[s]:(this.m_modifiedIds[n]=i++,r[s]=this.m_modifiedIds[n])}},e.prototype.ElementsAreEqual=function(e,t){return this.m_originalIds[e]===this.m_modifiedIds[t]},e.prototype.OriginalElementsAreEqual=function(e,t){return this.m_originalIds[e]===this.m_originalIds[t]},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.m_modifiedIds[e]===this.m_modifiedIds[t]},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,n,r,i){var o=this.ComputeDiffRecursive(e,t,n,r,[!1]);return i?this.ShiftChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){var o=void 0;return n<=r?(x.Assert(e===t+1,\"originalStart should only be one more than originalEnd\"),o=[new w(e,0,n,r-n+1)]):e<=t?(x.Assert(n===r+1,\"modifiedStart should only be one more than modifiedEnd\"),o=[new w(e,t-e+1,n,0)]):(x.Assert(e===t+1,\"originalStart should only be one more than originalEnd\"),x.Assert(n===r+1,\"modifiedStart should only be one more than modifiedEnd\"),o=[]),o}var s=[0],u=[0],a=this.ComputeRecursionPoint(e,t,n,r,s,u,i),l=s[0],c=u[0];if(null!==a)return a;if(!i[0]){var h=this.ComputeDiffRecursive(e,l,n,c,i),f=[];return f=i[0]?[new w(l+1,t-(l+1)+1,c+1,r-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,r,i),this.ConcatenateChanges(h,f)}return[new w(e,t-e+1,n,r-n+1)]},e.prototype.WALKTRACE=function(e,t,n,r,i,o,s,u,a,l,c,h,f,p,d,m,_,g){var v,y,b=null,C=new k,S=t,E=n,N=f[0]-m[0]-r,L=Number.MIN_VALUE,P=this.m_forwardHistory.length-1;do{(y=N+e)===S||y<E&&a[y-1]<a[y+1]?(p=(c=a[y+1])-N-r,c<L&&C.MarkNextChange(),L=c,C.AddModifiedElement(c+1,p),N=y+1-e):(p=(c=a[y-1]+1)-N-r,c<L&&C.MarkNextChange(),L=c-1,C.AddOriginalElement(c,p+1),N=y-1-e),P>=0&&(e=(a=this.m_forwardHistory[P])[0],S=1,E=a.length-1)}while(--P>=-1);if(v=C.getReverseChanges(),g[0]){var A=f[0]+1,x=m[0]+1;if(null!==v&&v.length>0){var O=v[v.length-1];A=Math.max(A,O.getOriginalEnd()),x=Math.max(x,O.getModifiedEnd())}b=[new w(A,h-A+1,x,d-x+1)]}else{C=new k,S=o,E=s,N=f[0]-m[0]-u,L=Number.MAX_VALUE,P=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(y=N+i)===S||y<E&&l[y-1]>=l[y+1]?(p=(c=l[y+1]-1)-N-u,c>L&&C.MarkNextChange(),L=c+1,C.AddOriginalElement(c+1,p+1),N=y+1-i):(p=(c=l[y-1])-N-u,c>L&&C.MarkNextChange(),L=c,C.AddModifiedElement(c+1,p+1),N=y-1-i),P>=0&&(i=(l=this.m_reverseHistory[P])[0],S=1,E=l.length-1)}while(--P>=-1);b=C.getChanges()}return this.ConcatenateChanges(v,b)},e.prototype.ComputeRecursionPoint=function(e,t,n,r,i,o,s){var u,a,l,c=0,h=0,f=0,p=0;e--,n--,i[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var d,m,_=t-e+(r-n),g=_+1,v=new Array(g),y=new Array(g),b=r-n,C=t-e,S=e-n,E=t-r,N=(C-b)%2==0;for(v[b]=e,y[C]=t,s[0]=!1,l=1;l<=_/2+1;l++){var L=0,P=0;for(c=this.ClipDiagonalBound(b-l,l,b,g),h=this.ClipDiagonalBound(b+l,l,b,g),d=c;d<=h;d+=2){for(a=(u=d===c||d<h&&v[d-1]<v[d+1]?v[d+1]:v[d-1]+1)-(d-b)-S,m=u;u<t&&a<r&&this.ElementsAreEqual(u+1,a+1);)u++,a++;if(v[d]=u,u+a>L+P&&(L=u,P=a),!N&&Math.abs(d-C)<=l-1&&u>=y[d])return i[0]=u,o[0]=a,m<=y[d]&&l<=1448?this.WALKTRACE(b,c,h,S,C,f,p,E,v,y,u,t,i,a,r,o,N,s):null}var A=(L-e+(P-n)-l)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(L,this.OriginalSequence,A))return s[0]=!0,i[0]=L,o[0]=P,A>0&&l<=1448?this.WALKTRACE(b,c,h,S,C,f,p,E,v,y,u,t,i,a,r,o,N,s):[new w(++e,t-e+1,++n,r-n+1)];for(f=this.ClipDiagonalBound(C-l,l,C,g),p=this.ClipDiagonalBound(C+l,l,C,g),d=f;d<=p;d+=2){for(a=(u=d===f||d<p&&y[d-1]>=y[d+1]?y[d+1]-1:y[d-1])-(d-C)-E,m=u;u>e&&a>n&&this.ElementsAreEqual(u,a);)u--,a--;if(y[d]=u,N&&Math.abs(d-b)<=l&&u<=v[d])return i[0]=u,o[0]=a,m>=v[d]&&l<=1448?this.WALKTRACE(b,c,h,S,C,f,p,E,v,y,u,t,i,a,r,o,N,s):null}if(l<=1447){var x=new Array(h-c+2);x[0]=b-c+1,O.Copy(v,c,x,1,h-c+1),this.m_forwardHistory.push(x),(x=new Array(p-f+2))[0]=C-f+1,O.Copy(y,f,x,1,p-f+1),this.m_reverseHistory.push(x)}}return this.WALKTRACE(b,c,h,S,C,f,p,E,v,y,u,t,i,a,r,o,N,s)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var n=0;n<e.length;n++)for(var r=e[n],i=n<e.length-1?e[n+1].originalStart:this.OriginalSequence.getLength(),o=n<e.length-1?e[n+1].modifiedStart:this.ModifiedSequence.getLength(),s=r.originalLength>0,u=r.modifiedLength>0;r.originalStart+r.originalLength<i&&r.modifiedStart+r.modifiedLength<o&&(!s||this.OriginalElementsAreEqual(r.originalStart,r.originalStart+r.originalLength))&&(!u||this.ModifiedElementsAreEqual(r.modifiedStart,r.modifiedStart+r.modifiedLength));)r.originalStart++,r.modifiedStart++;var a=new Array,l=[null];for(n=0;n<e.length;n++)n<e.length-1&&this.ChangesOverlap(e[n],e[n+1],l)?(t=!0,a.push(l[0]),n++):a.push(e[n]);e=a}while(t);for(n=e.length-1;n>=0;n--){r=e[n],i=0,o=0;if(n>0){var c=e[n-1];c.originalLength>0&&(i=c.originalStart+c.originalLength),c.modifiedLength>0&&(o=c.modifiedStart+c.modifiedLength)}s=r.originalLength>0,u=r.modifiedLength>0;for(var h=0,f=this._boundaryScore(r.originalStart,r.originalLength,r.modifiedStart,r.modifiedLength),p=1;;p++){var d=r.originalStart-p,m=r.modifiedStart-p;if(d<i||m<o)break;if(s&&!this.OriginalElementsAreEqual(d,d+r.originalLength))break;if(u&&!this.ModifiedElementsAreEqual(m,m+r.modifiedLength))break;var _=this._boundaryScore(d,r.originalLength,m,r.modifiedLength);_>f&&(f=_,h=p)}r.originalStart-=h,r.modifiedStart-=h}return e},e.prototype._OriginalIsBoundary=function(e){return e<=0||e>=this.OriginalSequence.getLength()-1||/^\\s*$/.test(this.OriginalSequence.getElementHash(e))},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){return e<=0||e>=this.ModifiedSequence.getLength()-1||/^\\s*$/.test(this.ModifiedSequence.getElementHash(e))},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[],r=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(r=new Array(e.length+t.length-1),O.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],O.Copy(t,1,r,e.length,t.length-1),r):(r=new Array(e.length+t.length),O.Copy(e,0,r,0,e.length),O.Copy(t,0,r,e.length,t.length),r)},e.prototype.ChangesOverlap=function(e,t,n){if(x.Assert(e.originalStart<=t.originalStart,\"Left change is not less than or equal to right change\"),x.Assert(e.modifiedStart<=t.modifiedStart,\"Left change is not less than or equal to right change\"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var r=e.originalStart,i=e.originalLength,o=e.modifiedStart,s=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(s=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new w(r,i,o,s),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e<r)return e;var i=t%2==0;return e<0?i===(n%2==0)?0:1:i===((r-n-1)%2==0)?r-1:r-2},e}(),D=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();var T,U=function(){function e(){this._value=\"\",this._pos=0}return e.prototype.reset=function(e){return this._value=e,this._pos=0,this},e.prototype.next=function(){return this._pos+=1,this},e.prototype.join=function(e){return e.join(\"\")},e.prototype.hasNext=function(){return this._pos<this._value.length-1},e.prototype.cmp=function(e){return e.charCodeAt(0)-this._value.charCodeAt(this._pos)},e.prototype.value=function(){return this._value[this._pos]},e}(),R=function(){function e(){}return e.prototype.reset=function(e){return this._value=e.replace(/\\\\$|\\/$/,\"\"),this._from=0,this._to=0,this.next()},e.prototype.hasNext=function(){return this._to<this._value.length},e.prototype.join=function(e){return e.join(\"/\")},e.prototype.next=function(){this._from=this._to;for(var t=!0;this._to<this._value.length;this._to++){var n=this._value.charCodeAt(this._to);if(n===e._fwd||n===e._bwd){if(!t)break;this._from++}else t=!1}return this},e.prototype.cmp=function(e){for(var t=0,n=e.length,r=this._from;t<n&&r<this._to;){var i=e.charCodeAt(t)-this._value.charCodeAt(r);if(0!==i)return i;t+=1,r+=1}return n===this._to-this._from?0:t<n?-1:1},e.prototype.value=function(){return this._value.substring(this._from,this._to)},e._fwd=\"/\".charCodeAt(0),e._bwd=\"\\\\\".charCodeAt(0),e}(),K=function(){function e(){}return e.prototype.isEmpty=function(){return!(this.left||this.mid||this.right||this.element)},e}();(function(){function e(e){this._iter=e}e.forPaths=function(){return new e(new R)},e.forStrings=function(){return new e(new U)},e.prototype.clear=function(){this._root=void 0},e.prototype.set=function(e,t){var n,r=this._iter.reset(e);for(this._root||(this._root=new K,this._root.str=r.value()),n=this._root;;){var i=r.cmp(n.str);if(i>0)n.left||(n.left=new K,n.left.str=r.value()),n=n.left;else if(i<0)n.right||(n.right=new K,n.right.str=r.value()),n=n.right;else{if(!r.hasNext())break;r.next(),n.mid||(n.mid=new K,n.mid.str=r.value()),n=n.mid}}var o=n.element;return n.element=t,o},e.prototype.get=function(e){for(var t=this._iter.reset(e),n=this._root;n;){var r=t.cmp(n.str);if(r>0)n=n.left;else if(r<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n?n.element:void 0},e.prototype.delete=function(e){for(var t=this._iter.reset(e),n=[],r=this._root;r;){var i=t.cmp(r.str);if(i>0)n.push([1,r]),r=r.left;else if(i<0)n.push([-1,r]),r=r.right;else{if(!t.hasNext()){for(r.element=void 0;n.length>0&&r.isEmpty();){var o=n.pop(),s=o[0],u=o[1];switch(s){case 1:u.left=void 0;break;case 0:u.mid=void 0;break;case-1:u.right=void 0}r=u}break}t.next(),n.push([0,r]),r=r.mid}}},e.prototype.findSubstr=function(e){for(var t,n=this._iter.reset(e),r=this._root;r;){var i=n.cmp(r.str);if(i>0)r=r.left;else if(i<0)r=r.right;else{if(!n.hasNext())break;n.next(),t=r.element||t,r=r.mid}}return r&&r.element||t},e.prototype.findSuperstr=function(t){for(var n=this._iter.reset(t),r=this._root;r;){var i=n.cmp(r.str);if(i>0)r=r.left;else if(i<0)r=r.right;else{if(!n.hasNext()){if(!r.mid)return;var o=new e(this._iter);return o._root=r.mid,o}n.next(),r=r.mid}}},e.prototype.forEach=function(e){this._forEach(this._root,[],e)},e.prototype._forEach=function(e,t,n){e&&(this._forEach(e.left,t,n),t.push(e.str),e.element&&n(e.element,this._iter.join(t)),this._forEach(e.mid,t,n),t.pop(),this._forEach(e.right,t,n))}})(),function(){function e(){this.map=new Map,this.ignoreCase=!1}e.prototype.set=function(e,t){this.map.set(this.toKey(e),t)},e.prototype.get=function(e){return this.map.get(this.toKey(e))},e.prototype.has=function(e){return this.map.has(this.toKey(e))},Object.defineProperty(e.prototype,\"size\",{get:function(){return this.map.size},enumerable:!0,configurable:!0}),e.prototype.clear=function(){this.map.clear()},e.prototype.delete=function(e){return this.map.delete(this.toKey(e))},e.prototype.forEach=function(e){this.map.forEach(e)},e.prototype.values=function(){return e=this.map,t=[],e.forEach(function(e){return t.push(e)}),t;var e,t},e.prototype.toKey=function(e){var t=e.toString();return this.ignoreCase&&(t=t.toLowerCase()),t},e.prototype.keys=function(){return(e=this.map,t=[],e.forEach(function(e,n){return t.push(n)}),t).map(y.parse);var e,t}}();!function(e){e[e.None=0]=\"None\",e[e.AsOld=1]=\"AsOld\",e[e.AsNew=2]=\"AsNew\"}(T||(T={}));var j=function(e){function t(t,n){void 0===n&&(n=1);var r=e.call(this)||this;return r._limit=t,r._ratio=Math.min(Math.max(0,n),1),r}return D(t,e),Object.defineProperty(t.prototype,\"limit\",{get:function(){return this._limit},set:function(e){this._limit=e,this.checkTrim()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ratio\",{get:function(){return this._ratio},set:function(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()},enumerable:!0,configurable:!0}),t.prototype.get=function(t){return e.prototype.get.call(this,t,T.AsNew)},t.prototype.peek=function(t){return e.prototype.get.call(this,t,T.None)},t.prototype.set=function(t,n){e.prototype.set.call(this,t,n,T.AsNew),this.checkTrim()},t.prototype.checkTrim=function(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))},t}(function(){function e(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}return e.prototype.clear=function(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0},e.prototype.isEmpty=function(){return!this._head&&!this._tail},Object.defineProperty(e.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.get=function(e,t){void 0===t&&(t=T.None);var n=this._map.get(e);if(n)return t!==T.None&&this.touch(n,t),n.value},e.prototype.set=function(e,t,n){void 0===n&&(n=T.None);var r=this._map.get(e);if(r)r.value=t,n!==T.None&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case T.None:this.addItemLast(r);break;case T.AsOld:this.addItemFirst(r);break;case T.AsNew:default:this.addItemLast(r)}this._map.set(e,r),this._size++}},e.prototype.delete=function(e){return!!this.remove(e)},e.prototype.remove=function(e){var t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value},e.prototype.shift=function(){if(this._head||this._tail){if(!this._head||!this._tail)throw new Error(\"Invalid list\");var e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}},e.prototype.forEach=function(e,t){for(var n=this._head;n;)t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),n=n.next},e.prototype.values=function(){for(var e=[],t=this._head;t;)e.push(t.value),t=t.next;return e},e.prototype.keys=function(){for(var e=[],t=this._head;t;)e.push(t.key),t=t.next;return e},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,n=this.size;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t.previous=void 0}else this.clear()},e.prototype.addItemFirst=function(e){if(this._head||this._tail){if(!this._head)throw new Error(\"Invalid list\");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e},e.prototype.addItemLast=function(e){if(this._head||this._tail){if(!this._tail)throw new Error(\"Invalid list\");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e},e.prototype.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head)this._head=e.next;else if(e===this._tail)this._tail=e.previous;else{var t=e.next,n=e.previous;if(!t||!n)throw new Error(\"Invalid list\");t.previous=n,n.next=t}},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error(\"Invalid list\");if(t===T.AsOld||t===T.AsNew)if(t===T.AsOld){if(e===this._head)return;var n=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(n.previous=r,r.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===T.AsNew){if(e===this._tail)return;n=e.next,r=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=r,r.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}},e.prototype.toJSON=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),e},e.prototype.fromJSON=function(e){this.clear();for(var t=0,n=e;t<n.length;t++){var r=n[t],i=r[0],o=r[1];this.set(i,o)}},e}());new j(1e4);new j(1e4);String.fromCharCode(65279);var q=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),F=5e3,V=3;function W(e,t,n,r){return new I(e,t,n).ComputeDiff(r)}var Y=function(){function e(e,t,n){this.buffer=e,this.startMarkers=t,this.endMarkers=n}return e.prototype.getLength=function(){return this.startMarkers.length},e.prototype.getElementHash=function(e){return this.buffer.substring(this.startMarkers[e].offset,this.endMarkers[e].offset)},e.prototype.getStartLineNumber=function(e){return e===this.startMarkers.length?this.startMarkers[e-1].lineNumber+1:this.startMarkers[e].lineNumber},e.prototype.getStartColumn=function(e){return this.startMarkers[e].column},e.prototype.getEndLineNumber=function(e){return this.endMarkers[e].lineNumber},e.prototype.getEndColumn=function(e){return this.endMarkers[e].column},e}(),H=function(e){function t(n){for(var r=\"\",i=[],o=[],s=0,u=0,a=n.length;u<a;u++){r+=n[u];var l=t._getFirstNonBlankColumn(n[u],1),c=t._getLastNonBlankColumn(n[u],1);i.push({offset:s+l-1,lineNumber:u+1,column:l}),o.push({offset:s+c-1,lineNumber:u+1,column:c}),s+=n[u].length}return e.call(this,r,i,o)||this}return q(t,e),t._getFirstNonBlankColumn=function(e,t){var n=function(e){for(var t=0,n=e.length;t<n;t++){var r=e.charCodeAt(t);if(32!==r&&9!==r)return t}return-1}(e);return-1===n?t:n+1},t._getLastNonBlankColumn=function(e,t){var n=function(e,t){void 0===t&&(t=e.length-1);for(var n=t;n>=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1}(e);return-1===n?t:n+2},t.prototype.getCharSequence=function(e,t){for(var n=[],r=[],i=e;i<=t;i++)for(var o=this.startMarkers[i],s=this.endMarkers[i],u=o.offset;u<s.offset;u++)n.push({offset:u,lineNumber:o.lineNumber,column:o.column+(u-o.offset)}),r.push({offset:u+1,lineNumber:o.lineNumber,column:o.column+(u-o.offset)+1});return new Y(this.buffer,n,r)},t}(Y),B=function(){function e(e,t,n,r,i,o,s,u){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=o,this.modifiedEndLineNumber=s,this.modifiedEndColumn=u}return e.createFromDiffChange=function(t,n,r){var i,o,s,u,a,l,c,h;return 0===t.originalLength?(i=0,o=0,s=0,u=0):(i=n.getStartLineNumber(t.originalStart),o=n.getStartColumn(t.originalStart),s=n.getEndLineNumber(t.originalStart+t.originalLength-1),u=n.getEndColumn(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(a=0,l=0,c=0,h=0):(a=r.getStartLineNumber(t.modifiedStart),l=r.getStartColumn(t.modifiedStart),c=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),h=r.getEndColumn(t.modifiedStart+t.modifiedLength-1)),new e(i,o,s,u,a,l,c,h)},e}();var J=function(){function e(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}return e.createFromDiffResult=function(t,n,r,i,o){var s,u,a,l,c;if(0===t.originalLength?(s=n.getStartLineNumber(t.originalStart)-1,u=0):(s=n.getStartLineNumber(t.originalStart),u=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(a=r.getStartLineNumber(t.modifiedStart)-1,l=0):(a=r.getStartLineNumber(t.modifiedStart),l=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),0!==t.originalLength&&0!==t.modifiedLength&&i()){var h=n.getCharSequence(t.originalStart,t.originalStart+t.originalLength-1),f=r.getCharSequence(t.modifiedStart,t.modifiedStart+t.modifiedLength-1),p=W(h,f,i,!0);o&&(p=function(e){if(e.length<=1)return e;for(var t=[e[0]],n=t[0],r=1,i=e.length;r<i;r++){var o=e[r],s=o.originalStart-(n.originalStart+n.originalLength),u=o.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(s,u)<V?(n.originalLength=o.originalStart+o.originalLength-n.originalStart,n.modifiedLength=o.modifiedStart+o.modifiedLength-n.modifiedStart):(t.push(o),n=o)}return t}(p)),c=[];for(var d=0,m=p.length;d<m;d++)c.push(B.createFromDiffChange(p[d],h,f))}return new e(s,u,a,l,c)},e}(),z=function(){function e(e,t,n){this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.maximumRunTimeMs=F,this.originalLines=e,this.modifiedLines=t,this.original=new H(e),this.modified=new H(t)}return e.prototype.computeDiff=function(){if(1===this.original.getLength()&&0===this.original.getElementHash(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.getLength(),charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];if(1===this.modified.getLength()&&0===this.modified.getElementHash(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:this.original.getLength(),modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];this.computationStartTime=(new Date).getTime();var e=W(this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldMakePrettyDiff);if(this.shouldIgnoreTrimWhitespace){for(var t=[],n=0,r=e.length;n<r;n++)t.push(J.createFromDiffResult(e[n],this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldPostProcessCharChanges));return t}for(var i=[],o=0,s=0,u=(n=-1,e.length);n<u;n++){for(var a=n+1<u?e[n+1]:null,l=a?a.originalStart:this.originalLines.length,c=a?a.modifiedStart:this.modifiedLines.length;o<l&&s<c;){var h=this.originalLines[o],f=this.modifiedLines[s];if(h!==f){for(var p=H._getFirstNonBlankColumn(h,1),d=H._getFirstNonBlankColumn(f,1);p>1&&d>1;){if(h.charCodeAt(p-2)!==f.charCodeAt(d-2))break;p--,d--}(p>1||d>1)&&this._pushTrimWhitespaceCharChange(i,o+1,1,p,s+1,1,d);for(var m=H._getLastNonBlankColumn(h,1),_=H._getLastNonBlankColumn(f,1),g=h.length+1,v=f.length+1;m<g&&_<v;){if(h.charCodeAt(m-1)!==h.charCodeAt(_-1))break;m++,_++}(m<g||_<v)&&this._pushTrimWhitespaceCharChange(i,o+1,m,g,s+1,_,v)}o++,s++}a&&(i.push(J.createFromDiffResult(a,this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldPostProcessCharChanges)),o+=a.originalLength,s+=a.modifiedLength)}return i},e.prototype._pushTrimWhitespaceCharChange=function(e,t,n,r,i,o,s){this._mergeTrimWhitespaceCharChange(e,t,n,r,i,o,s)||e.push(new J(t,t,i,i,[new B(t,n,t,r,i,o,i,s)]))},e.prototype._mergeTrimWhitespaceCharChange=function(e,t,n,r,i,o,s){var u=e.length;if(0===u)return!1;var a=e[u-1];return 0!==a.originalEndLineNumber&&0!==a.modifiedEndLineNumber&&(a.originalEndLineNumber+1===t&&a.modifiedEndLineNumber+1===i&&(a.originalEndLineNumber=t,a.modifiedEndLineNumber=i,a.charChanges.push(new B(t,n,t,r,i,o,i,s)),!0))},e.prototype._continueProcessingPredicate=function(){return 0===this.maximumRunTimeMs||(new Date).getTime()-this.computationStartTime<this.maximumRunTimeMs},e}(),Q=function(){function e(e,t,n){for(var r=new Uint8Array(e*t),i=0,o=e*t;i<o;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}return e.prototype.get=function(e,t){return this._data[e*this.cols+t]},e.prototype.set=function(e,t,n){this._data[e*this.cols+t]=n},e}();function G(e){return e<0?0:e>255?255:0|e}function X(e){return e<0?0:e>4294967295?4294967295:0|e}var $=function(){return function(e,t){this.index=e,this.remainder=t}}(),Z=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=X(e);var n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=X(e),t=X(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)},e.prototype.removeValues=function(e,t){e=X(e),t=X(t);var n=this.values,r=this.prefixSum;if(e>=n.length)return!1;var i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=X(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,n,r,i=0,o=this.values.length-1;i<=o;)if(t=i+(o-i)/2|0,e<(r=(n=this.prefixSum[t])-this.values[t]))o=t-1;else{if(!(e>=n))break;i=t+1}return new $(t,e-r)},e}(),ee=(function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new Z(e),this._bustCache()}e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t<this._cache.length)return this._cache[t]}return this._actual.getIndexOf(e)},e.prototype.warmUpCache=function(e,t){for(var n=[],r=e;r<=t;r++)n[r-e]=this.getIndexOf(r);this._cache=n,this._cacheAccumulatedValueStart=e}}(),function(){function e(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r}return e.prototype.dispose=function(){this._lines.length=0},Object.defineProperty(e.prototype,\"version\",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),e.prototype.getText=function(){return this._lines.join(this._eol)},e.prototype.onEvents=function(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);for(var t=e.changes,n=0,r=t.length;n<r;n++){var i=t[n];this._acceptDeleteRange(i.range),this._acceptInsertText(new N(i.range.startLineNumber,i.range.startColumn),i.text)}this._versionId=e.versionId},e.prototype._ensureLineStarts=function(){if(!this._lineStarts){for(var e=this._eol.length,t=this._lines.length,n=new Uint32Array(t),r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Z(n)}},e.prototype._setLineText=function(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.changeValue(e,this._lines[e].length+this._eol.length)},e.prototype._acceptDeleteRange=function(e){if(e.startLineNumber!==e.endLineNumber)this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber);else{if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1))}},e.prototype._acceptInsertText=function(e,t){if(0!==t.length){var n=t.split(/\\r\\n|\\r|\\n/);if(1!==n.length){n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);for(var r=new Uint32Array(n.length-1),i=1;i<n.length;i++)this._lines.splice(e.lineNumber+i-1,0,n[i]),r[i-1]=n[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}else this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1))}},e}()),te=function(){function e(t){var n=G(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=G(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),ne=(function(){function e(){this._actual=new te(0)}e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)}}(),function(){function e(e){for(var t=0,n=0,r=0,i=e.length;r<i;r++){var o=e[r],s=o[0],u=o[1],a=o[2];u>t&&(t=u),s>n&&(n=s),a>n&&(n=a)}var l=new Q(++n,++t,0);for(r=0,i=e.length;r<i;r++){var c=e[r];s=c[0],u=c[1],a=c[2];l.set(s,u,a)}this._states=l,this._maxCharCode=t}return e.prototype.nextState=function(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)},e}()),re=null;var ie=null;var oe=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>r);if(r>0){var u=t.charCodeAt(r-1),a=t.charCodeAt(o);(40===u&&41===a||91===u&&93===a||123===u&&125===a)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t){for(var n=(null===re&&(re=new ne([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),re),r=function(){if(null===ie){ie=new te(0);for(var e=0;e<\" \\t<>'\\\"、。｡､，．：；？！＠＃＄％＆＊‘“〈《「『【〔（［｛｢｣｝］）〕】』」》〉”’｀～…\".length;e++)ie.set(\" \\t<>'\\\"、。｡､，．：；？！＠＃＄％＆＊‘“〈《「『【〔（［｛｢｣｝］）〕】』」》〉”’｀～…\".charCodeAt(e),1);for(e=0;e<\".,;\".length;e++)ie.set(\".,;\".charCodeAt(e),2)}return ie}(),i=[],o=1,s=t.getLineCount();o<=s;o++){for(var u=t.getLineContent(o),a=u.length,l=0,c=0,h=0,f=1,p=!1,d=!1,m=!1;l<a;){var _=!1,g=u.charCodeAt(l);if(13===f){var v=void 0;switch(g){case 40:p=!0,v=0;break;case 41:v=p?0:1;break;case 91:d=!0,v=0;break;case 93:v=d?0:1;break;case 123:m=!0,v=0;break;case 125:v=m?0:1;break;case 39:v=34===h||96===h?0:1;break;case 34:v=39===h||96===h?0:1;break;case 96:v=39===h||34===h?0:1;break;default:v=r.get(g)}1===v&&(i.push(e._createLink(r,u,o,c,l)),_=!0)}else if(12===f){1===(v=r.get(g))?_=!0:f=13}else 0===(f=n.nextState(f,g))&&(_=!0);_&&(f=1,p=!1,d=!1,m=!1,c=l+1,h=g),l++}13===f&&i.push(e._createLink(r,u,o,c,a))}return i},e}();var se=function(){function e(){this._defaultValueSet=[[\"true\",\"false\"],[\"True\",\"False\"],[\"Private\",\"Public\",\"Friend\",\"ReadOnly\",\"Partial\",\"Protected\",\"WriteOnly\"],[\"public\",\"protected\",\"private\"]]}return e.prototype.navigateValueSet=function(e,t,n,r,i){var o;if(e&&t&&(o=this.doNavigateValueSet(t,i)))return{range:e,value:o};if(n&&r&&(o=this.doNavigateValueSet(r,i)))return{range:n,value:o};return null},e.prototype.doNavigateValueSet=function(e,t){var n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){var n=Math.pow(10,e.length-(e.lastIndexOf(\".\")+1)),r=Number(e),i=parseFloat(e);return isNaN(r)||isNaN(i)||r!==i?null:0!==r||t?(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,n){for(var r=null,i=0,o=e.length;null===r&&i<o;i++)r=this.valueSetReplace(e[i],t,n);return r},e.prototype.valueSetReplace=function(e,t,n){var r=e.indexOf(t);return r>=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}(),ue=\"`~!@#$%^&*()-=+[{]}\\\\|;:'\\\",.<>/?\";var ae=function(e){void 0===e&&(e=\"\");for(var t=\"(-?\\\\d*\\\\.\\\\d\\\\w*)|([^\",n=0;n<ue.length;n++)e.indexOf(ue[n])>=0||(t+=\"\\\\\"+ue[n]);return t+=\"\\\\s]+)\",new RegExp(t,\"g\")}();function le(e){var t,n=this,r=!1;return function(){return r?t:(r=!0,t=e.apply(n,arguments))}}var ce=Object.freeze({dispose:function(){}});function he(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Array.isArray(e)?(e.forEach(function(e){return e&&e.dispose()}),[]):0===t.length?e?(e.dispose(),e):void 0:(he(e),he(t),[])}var fe=function(){function e(){this._toDispose=[]}return e.prototype.dispose=function(){this._toDispose=he(this._toDispose)},e.prototype._register=function(e){return this._toDispose.push(e),e},e}(),pe=(function(){function e(){this.references=Object.create(null)}e.prototype.acquire=function(e){var t=this,n=this.references[e];n||(n=this.references[e]={counter:0,object:this.createReferencedObject(e)});var r=n.object,i=le(function(){0==--n.counter&&(t.destroyReferencedObject(n.object),delete t.references[e])});return n.counter++,{object:r,dispose:i}}}(),function(){function e(e){this.object=e}e.prototype.dispose=function(){}}(),{});E.b.addEventListener(\"error\",function(e){var t=e.detail,n=t.id;t.parent?t.handler&&pe&&delete pe[n]:(pe[n]=t,1===Object.keys(pe).length&&setTimeout(function(){var e=pe;pe={},Object.keys(e).forEach(function(t){var n=e[t];n.exception?me(n.exception):n.error&&me(n.error),console.log(\"WARNING: Promise with no error callback:\"+n.id),console.log(n),n.exception&&console.log(n.exception.stack)})},0))});var de=new(function(){function e(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(function(){if(e.stack)throw new Error(e.message+\"\\n\\n\"+e.stack);throw e},0)}}return e.prototype.addListener=function(e){var t=this;return this.listeners.push(e),function(){t._removeListener(e)}},e.prototype.emit=function(e){this.listeners.forEach(function(t){t(e)})},e.prototype._removeListener=function(e){this.listeners.splice(this.listeners.indexOf(e),1)},e.prototype.setUnexpectedErrorHandler=function(e){this.unexpectedErrorHandler=e},e.prototype.getUnexpectedErrorHandler=function(){return this.unexpectedErrorHandler},e.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},e.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},e}());function me(e){ve(e)||de.onUnexpectedError(e)}function _e(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e}var ge=\"Canceled\";function ve(e){return e instanceof Error&&e.name===ge&&e.message===ge}var ye,be=function(){return function(e){this.element=e}}(),Ce=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.clear=function(){this._first=void 0,this._last=void 0},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var n=this,r=new be(e);if(this._first)if(t){var i=this._last;this._last=r,r.prev=i,i.next=r}else{var o=this._first;this._first=r,r.next=o,o.prev=r}else this._first=r,this._last=r;return function(){for(var e=n._first;e instanceof be;e=e.next)if(e===r){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(n._first=n._first.next,n._first.prev=void 0):(n._last=n._last.prev,n._last.next=void 0):(n._first=void 0,n._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e.prototype.toArray=function(){for(var e=[],t=this._first;t instanceof be;t=t.next)e.push(t.element);return e},e}();!function(e){var t={dispose:function(){}};e.None=function(){return t}}(ye||(ye={}));var Se=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,\"event\",{get:function(){var t=this;return this._event||(this._event=function(n,r,i){t._listeners||(t._listeners=new Ce);var o=t._listeners.isEmpty();o&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,u=t._listeners.push(r?[n,r]:n);return o&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,r),s={dispose:function(){s.dispose=e._noop,t._disposed||(u(),t._options&&t._options.onLastListenerRemove&&t._listeners.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(i)&&i.push(s),s}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=[]);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.length>0;){var r=this._deliveryQueue.shift(),i=r[0],o=r[1];try{\"function\"==typeof i?i.call(void 0,o):i[0].call(i[1],o)}catch(n){me(n)}}}},e.prototype.dispose=function(){this._listeners&&(this._listeners=void 0),this._deliveryQueue&&(this._deliveryQueue.length=0),this._disposed=!0},e._noop=function(){},e}();!function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new Se({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}Object.defineProperty(e.prototype,\"event\",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return{dispose:function(){for(var t=0,n=e;t<n.length;t++)(0,n[t])()}}}(le(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);t.events.splice(e,1)}))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach(function(t){return e.hook(t)})},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach(function(t){return e.unhook(t)})},e.prototype.hook=function(e){var t=this;e.listener=e.event(function(e){return t.emitter.fire(e)})},e.prototype.unhook=function(e){e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()}}();!function(){function e(){this.buffers=[]}e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e(function(e){var i=t.buffers[t.buffers.length-1];i?i.push(function(){return n.call(r,e)}):n.call(r,e)},void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach(function(e){return e()})}}();function Ee(e,t){return function(n,r,i){return void 0===r&&(r=null),e(function(e){return n.call(r,t(e))},null,i)}}function Ne(e,t){return function(n,r,i){return void 0===r&&(r=null),e(function(e){return t(e)&&n.call(r,e)},null,i)}}!function(){function e(e){this._event=e}Object.defineProperty(e.prototype,\"event\",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(Ee(this._event,t))},e.prototype.forEach=function(t){return new e((n=this._event,r=t,function(e,t,i){return void 0===t&&(t=null),n(function(n){r(n),e.call(t,n)},null,i)}));var n,r},e.prototype.filter=function(t){return new e(Ne(this._event,t))},e.prototype.latch=function(){return new e((t=this._event,r=!0,Ne(t,function(e){var t=r||e!==n;return r=!1,n=e,t})));var t,n,r},e.prototype.on=function(e,t,n){return this._event(e,t,n)}}();!function(){function e(){this.emitter=new Se,this.event=this.emitter.event,this.disposable=ce}Object.defineProperty(e.prototype,\"input\",{set:function(e){this.disposable.dispose(),this.disposable=e(this.emitter.fire,this.emitter)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposable.dispose(),this.emitter.dispose()}}();var Le,we=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),Pe=new we,Ae=new we,xe=new we;!function(){function e(e,t,n,r){void 0===n&&(n=t),void 0===r&&(r=n),Pe.define(e,t),Ae.define(e,n),xe.define(e,r)}e(0,\"unknown\"),e(1,\"Backspace\"),e(2,\"Tab\"),e(3,\"Enter\"),e(4,\"Shift\"),e(5,\"Ctrl\"),e(6,\"Alt\"),e(7,\"PauseBreak\"),e(8,\"CapsLock\"),e(9,\"Escape\"),e(10,\"Space\"),e(11,\"PageUp\"),e(12,\"PageDown\"),e(13,\"End\"),e(14,\"Home\"),e(15,\"LeftArrow\",\"Left\"),e(16,\"UpArrow\",\"Up\"),e(17,\"RightArrow\",\"Right\"),e(18,\"DownArrow\",\"Down\"),e(19,\"Insert\"),e(20,\"Delete\"),e(21,\"0\"),e(22,\"1\"),e(23,\"2\"),e(24,\"3\"),e(25,\"4\"),e(26,\"5\"),e(27,\"6\"),e(28,\"7\"),e(29,\"8\"),e(30,\"9\"),e(31,\"A\"),e(32,\"B\"),e(33,\"C\"),e(34,\"D\"),e(35,\"E\"),e(36,\"F\"),e(37,\"G\"),e(38,\"H\"),e(39,\"I\"),e(40,\"J\"),e(41,\"K\"),e(42,\"L\"),e(43,\"M\"),e(44,\"N\"),e(45,\"O\"),e(46,\"P\"),e(47,\"Q\"),e(48,\"R\"),e(49,\"S\"),e(50,\"T\"),e(51,\"U\"),e(52,\"V\"),e(53,\"W\"),e(54,\"X\"),e(55,\"Y\"),e(56,\"Z\"),e(57,\"Meta\"),e(58,\"ContextMenu\"),e(59,\"F1\"),e(60,\"F2\"),e(61,\"F3\"),e(62,\"F4\"),e(63,\"F5\"),e(64,\"F6\"),e(65,\"F7\"),e(66,\"F8\"),e(67,\"F9\"),e(68,\"F10\"),e(69,\"F11\"),e(70,\"F12\"),e(71,\"F13\"),e(72,\"F14\"),e(73,\"F15\"),e(74,\"F16\"),e(75,\"F17\"),e(76,\"F18\"),e(77,\"F19\"),e(78,\"NumLock\"),e(79,\"ScrollLock\"),e(80,\";\",\";\",\"OEM_1\"),e(81,\"=\",\"=\",\"OEM_PLUS\"),e(82,\",\",\",\",\"OEM_COMMA\"),e(83,\"-\",\"-\",\"OEM_MINUS\"),e(84,\".\",\".\",\"OEM_PERIOD\"),e(85,\"/\",\"/\",\"OEM_2\"),e(86,\"`\",\"`\",\"OEM_3\"),e(110,\"ABNT_C1\"),e(111,\"ABNT_C2\"),e(87,\"[\",\"[\",\"OEM_4\"),e(88,\"\\\\\",\"\\\\\",\"OEM_5\"),e(89,\"]\",\"]\",\"OEM_6\"),e(90,\"'\",\"'\",\"OEM_7\"),e(91,\"OEM_8\"),e(92,\"OEM_102\"),e(93,\"NumPad0\"),e(94,\"NumPad1\"),e(95,\"NumPad2\"),e(96,\"NumPad3\"),e(97,\"NumPad4\"),e(98,\"NumPad5\"),e(99,\"NumPad6\"),e(100,\"NumPad7\"),e(101,\"NumPad8\"),e(102,\"NumPad9\"),e(103,\"NumPad_Multiply\"),e(104,\"NumPad_Add\"),e(105,\"NumPad_Separator\"),e(106,\"NumPad_Subtract\"),e(107,\"NumPad_Decimal\"),e(108,\"NumPad_Divide\")}(),function(e){e.toString=function(e){return Pe.keyCodeToStr(e)},e.fromString=function(e){return Pe.strToKeyCode(e)},e.toUserSettingsUS=function(e){return Ae.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return xe.keyCodeToStr(e)},e.fromUserSettings=function(e){return Ae.strToKeyCode(e)||xe.strToKeyCode(e)}}(Le||(Le={}));(function(){function e(e,t,n,r,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.getHashCode=function(){return\"\"+(this.ctrlKey?\"1\":\"0\")+(this.shiftKey?\"1\":\"0\")+(this.altKey?\"1\":\"0\")+(this.metaKey?\"1\":\"0\")+this.keyCode},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode}})(),function(){function e(e,t){this.type=2,this.firstPart=e,this.chordPart=t}e.prototype.getHashCode=function(){return this.firstPart.getHashCode()+\";\"+this.chordPart.getHashCode()}}();var Oe,ke=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){e[e.LTR=0]=\"LTR\",e[e.RTL=1]=\"RTL\"}(Oe||(Oe={}));var Me,Ie,De=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r,i)||this;return o.selectionStartLineNumber=t,o.selectionStartColumn=n,o.positionLineNumber=r,o.positionColumn=i,o}return ke(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return\"[\"+this.selectionStartLineNumber+\",\"+this.selectionStartColumn+\" -> \"+this.positionLineNumber+\",\"+this.positionColumn+\"]\"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?Oe.LTR:Oe.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===Oe.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new N(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===Oe.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,r=e.length;n<r;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0},t.isISelection=function(e){return e&&\"number\"==typeof e.selectionStartLineNumber&&\"number\"==typeof e.selectionStartColumn&&\"number\"==typeof e.positionLineNumber&&\"number\"==typeof e.positionColumn},t.createWithDirection=function(e,n,r,i,o){return o===Oe.LTR?new t(e,n,r,i):new t(r,i,e,n)},t}(L),Te=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}});(Ie=Me||(Me={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ye.None}),Ie.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Te});var Ue,Re,Ke=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))},Object.defineProperty(e.prototype,\"isCancellationRequested\",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onCancellationRequested\",{get:function(){return this._isCancelled?Te:(this._emitter||(this._emitter=new Se),this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)},e}(),je=function(){function e(){}return Object.defineProperty(e.prototype,\"token\",{get:function(){return this._token||(this._token=new Ke),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof Ke&&this._token.cancel():this._token=Me.Cancelled},e.prototype.dispose=function(){this._token?this._token instanceof Ke&&this._token.dispose():this._token=Me.None},e}(),qe=function(){function e(e,t,n){this.offset=0|e,this.type=t,this.language=n}return e.prototype.toString=function(){return\"(\"+this.offset+\", \"+this.type+\")\"},e}();!function(e){e[e.Ignore=0]=\"Ignore\",e[e.Info=1]=\"Info\",e[e.Warning=2]=\"Warning\",e[e.Error=3]=\"Error\"}(Ue||(Ue={})),function(e){e[e.Hint=1]=\"Hint\",e[e.Info=2]=\"Info\",e[e.Warning=4]=\"Warning\",e[e.Error=8]=\"Error\"}(Re||(Re={}));var Fe,Ve=function(){function e(){}return e.chord=function(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();!function(e){e[e.Unknown=0]=\"Unknown\",e[e.Backspace=1]=\"Backspace\",e[e.Tab=2]=\"Tab\",e[e.Enter=3]=\"Enter\",e[e.Shift=4]=\"Shift\",e[e.Ctrl=5]=\"Ctrl\",e[e.Alt=6]=\"Alt\",e[e.PauseBreak=7]=\"PauseBreak\",e[e.CapsLock=8]=\"CapsLock\",e[e.Escape=9]=\"Escape\",e[e.Space=10]=\"Space\",e[e.PageUp=11]=\"PageUp\",e[e.PageDown=12]=\"PageDown\",e[e.End=13]=\"End\",e[e.Home=14]=\"Home\",e[e.LeftArrow=15]=\"LeftArrow\",e[e.UpArrow=16]=\"UpArrow\",e[e.RightArrow=17]=\"RightArrow\",e[e.DownArrow=18]=\"DownArrow\",e[e.Insert=19]=\"Insert\",e[e.Delete=20]=\"Delete\",e[e.KEY_0=21]=\"KEY_0\",e[e.KEY_1=22]=\"KEY_1\",e[e.KEY_2=23]=\"KEY_2\",e[e.KEY_3=24]=\"KEY_3\",e[e.KEY_4=25]=\"KEY_4\",e[e.KEY_5=26]=\"KEY_5\",e[e.KEY_6=27]=\"KEY_6\",e[e.KEY_7=28]=\"KEY_7\",e[e.KEY_8=29]=\"KEY_8\",e[e.KEY_9=30]=\"KEY_9\",e[e.KEY_A=31]=\"KEY_A\",e[e.KEY_B=32]=\"KEY_B\",e[e.KEY_C=33]=\"KEY_C\",e[e.KEY_D=34]=\"KEY_D\",e[e.KEY_E=35]=\"KEY_E\",e[e.KEY_F=36]=\"KEY_F\",e[e.KEY_G=37]=\"KEY_G\",e[e.KEY_H=38]=\"KEY_H\",e[e.KEY_I=39]=\"KEY_I\",e[e.KEY_J=40]=\"KEY_J\",e[e.KEY_K=41]=\"KEY_K\",e[e.KEY_L=42]=\"KEY_L\",e[e.KEY_M=43]=\"KEY_M\",e[e.KEY_N=44]=\"KEY_N\",e[e.KEY_O=45]=\"KEY_O\",e[e.KEY_P=46]=\"KEY_P\",e[e.KEY_Q=47]=\"KEY_Q\",e[e.KEY_R=48]=\"KEY_R\",e[e.KEY_S=49]=\"KEY_S\",e[e.KEY_T=50]=\"KEY_T\",e[e.KEY_U=51]=\"KEY_U\",e[e.KEY_V=52]=\"KEY_V\",e[e.KEY_W=53]=\"KEY_W\",e[e.KEY_X=54]=\"KEY_X\",e[e.KEY_Y=55]=\"KEY_Y\",e[e.KEY_Z=56]=\"KEY_Z\",e[e.Meta=57]=\"Meta\",e[e.ContextMenu=58]=\"ContextMenu\",e[e.F1=59]=\"F1\",e[e.F2=60]=\"F2\",e[e.F3=61]=\"F3\",e[e.F4=62]=\"F4\",e[e.F5=63]=\"F5\",e[e.F6=64]=\"F6\",e[e.F7=65]=\"F7\",e[e.F8=66]=\"F8\",e[e.F9=67]=\"F9\",e[e.F10=68]=\"F10\",e[e.F11=69]=\"F11\",e[e.F12=70]=\"F12\",e[e.F13=71]=\"F13\",e[e.F14=72]=\"F14\",e[e.F15=73]=\"F15\",e[e.F16=74]=\"F16\",e[e.F17=75]=\"F17\",e[e.F18=76]=\"F18\",e[e.F19=77]=\"F19\",e[e.NumLock=78]=\"NumLock\",e[e.ScrollLock=79]=\"ScrollLock\",e[e.US_SEMICOLON=80]=\"US_SEMICOLON\",e[e.US_EQUAL=81]=\"US_EQUAL\",e[e.US_COMMA=82]=\"US_COMMA\",e[e.US_MINUS=83]=\"US_MINUS\",e[e.US_DOT=84]=\"US_DOT\",e[e.US_SLASH=85]=\"US_SLASH\",e[e.US_BACKTICK=86]=\"US_BACKTICK\",e[e.US_OPEN_SQUARE_BRACKET=87]=\"US_OPEN_SQUARE_BRACKET\",e[e.US_BACKSLASH=88]=\"US_BACKSLASH\",e[e.US_CLOSE_SQUARE_BRACKET=89]=\"US_CLOSE_SQUARE_BRACKET\",e[e.US_QUOTE=90]=\"US_QUOTE\",e[e.OEM_8=91]=\"OEM_8\",e[e.OEM_102=92]=\"OEM_102\",e[e.NUMPAD_0=93]=\"NUMPAD_0\",e[e.NUMPAD_1=94]=\"NUMPAD_1\",e[e.NUMPAD_2=95]=\"NUMPAD_2\",e[e.NUMPAD_3=96]=\"NUMPAD_3\",e[e.NUMPAD_4=97]=\"NUMPAD_4\",e[e.NUMPAD_5=98]=\"NUMPAD_5\",e[e.NUMPAD_6=99]=\"NUMPAD_6\",e[e.NUMPAD_7=100]=\"NUMPAD_7\",e[e.NUMPAD_8=101]=\"NUMPAD_8\",e[e.NUMPAD_9=102]=\"NUMPAD_9\",e[e.NUMPAD_MULTIPLY=103]=\"NUMPAD_MULTIPLY\",e[e.NUMPAD_ADD=104]=\"NUMPAD_ADD\",e[e.NUMPAD_SEPARATOR=105]=\"NUMPAD_SEPARATOR\",e[e.NUMPAD_SUBTRACT=106]=\"NUMPAD_SUBTRACT\",e[e.NUMPAD_DECIMAL=107]=\"NUMPAD_DECIMAL\",e[e.NUMPAD_DIVIDE=108]=\"NUMPAD_DIVIDE\",e[e.KEY_IN_COMPOSITION=109]=\"KEY_IN_COMPOSITION\",e[e.ABNT_C1=110]=\"ABNT_C1\",e[e.ABNT_C2=111]=\"ABNT_C2\",e[e.MAX_VALUE=112]=\"MAX_VALUE\"}(Fe||(Fe={}));var We=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ye=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return We(t,e),Object.defineProperty(t.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"version\",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"eol\",{get:function(){return this._eol},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){return this.getText()},t.prototype.getLinesContent=function(){return this._lines.slice(0)},t.prototype.getLineCount=function(){return this._lines.length},t.prototype.getLineContent=function(e){return this._lines[e-1]},t.prototype.getWordAtPosition=function(e,t){var n=function(e,t,n,r){t.lastIndex=0;var i=t.exec(n);if(!i)return null;var o=i[0].indexOf(\" \")>=0?function(e,t,n,r){var i,o=e-1-r;for(t.lastIndex=0;i=t.exec(n);){if(i.index>o)return null;if(t.lastIndex>=o)return{word:i[0],startColumn:r+1+i.index,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r):function(e,t,n,r){var i,o=e-1-r,s=n.lastIndexOf(\" \",o-1)+1,u=n.indexOf(\" \",o);for(-1===u&&(u=n.length),t.lastIndex=s;i=t.exec(n);)if(i.index<=o&&t.lastIndex>=o)return{word:i[0],startColumn:r+1+i.index,endColumn:r+1+t.lastIndex};return null}(e,t,n,r);return t.lastIndex=0,o}(e.column,function(e){var t=ae;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n=\"g\";e.ignoreCase&&(n+=\"i\"),e.multiline&&(n+=\"m\"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}(t),this._lines[e.lineNumber-1],0);return n?new L(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:\"\",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n=this,r={done:!1,value:\"\"},i=0,o=0,s=[],u=function(){if(o<s.length)r.done=!1,r.value=t.substring(s[o].start,s[o].end),o+=1;else{if(!(i>=n._lines.length))return t=n._lines[i],s=n._wordenize(t,e),o=0,i+=1,u();r.done=!0,r.value=void 0}return r};return{next:u}},t.prototype._wordenize=function(e,t){var n,r=[];for(t.lastIndex=0;(n=t.exec(e))&&0!==n[0].length;)r.push({start:n.index,end:n.index+n[0].length});return r},t.prototype.getValueInRange=function(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);var t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(var o=n+1;o<r;o++)i.push(this._lines[o]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)},t.prototype.offsetAt=function(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getAccumulatedValue(e.lineNumber-2)+(e.column-1)},t.prototype.positionAt=function(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();var t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}},t.prototype._validateRange=function(e){var t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e},t.prototype._validatePosition=function(e){if(!N.isIPosition(e))throw new Error(\"bad position\");var t=e.lineNumber,n=e.column,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)}return r?{lineNumber:t,column:n}:e},t}(ee),He=function(e){function t(t){var n=e.call(this,t)||this;return n._models=Object.create(null),n}return We(t,e),t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new Ye(y.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t}(function(){function e(e){this._foreignModuleFactory=e,this._foreignModule=null}return e.prototype.computeDiff=function(e,t,n){var r=this._getModel(e),i=this._getModel(t);if(!r||!i)return null;var o=r.getLinesContent(),s=i.getLinesContent(),u=new z(o,s,{shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0});return E.b.as(u.computeDiff())},e.prototype.computeDirtyDiff=function(e,t,n){var r=this._getModel(e),i=this._getModel(t);if(!r||!i)return null;var o=r.getLinesContent(),s=i.getLinesContent(),u=new z(o,s,{shouldPostProcessCharChanges:!1,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0});return E.b.as(u.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,n){var r=this._getModel(t);if(!r)return E.b.as(n);for(var i,o=[],s=0,u=n;s<u.length;s++){var a=u[s],l=a.range,c=a.text,h=a.eol;if(\"number\"==typeof h&&(i=h),l){var f=r.getValueInRange(l);if(f!==(c=c.replace(/\\r\\n|\\n|\\r/g,r.eol)))if(Math.max(c.length,f.length)>e._diffLimit)o.push({range:l,text:c});else for(var p=A(f,c,!1),d=r.offsetAt(L.lift(l).getStartPosition()),m=0,_=p;m<_.length;m++){var g=_[m],v=r.positionAt(d+g.originalStart),y=r.positionAt(d+g.originalStart+g.originalLength),b={text:c.substr(g.modifiedStart,g.modifiedLength),range:{startLineNumber:v.lineNumber,startColumn:v.column,endLineNumber:y.lineNumber,endColumn:y.column}};r.getValueInRange(b.range)!==b.text&&o.push(b)}}}return\"number\"==typeof i&&o.push({eol:i,text:void 0,range:void 0}),E.b.as(o)},e.prototype.computeLinks=function(e){var t=this._getModel(e);return t?E.b.as(function(e){return e&&\"function\"==typeof e.getLineCount&&\"function\"==typeof e.getLineContent?oe.computeLinks(e):[]}(t)):null},e.prototype.textualSuggest=function(t,n,r,i){var o=this._getModel(t);if(o){var s=[],u=new RegExp(r,i),a=o.getWordUntilPosition(n,u).word,l=Object.create(null);l[a]=!0;for(var c=o.createWordIterator(u),h=c.next();!h.done&&s.length<=e._suggestionsLimit;h=c.next()){var f=h.value;l[f]||(l[f]=!0,isNaN(Number(f))&&s.push({type:\"text\",label:f,insertText:f,noAutoAccept:!0,overwriteBefore:a.length}))}return E.b.as({suggestions:s})}},e.prototype.navigateValueSet=function(e,t,n,r,i){var o=this._getModel(e);if(!o)return null;var s=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});var u=o.getValueInRange(t),a=o.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},s),l=null;null!==a&&(l=o.getValueInRange(a));var c=se.INSTANCE.navigateValueSet(t,u,a,l,n);return E.b.as(c)},e.prototype.loadForeignModule=function(e,t){var r=this,i={getMirrorModels:function(){return r._getModels()}};if(this._foreignModuleFactory){this._foreignModule=this._foreignModuleFactory(i,t);var o=[];for(var s in this._foreignModule)\"function\"==typeof this._foreignModule[s]&&o.push(s);return E.b.as(o)}return new E.b(function(o,s){n.e(1).then(function(){var s=[n(5)(e)];(function(e){r._foreignModule=e.create(i,t);var n=[];for(var s in r._foreignModule)\"function\"==typeof r._foreignModule[s]&&n.push(s);o(n)}).apply(null,s)}).catch(s.bind(this))})},e.prototype.fmr=function(e,t){if(!this._foreignModule||\"function\"!=typeof this._foreignModule[e])return E.b.wrapError(new Error(\"Missing requestHandler or method: \"+e));try{return E.b.as(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return E.b.wrapError(e)}},e._diffLimit=1e4,e._suggestionsLimit=1e4,e}());\"function\"==typeof importScripts&&(i.a.monaco={editor:void 0,languages:void 0,CancellationTokenSource:je,Emitter:Se,KeyCode:Fe,KeyMod:Ve,Position:N,Range:L,Selection:De,SelectionDirection:Oe,Severity:Ue,MarkerSeverity:Re,Promise:E.b,Uri:y,Token:qe});var Be=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();var Je=function(){function e(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var n=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new E.b(function(e,r,i){t.activePromise.then(n,n,i).done(e)},function(){t.activePromise.cancel()})}return new E.b(function(e,n,r){t.queuedPromise.then(e,n,r)},function(){})}return this.activePromise=e(),new E.b(function(e,n,r){t.activePromise.done(function(n){t.activePromise=null,e(n)},function(e){t.activePromise=null,n(e)},r)},function(){t.activePromise.cancel()})},e}(),ze=(function(){function e(){this.current=E.b.wrap(null)}e.prototype.queue=function(e){return this.current=this.current.then(function(){return e()})}}(),function(e){function t(t){var n=e.call(this,t)||this;return n.throttler=new Je,n}Be(t,e),t.prototype.trigger=function(t,n){var r=this;return e.prototype.trigger.call(this,function(){return r.throttler.queue(t)},n)}}(function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new E.b(function(e){n.onSuccess=e},function(){}).then(function(){n.completionPromise=null,n.onSuccess=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.onSuccess(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}()),function(){function e(){var e=this;this._isOpen=!1,this._promise=new E.b(function(t,n,r){e._completePromise=t},function(){console.warn(\"You should really not try to cancel this ready promise!\")})}e.prototype.isOpen=function(){return this._isOpen},e.prototype.open=function(){this._isOpen=!0,this._completePromise(!0)},e.prototype.wait=function(){return this._promise}}(),function(e){function t(t){var n,r,i,o;return n=e.call(this,function(e,t,n){r=e,i=t,o=n},function(){var e;i(((e=new Error(ge)).name=e.message,e))})||this,t.then(r,i,o),n}return Be(t,e),t}(E.b));function Qe(e,t){return n=e,E.b.is(n)&&\"function\"==typeof n.done?new E.b(function(n,r,i){e.done(function(e){try{t(e)}catch(e){me(e)}n(e)},function(e){try{t(e)}catch(e){me(e)}r(e)},function(e){i(e)})},function(){e.cancel()}):(e.then(function(e){return t()},function(e){return t()}),e);var n}var Ge=function(e){function t(){return e.call(this,1)||this}return Be(t,e),t}(function(){function e(e){this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onFinished=new Se}return Object.defineProperty(e.prototype,\"onFinished\",{get:function(){return this._onFinished.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){return this.runningPromises+this.outstandingPromises.length},enumerable:!0,configurable:!0}),e.prototype.queue=function(e){var t=this;return new E.b(function(n,r,i){t.outstandingPromises.push({factory:e,c:n,e:r,p:i}),t.consume()})},e.prototype.consume=function(){for(var e=this;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){var t=this.outstandingPromises.shift();this.runningPromises++;var n=t.factory();n.done(t.c,t.e,t.p),n.done(function(){return e.consumed()},function(){return e.consumed()})}},e.prototype.consumed=function(){this.runningPromises--,this.outstandingPromises.length>0?this.consume():this._onFinished.fire()},e.prototype.dispose=function(){this._onFinished.dispose()},e}());!function(){function e(){this.queues=Object.create(null)}e.prototype.queueFor=function(e){var t=this,n=e.toString();if(!this.queues[n]){var r=new Ge;r.onFinished(function(){r.dispose(),delete t.queues[n]}),this.queues[n]=r}return this.queues[n]}}();(function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}Be(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){var n=this;this.cancel(),this._token=setTimeout(function(){n._token=-1,e()},t)},t.prototype.setIfNotSet=function(e,t){var n=this;-1===this._token&&(this._token=setTimeout(function(){n._token=-1,e()},t))}})(fe),function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}Be(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval(function(){e()},t)}}(fe),function(){function e(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}e.prototype.dispose=function(){this.cancel(),this.runner=null},e.prototype.cancel=function(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)},e.prototype.schedule=function(e){void 0===e&&(e=this.timeout),this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)},e.prototype.isScheduled=function(){return-1!==this.timeoutToken},e.prototype.onTimeout=function(){this.timeoutToken=-1,this.runner&&this.runner()}}();!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}Be(t,e),t.prototype.throttle=function(e){var t=this;return this.suspended=!0,Qe(e,function(){return t.resume()})},t.prototype.fire=function(t){return this.suspended?(this.lastEvent=t,void(this.hasLastEvent=!0)):e.prototype.fire.call(this,t)},t.prototype.resume=function(){this.suspended=!1,this.hasLastEvent&&this.fire(this.lastEvent),this.hasLastEvent=!1,this.lastEvent=void 0}}(Se);var Xe=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),$e=\"$initialize\";var Ze=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var n=String(++this._lastSentReq),r={c:null,e:null},i=new E.b(function(e,t,n){r.c=e,r.e=t},function(){});return this._pendingReplies[n]=r,this._send({vsWorker:this._workerId,req:n,method:e,args:t}),i},e.prototype.handleMessage=function(e){var t;try{t=JSON.parse(e)}catch(e){}t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var n=e;if(!this._pendingReplies[n.seq])return void console.warn(\"Got reply to unknown seq\");var r=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){var i=n.err;return n.err.$isError&&((i=new Error).name=n.err.name,i.message=n.err.message,i.stack=n.err.stack),void r.e(i)}r.c(n.res)}else{var o=e,s=o.req;this._handler.handleMessage(o.method,o.args).then(function(e){t._send({vsWorker:t._workerId,seq:s,res:e,err:void 0})},function(e){e.detail instanceof Error&&(e.detail=_e(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:_e(e)})})}},e.prototype._send=function(e){var t=JSON.stringify(e);this._handler.sendMessage(t)},e}(),et=(function(e){function t(t,n){var r=e.call(this)||this,i=null,o=null;r._worker=r._register(t.create(\"vs/base/common/worker/simpleWorker\",function(e){r._protocol.handleMessage(e)},function(e){o(e)})),r._protocol=new Ze({sendMessage:function(e){r._worker.postMessage(e)},handleMessage:function(e,t){return E.b.as(null)}}),r._protocol.setWorkerId(r._worker.getId());var s=null;void 0!==self.require&&\"function\"==typeof self.require.getConfig?s=self.require.getConfig():void 0!==self.requirejs&&(s=self.requirejs.s.contexts._.config),r._lazyProxy=new E.b(function(e,t,n){i=e,o=t},function(){}),r._onModuleLoaded=r._protocol.sendMessage($e,[r._worker.getId(),n,s]),r._onModuleLoaded.then(function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=a(e[n],u);i(t)},function(e){o(e),r._onError(\"Worker failed to load \"+n,e)});var u=function(e,t){return r._request(e,t)},a=function(e,t){return function(){var n=Array.prototype.slice.call(arguments,0);return t(e,n)}};return r}Xe(t,e),t.prototype.getProxyObject=function(){return new ze(this._lazyProxy)},t.prototype._request=function(e,t){var n=this;return new E.b(function(r,i,o){n._onModuleLoaded.then(function(){n._protocol.sendMessage(e,t).then(r,i)},i)},function(){})},t.prototype._onError=function(e,t){console.error(e),console.info(t)}}(fe),function(){function e(e,t){var n=this;this._requestHandler=t,this._protocol=new Ze({sendMessage:function(t){e(t)},handleMessage:function(e,t){return n._handleMessage(e,t)}})}return e.prototype.onmessage=function(e){this._protocol.handleMessage(e)},e.prototype._handleMessage=function(e,t){if(e===$e)return this.initialize(t[0],t[1],t[2]);if(!this._requestHandler||\"function\"!=typeof this._requestHandler[e])return E.b.wrapError(new Error(\"Missing requestHandler or method: \"+e));try{return E.b.as(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return E.b.wrapError(e)}},e.prototype.initialize=function(e,t,n){var r,i,o=this;if(this._protocol.setWorkerId(e),this._requestHandler){var s=[];for(var u in this._requestHandler)\"function\"==typeof this._requestHandler[u]&&s.push(u);return E.b.as(s)}n&&(void 0!==n.baseUrl&&delete n.baseUrl,void 0!==n.paths&&void 0!==n.paths.vs&&delete n.paths.vs,n.catchError=!0,self.require.config(n));var a=new E.b(function(e,t,n){r=e,i=t});return self.require([t],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];o._requestHandler=n.create();var i=[];for(var s in o._requestHandler)\"function\"==typeof o._requestHandler[s]&&i.push(s);r(i)},i),a},e}());n.d(t,\"initialize\",function(){return nt});var tt=!1;function nt(e){if(!tt){tt=!0;var t=new He(e),n=new et(function(e){self.postMessage(e)},t);self.onmessage=function(e){n.onmessage(e.data)}}}self.onmessage=function(e){tt||nt(null)}}]);"
  },
  {
    "path": "latest/6.js",
    "content": "(this.webpackJsonp=this.webpackJsonp||[]).push([[6],{541:function(e,t,n){\"use strict\";n.r(t);var r,i,o,a,u,s,c,f,d=monaco.Promise,l=function(){function e(e){var t=this;this._defaults=e,this._worker=null,this._idleCheckInterval=setInterval(function(){return t._checkIfIdle()},3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(function(){return t._stopWorker()})}return e.prototype._stopWorker=function(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null},e.prototype.dispose=function(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()},e.prototype._checkIfIdle=function(){this._worker&&(Date.now()-this._lastUsedTime>12e4&&this._stopWorker())},e.prototype._getClient=function(){return this._lastUsedTime=Date.now(),this._client||(this._worker=monaco.editor.createWebWorker({moduleId:\"vs/language/json/jsonWorker\",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,t,n,r,i,o=this,a=[],u=0;u<arguments.length;u++)a[u]=arguments[u];return t=this._getClient().then(function(t){e=t}).then(function(e){return o._worker.withSyncedResources(a)}).then(function(t){return e}),i=new d(function(e,t){n=e,r=t},function(){}),t.then(n,r),i},e}();!function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return F.defined(t)&&F.number(t.line)&&F.number(t.character)}}(r||(r={})),function(e){e.create=function(e,t,n,i){if(F.number(e)&&F.number(t)&&F.number(n)&&F.number(i))return{start:r.create(e,t),end:r.create(n,i)};if(r.is(e)&&r.is(t))return{start:e,end:t};throw new Error(\"Range#create called with invalid arguments[\"+e+\", \"+t+\", \"+n+\", \"+i+\"]\")},e.is=function(e){var t=e;return F.defined(t)&&r.is(t.start)&&r.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return F.defined(t)&&i.is(t.range)&&(F.string(t.uri)||F.undefined(t.uri))}}(o||(o={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(a||(a={})),function(e){e.create=function(e,t,n,r,i){var o={range:e,message:t};return F.defined(n)&&(o.severity=n),F.defined(r)&&(o.code=r),F.defined(i)&&(o.source=i),o},e.is=function(e){var t=e;return F.defined(t)&&i.is(t.range)&&F.string(t.message)&&(F.number(t.severity)||F.undefined(t.severity))&&(F.number(t.code)||F.string(t.code)||F.undefined(t.code))&&(F.string(t.source)||F.undefined(t.source))}}(u||(u={})),function(e){e.create=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={title:e,command:t};return F.defined(n)&&n.length>0&&(i.arguments=n),i},e.is=function(e){var t=e;return F.defined(t)&&F.string(t.title)&&F.string(t.title)}}(s||(s={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:\"\"}}}(c||(c={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return F.defined(t)&&g.is(t.textDocument)&&Array.isArray(t.edits)}}(f||(f={}));var h,g,p,m,v,b,_,k,C,y,w,E,S,x,I,A,T,M,P=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(c.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(c.replace(e,t))},e.prototype.delete=function(e){this.edits.push(c.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach(function(e){var n=new P(e.edits);t._textEditChanges[e.textDocument.uri]=n}):e.changes&&Object.keys(e.changes).forEach(function(n){var r=new P(e.changes[n]);t._textEditChanges[n]=r}))}Object.defineProperty(e.prototype,\"edit\",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(g.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error(\"Workspace edit is not configured for versioned document changes.\");var t=e;if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new P(i),this._textEditChanges[t.uri]=r}return r}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error(\"Workspace edit is not configured for normal text edit changes.\");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new P(i),this._textEditChanges[e]=r}return r}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return F.defined(t)&&F.string(t.uri)}}(h||(h={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return F.defined(t)&&F.string(t.uri)&&F.number(t.version)}}(g||(g={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return F.defined(t)&&F.string(t.uri)&&F.string(t.languageId)&&F.number(t.version)&&F.string(t.text)}}(p||(p={})),function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\"}(m||(m={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(v||(v={})),function(e){e.PlainText=1,e.Snippet=2}(b||(b={})),function(e){e.create=function(e){return{label:e}}}(_||(_={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(k||(k={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}}(C||(C={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(y||(y={})),function(e){e.create=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={label:e};return F.defined(t)&&(i.documentation=t),F.defined(n)?i.parameters=n:i.parameters=[],i}}(w||(w={})),function(e){e.Text=1,e.Read=2,e.Write=3}(E||(E={})),function(e){e.create=function(e,t){var n={range:e};return F.number(t)&&(n.kind=t),n}}(S||(S={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(x||(x={})),function(e){e.create=function(e,t,n,r,i){var o={name:e,kind:t,location:{uri:r,range:n}};return i&&(o.containerName=i),o}}(I||(I={})),function(e){e.create=function(e){return{diagnostics:e}},e.is=function(e){var t=e;return F.defined(t)&&F.typedArray(t.diagnostics,u.is)}}(A||(A={})),function(e){e.create=function(e,t){var n={range:e};return F.defined(t)&&(n.data=t),n},e.is=function(e){var t=e;return F.defined(t)&&i.is(t.range)&&(F.undefined(t.command)||s.is(t.command))}}(T||(T={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){var t=e;return F.defined(t)&&F.number(t.tabSize)&&F.boolean(t.insertSpaces)}}(M||(M={}));var j=function(){return function(){}}();!function(e){e.create=function(e,t){return{range:e,target:t}},e.is=function(e){var t=e;return F.defined(t)&&i.is(t.range)&&(F.undefined(t.target)||F.string(t.target))}}(j||(j={}));var O,D;!function(e){e.create=function(e,t,n,r){return new W(e,t,n,r)},e.is=function(e){var t=e;return!!(F.defined(t)&&F.string(t.uri)&&(F.undefined(t.languageId)||F.string(t.languageId))&&F.number(t.lineCount)&&F.func(t.getText)&&F.func(t.positionAt)&&F.func(t.offsetAt))},e.applyEdits=function(e,t){for(var n=e.getText(),r=function e(t,n){if(t.length<=1)return t;var r=t.length/2|0,i=t.slice(0,r),o=t.slice(r);e(i,n),e(o,n);for(var a=0,u=0,s=0;a<i.length&&u<o.length;){var c=n(i[a],o[u]);t[s++]=c<=0?i[a++]:o[u++]}for(;a<i.length;)t[s++]=i[a++];for(;u<o.length;)t[s++]=o[u++];return t}(t,function(e,t){return 0==e.range.start.line-t.range.start.line?e.range.start.character-t.range.start.character:0}),i=n.length,o=r.length-1;o>=0;o--){var a=r[o],u=e.offsetAt(a.range.start),s=e.offsetAt(a.range.end);if(!(s<=i))throw new Error(\"Ovelapping edit\");n=n.substring(0,u)+a.newText+n.substring(s,n.length),i=u}return n}}(O||(O={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(D||(D={}));var F,W=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=null}return Object.defineProperty(e.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"languageId\",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"version\",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r<t.length;r++){n&&(e.push(r),n=!1);var i=t.charAt(r);n=\"\\r\"===i||\"\\n\"===i,\"\\r\"===i&&r+1<t.length&&\"\\n\"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return r.create(0,e);for(;n<i;){var o=Math.floor((n+i)/2);t[o]>e?i=o:n=o+1}var a=n-1;return r.create(a,e-t[a])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(e.prototype,\"lineCount\",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return\"[object String]\"===t.call(e)},e.number=function(e){return\"[object Number]\"===t.call(e)},e.func=function(e){return\"[object Function]\"===t.call(e)},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(F||(F={}));var N=monaco.Uri,L=monaco.Range,V=function(){function e(e,t,n){var r=this;this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);var i=function(e){var t,n=e.getModeId();n===r._languageId&&(r._listener[e.uri.toString()]=e.onDidChangeContent(function(){clearTimeout(t),t=setTimeout(function(){return r._doValidate(e.uri,n)},500)}),r._doValidate(e.uri,n))},o=function(e){monaco.editor.setModelMarkers(e,r._languageId,[]);var t=e.uri.toString(),n=r._listener[t];n&&(n.dispose(),delete r._listener[t])};this._disposables.push(monaco.editor.onDidCreateModel(i)),this._disposables.push(monaco.editor.onWillDisposeModel(function(e){o(e),r._resetSchema(e.uri)})),this._disposables.push(monaco.editor.onDidChangeModelLanguage(function(e){o(e.model),i(e.model),r._resetSchema(e.model.uri)})),this._disposables.push(n.onDidChange(function(e){monaco.editor.getModels().forEach(function(e){e.getModeId()===r._languageId&&(o(e),i(e))})})),this._disposables.push({dispose:function(){for(var e in monaco.editor.getModels().forEach(o),r._listener)r._listener[e].dispose()}}),monaco.editor.getModels().forEach(i)}return e.prototype.dispose=function(){this._disposables.forEach(function(e){return e&&e.dispose()}),this._disposables=[]},e.prototype._resetSchema=function(e){this._worker().then(function(t){t.resetSchema(e.toString())})},e.prototype._doValidate=function(e,t){this._worker(e).then(function(n){return n.doValidation(e.toString()).then(function(n){var r=n.map(function(e){return n=\"number\"==typeof(t=e).code?String(t.code):t.code,{severity:function(e){switch(e){case a.Error:return monaco.MarkerSeverity.Error;case a.Warning:return monaco.MarkerSeverity.Warning;case a.Information:return monaco.MarkerSeverity.Info;case a.Hint:return monaco.MarkerSeverity.Hint;default:return monaco.MarkerSeverity.Info}}(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source};var t,n}),i=monaco.editor.getModel(e);i.getModeId()===t&&monaco.editor.setModelMarkers(i,t,r)})}).then(void 0,function(e){console.error(e)})},e}();function R(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function U(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function H(e){if(e)return new L(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function K(e){var t=monaco.languages.CompletionItemKind;switch(e){case v.Text:return t.Text;case v.Method:return t.Method;case v.Function:return t.Function;case v.Constructor:return t.Constructor;case v.Field:return t.Field;case v.Variable:return t.Variable;case v.Class:return t.Class;case v.Interface:return t.Interface;case v.Module:return t.Module;case v.Property:return t.Property;case v.Unit:return t.Unit;case v.Value:return t.Value;case v.Enum:return t.Enum;case v.Keyword:return t.Keyword;case v.Snippet:return t.Snippet;case v.Color:return t.Color;case v.File:return t.File;case v.Reference:return t.Reference}return t.Property}function z(e){if(e)return{range:H(e.range),text:e.newText}}var B=function(){function e(e){this._worker=e}return Object.defineProperty(e.prototype,\"triggerCharacters\",{get:function(){return[\" \",\":\"]},enumerable:!0,configurable:!0}),e.prototype.provideCompletionItems=function(e,t,n){e.getWordUntilPosition(t);var r=e.uri;return Z(n,this._worker(r).then(function(e){return e.doComplete(r.toString(),R(t))}).then(function(e){if(e){var t=e.items.map(function(e){var t={label:e.label,insertText:e.insertText,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,kind:K(e.kind)};return e.textEdit&&(t.range=H(e.textEdit.range),t.insertText=e.textEdit.newText),e.insertTextFormat===b.Snippet&&(t.insertText={value:t.insertText}),t});return{isIncomplete:e.isIncomplete,items:t}}}))},e}();function q(e){return\"string\"==typeof e?{value:e}:(t=e)&&\"object\"==typeof t&&\"string\"==typeof t.kind?\"plaintext\"===e.kind?{value:e.value.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}:{value:e.value}:{value:\"```\"+e.language+\"\\n\"+e.value+\"\\n```\\n\"};var t}var J=function(){function e(e){this._worker=e}return e.prototype.provideHover=function(e,t,n){var r=e.uri;return Z(n,this._worker(r).then(function(e){return e.doHover(r.toString(),R(t))}).then(function(e){if(e)return{range:H(e.range),contents:function(e){if(e)return Array.isArray(e)?e.map(q):[q(e)]}(e.contents)}}))},e}();var $=function(){function e(e){this._worker=e}return e.prototype.provideDocumentSymbols=function(e,t){var n=e.uri;return Z(t,this._worker(n).then(function(e){return e.findDocumentSymbols(n.toString())}).then(function(e){if(e)return e.map(function(e){return{name:e.name,containerName:e.containerName,kind:function(e){var t=monaco.languages.SymbolKind;switch(e){case x.File:return t.Array;case x.Module:return t.Module;case x.Namespace:return t.Namespace;case x.Package:return t.Package;case x.Class:return t.Class;case x.Method:return t.Method;case x.Property:return t.Property;case x.Field:return t.Field;case x.Constructor:return t.Constructor;case x.Enum:return t.Enum;case x.Interface:return t.Interface;case x.Function:return t.Function;case x.Variable:return t.Variable;case x.Constant:return t.Constant;case x.String:return t.String;case x.Number:return t.Number;case x.Boolean:return t.Boolean;case x.Array:return t.Array}return t.Function}(e.kind),location:(t=e.location,{uri:N.parse(t.uri),range:H(t.range)})};var t})}))},e}();function G(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var Q=function(){function e(e){this._worker=e}return e.prototype.provideDocumentFormattingEdits=function(e,t,n){var r=e.uri;return Z(n,this._worker(r).then(function(e){return e.format(r.toString(),null,G(t)).then(function(e){if(e&&0!==e.length)return e.map(z)})}))},e}(),X=function(){function e(e){this._worker=e}return e.prototype.provideDocumentRangeFormattingEdits=function(e,t,n,r){var i=e.uri;return Z(r,this._worker(i).then(function(e){return e.format(i.toString(),U(t),G(n)).then(function(e){if(e&&0!==e.length)return e.map(z)})}))},e}(),Y=function(){function e(e){this._worker=e}return e.prototype.provideDocumentColors=function(e,t){var n=e.uri;return Z(t,this._worker(n).then(function(e){return e.findDocumentColors(n.toString())}).then(function(e){if(e)return e.map(function(e){return{color:e.color,range:H(e.range)}})}))},e.prototype.provideColorPresentations=function(e,t,n){var r=e.uri;return Z(n,this._worker(r).then(function(e){return e.getColorPresentations(r.toString(),t.color,U(t.range))}).then(function(e){if(e)return e.map(function(e){var t={label:e.label};return e.textEdit&&(t.textEdit=z(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(z)),t})}))},e}();function Z(e,t){return t.cancel&&e.onCancellationRequested(function(){return t.cancel()}),t}function ee(e,t){void 0===t&&(t=!1);var n=0,r=e.length,i=\"\",o=0,a=16,u=0;function s(t,r){for(var i=0,o=0;i<t||!r;){var a=e.charCodeAt(n);if(a>=48&&a<=57)o=16*o+a-48;else if(a>=65&&a<=70)o=16*o+a-65+10;else{if(!(a>=97&&a<=102))break;o=16*o+a-97+10}n++,i++}return i<t&&(o=-1),o}function c(){if(i=\"\",u=0,o=n,n>=r)return o=r,a=17;var t=e.charCodeAt(n);if(te(t)){do{n++,i+=String.fromCharCode(t),t=e.charCodeAt(n)}while(te(t));return a=15}if(ne(t))return n++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(n)&&(n++,i+=\"\\n\"),a=14;switch(t){case 123:return n++,a=1;case 125:return n++,a=2;case 91:return n++,a=3;case 93:return n++,a=4;case 58:return n++,a=6;case 44:return n++,a=5;case 34:return n++,i=function(){for(var t=\"\",i=n;;){if(n>=r){t+=e.substring(i,n),u=2;break}var o=e.charCodeAt(n);if(34===o){t+=e.substring(i,n),n++;break}if(92!==o){if(o>=0&&o<=31){if(ne(o)){t+=e.substring(i,n),u=2;break}u=6}n++}else{if(t+=e.substring(i,n),++n>=r){u=2;break}switch(o=e.charCodeAt(n++)){case 34:t+='\"';break;case 92:t+=\"\\\\\";break;case 47:t+=\"/\";break;case 98:t+=\"\\b\";break;case 102:t+=\"\\f\";break;case 110:t+=\"\\n\";break;case 114:t+=\"\\r\";break;case 116:t+=\"\\t\";break;case 117:var a=s(4,!0);a>=0?t+=String.fromCharCode(a):u=4;break;default:u=5}i=n}}return t}(),a=10;case 47:var c=n-1;if(47===e.charCodeAt(n+1)){for(n+=2;n<r&&!ne(e.charCodeAt(n));)n++;return i=e.substring(c,n),a=12}if(42===e.charCodeAt(n+1)){n+=2;for(var d=!1;n<r;){if(42===e.charCodeAt(n)&&n+1<r&&47===e.charCodeAt(n+1)){n+=2,d=!0;break}n++}return d||(n++,u=1),i=e.substring(c,n),a=13}return i+=String.fromCharCode(t),n++,a=16;case 45:if(i+=String.fromCharCode(t),++n===r||!re(e.charCodeAt(n)))return a=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=function(){var t=n;if(48===e.charCodeAt(n))n++;else for(n++;n<e.length&&re(e.charCodeAt(n));)n++;if(n<e.length&&46===e.charCodeAt(n)){if(!(++n<e.length&&re(e.charCodeAt(n))))return u=3,e.substring(t,n);for(n++;n<e.length&&re(e.charCodeAt(n));)n++}var r=n;if(n<e.length&&(69===e.charCodeAt(n)||101===e.charCodeAt(n)))if((++n<e.length&&43===e.charCodeAt(n)||45===e.charCodeAt(n))&&n++,n<e.length&&re(e.charCodeAt(n))){for(n++;n<e.length&&re(e.charCodeAt(n));)n++;r=n}else u=3;return e.substring(t,r)}(),a=11;default:for(;n<r&&f(t);)n++,t=e.charCodeAt(n);if(o!==n){switch(i=e.substring(o,n)){case\"true\":return a=8;case\"false\":return a=9;case\"null\":return a=7}return a=16}return i+=String.fromCharCode(t),n++,a=16}}function f(e){if(te(e)||ne(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:return!1}return!0}return{setPosition:function(e){n=e,i=\"\",o=0,a=16,u=0},getPosition:function(){return n},scan:t?function(){var e;do{e=c()}while(e>=12&&e<=15);return e}:c,getToken:function(){return a},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return n-o},getTokenError:function(){return u}}}function te(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function ne(e){return 10===e||13===e||8232===e||8233===e}function re(e){return e>=48&&e<=57}var ie=ee;function oe(e){return{getInitialState:function(){return new ve(null,null,!1)},tokenize:function(t,n,r,i){return function(e,t,n,r,i){void 0===r&&(r=0);var o=0,a=!1;switch(n.scanError){case 2:t='\"'+t,o=1;break;case 1:t=\"/*\"+t,o=2}var u,s,c=ie(t),f=n.lastWasColon;s={tokens:[],endState:n.clone()};for(;;){var d=r+c.getPosition(),l=\"\";if(17===(u=c.scan()))break;if(d===r+c.getPosition())throw new Error(\"Scanner did not advance, next 3 characters are: \"+t.substr(c.getPosition(),3));switch(a&&(d-=o),a=o>0,u){case 1:case 2:l=ae,f=!1;break;case 3:case 4:l=ue,f=!1;break;case 6:l=se,f=!0;break;case 5:l=ce,f=!1;break;case 8:case 9:l=fe,f=!1;break;case 7:l=de,f=!1;break;case 10:l=f?le:ge,f=!1;break;case 11:l=he,f=!1}if(e)switch(u){case 12:l=me;break;case 13:l=pe}s.endState=new ve(n.getStateData(),c.getTokenError(),f),s.tokens.push({startIndex:d,scopes:l})}return s}(e,t,n,r)}}}var ae=\"delimiter.bracket.json\",ue=\"delimiter.array.json\",se=\"delimiter.colon.json\",ce=\"delimiter.comma.json\",fe=\"keyword.json\",de=\"keyword.json\",le=\"string.value.json\",he=\"number.json\",ge=\"string.key.json\",pe=\"comment.block.json\",me=\"comment.line.json\",ve=function(){function e(e,t,n){this._state=e,this.scanError=t,this.lastWasColon=n}return e.prototype.clone=function(){return new e(this._state,this.scanError,this.lastWasColon)},e.prototype.equals=function(t){return t===this||!!(t&&t instanceof e)&&(this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon)},e.prototype.getStateData=function(){return this._state},e.prototype.setStateData=function(e){this._state=e},e}();function be(e){var t=[],n=new l(e);t.push(n);var r=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n.getLanguageServiceWorker.apply(n,e)},i=e.languageId;t.push(monaco.languages.registerCompletionItemProvider(i,new B(r))),t.push(monaco.languages.registerHoverProvider(i,new J(r))),t.push(monaco.languages.registerDocumentSymbolProvider(i,new $(r))),t.push(monaco.languages.registerDocumentFormattingEditProvider(i,new Q(r))),t.push(monaco.languages.registerDocumentRangeFormattingEditProvider(i,new X(r))),t.push(new V(i,r,e)),t.push(monaco.languages.setTokensProvider(i,oe(!0))),t.push(monaco.languages.setLanguageConfiguration(i,_e)),t.push(monaco.languages.registerColorProvider(i,new Y(r)))}n.d(t,\"setupMode\",function(){return be});var _e={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\[\\{\\]\\}\\:\\\"\\,\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\"]},{open:\"[\",close:\"]\",notIn:[\"string\"]},{open:'\"',close:'\"',notIn:[\"string\"]}]}}}]);"
  },
  {
    "path": "latest/app.js",
    "content": "!function(e){function t(t){for(var n,r,i=t[0],o=t[1],s=0,a=[];s<i.length;s++)r=i[s],M[r]&&a.push(M[r][0]),M[r]=0;for(n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n]);for(T&&T(t);a.length;)a.shift()()}var n=this.webpackHotUpdate;this.webpackHotUpdate=function(e,t){!function(e,t){if(!C[e]||!_[e])return;for(var n in _[e]=!1,t)Object.prototype.hasOwnProperty.call(t,n)&&(g[n]=t[n]);0==--v&&0===y&&A()}(e,t),n&&n(e,t)};var r,i=!0,o=\"a26353f7167734308499\",s=1e4,a={},u=[],l=[];function c(e){var t=x[e];if(!t)return N;var n=function(n){return t.hot.active?(x[n]?-1===x[n].parents.indexOf(e)&&x[n].parents.push(e):(u=[e],r=n),-1===t.children.indexOf(n)&&t.children.push(n)):(console.warn(\"[HMR] unexpected require(\"+n+\") from disposed module \"+e),u=[]),N(n)},i=function(e){return{configurable:!0,enumerable:!0,get:function(){return N[e]},set:function(t){N[e]=t}}};for(var o in N)Object.prototype.hasOwnProperty.call(N,o)&&\"e\"!==o&&\"t\"!==o&&Object.defineProperty(n,o,i(o));return n.e=function(e){return\"ready\"===d&&p(\"prepare\"),y++,N.e(e).then(t,function(e){throw t(),e});function t(){y--,\"prepare\"===d&&(b[e]||E(e),0===y&&0===v&&A())}},n.t=function(e,t){return 1&t&&(e=n(e)),N.t(e,-2&t)},n}var h=[],d=\"idle\";function p(e){d=e;for(var t=0;t<h.length;t++)h[t].call(null,e)}var f,g,m,v=0,y=0,b={},_={},C={};function w(e){return+e+\"\"===e?+e:e}function D(e){if(\"idle\"!==d)throw new Error(\"check() is only allowed in idle status\");return i=e,p(\"check\"),(t=s,t=t||1e4,new Promise(function(e,n){if(\"undefined\"==typeof XMLHttpRequest)return n(new Error(\"No browser support\"));try{var r=new XMLHttpRequest,i=N.p+\"\"+o+\".hot-update.json\";r.open(\"GET\",i,!0),r.timeout=t,r.send(null)}catch(e){return n(e)}r.onreadystatechange=function(){if(4===r.readyState)if(0===r.status)n(new Error(\"Manifest request to \"+i+\" timed out.\"));else if(404===r.status)e();else if(200!==r.status&&304!==r.status)n(new Error(\"Manifest request to \"+i+\" failed.\"));else{try{var t=JSON.parse(r.responseText)}catch(e){return void n(e)}e(t)}}})).then(function(e){if(!e)return p(\"idle\"),null;_={},b={},C=e.c,m=e.h,p(\"prepare\");var t=new Promise(function(e,t){f={resolve:e,reject:t}});for(var n in g={},M)E(n);return\"prepare\"===d&&0===y&&0===v&&A(),t});var t}function E(e){C[e]?(_[e]=!0,v++,function(e){var t=document.getElementsByTagName(\"head\")[0],n=document.createElement(\"script\");n.charset=\"utf-8\",n.src=N.p+\"\"+e+\".\"+o+\".hot-update.js\",t.appendChild(n)}(e)):b[e]=!0}function A(){p(\"ready\");var e=f;if(f=null,e)if(i)Promise.resolve().then(function(){return S(i)}).then(function(t){e.resolve(t)},function(t){e.reject(t)});else{var t=[];for(var n in g)Object.prototype.hasOwnProperty.call(g,n)&&t.push(w(n));e.resolve(t)}}function S(t){if(\"ready\"!==d)throw new Error(\"apply() is only allowed in ready status\");var n,r,i,s,l;function c(e){for(var t=[e],n={},r=t.slice().map(function(e){return{chain:[e],id:e}});r.length>0;){var i=r.pop(),o=i.id,a=i.chain;if((s=x[o])&&!s.hot._selfAccepted){if(s.hot._selfDeclined)return{type:\"self-declined\",chain:a,moduleId:o};if(s.hot._main)return{type:\"unaccepted\",chain:a,moduleId:o};for(var u=0;u<s.parents.length;u++){var l=s.parents[u],c=x[l];if(c){if(c.hot._declinedDependencies[o])return{type:\"declined\",chain:a.concat([l]),moduleId:o,parentId:l};-1===t.indexOf(l)&&(c.hot._acceptedDependencies[o]?(n[l]||(n[l]=[]),h(n[l],[o])):(delete n[l],t.push(l),r.push({chain:a.concat([l]),id:l})))}}}}return{type:\"accepted\",moduleId:e,outdatedModules:t,outdatedDependencies:n}}function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];-1===e.indexOf(r)&&e.push(r)}}t=t||{};var f={},v=[],y={},b=function(){console.warn(\"[HMR] unexpected require(\"+D.moduleId+\") to disposed module\")};for(var _ in g)if(Object.prototype.hasOwnProperty.call(g,_)){var D;l=w(_);var E=!1,A=!1,S=!1,I=\"\";switch((D=g[_]?c(l):{type:\"disposed\",moduleId:_}).chain&&(I=\"\\nUpdate propagation: \"+D.chain.join(\" -> \")),D.type){case\"self-declined\":t.onDeclined&&t.onDeclined(D),t.ignoreDeclined||(E=new Error(\"Aborted because of self decline: \"+D.moduleId+I));break;case\"declined\":t.onDeclined&&t.onDeclined(D),t.ignoreDeclined||(E=new Error(\"Aborted because of declined dependency: \"+D.moduleId+\" in \"+D.parentId+I));break;case\"unaccepted\":t.onUnaccepted&&t.onUnaccepted(D),t.ignoreUnaccepted||(E=new Error(\"Aborted because \"+l+\" is not accepted\"+I));break;case\"accepted\":t.onAccepted&&t.onAccepted(D),A=!0;break;case\"disposed\":t.onDisposed&&t.onDisposed(D),S=!0;break;default:throw new Error(\"Unexception type \"+D.type)}if(E)return p(\"abort\"),Promise.reject(E);if(A)for(l in y[l]=g[l],h(v,D.outdatedModules),D.outdatedDependencies)Object.prototype.hasOwnProperty.call(D.outdatedDependencies,l)&&(f[l]||(f[l]=[]),h(f[l],D.outdatedDependencies[l]));S&&(h(v,[D.moduleId]),y[l]=b)}var L,k=[];for(r=0;r<v.length;r++)l=v[r],x[l]&&x[l].hot._selfAccepted&&k.push({module:l,errorHandler:x[l].hot._selfAccepted});p(\"dispose\"),Object.keys(C).forEach(function(e){!1===C[e]&&function(e){delete M[e]}(e)});for(var T,F,O=v.slice();O.length>0;)if(l=O.pop(),s=x[l]){var P={},B=s.hot._disposeHandlers;for(i=0;i<B.length;i++)(n=B[i])(P);for(a[l]=P,s.hot.active=!1,delete x[l],delete f[l],i=0;i<s.children.length;i++){var R=x[s.children[i]];R&&((L=R.parents.indexOf(l))>=0&&R.parents.splice(L,1))}}for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(s=x[l]))for(F=f[l],i=0;i<F.length;i++)T=F[i],(L=s.children.indexOf(T))>=0&&s.children.splice(L,1);for(l in p(\"apply\"),o=m,y)Object.prototype.hasOwnProperty.call(y,l)&&(e[l]=y[l]);var j=null;for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(s=x[l])){F=f[l];var z=[];for(r=0;r<F.length;r++)if(T=F[r],n=s.hot._acceptedDependencies[T]){if(-1!==z.indexOf(n))continue;z.push(n)}for(r=0;r<z.length;r++){n=z[r];try{n(F)}catch(e){t.onErrored&&t.onErrored({type:\"accept-errored\",moduleId:l,dependencyId:F[r],error:e}),t.ignoreErrored||j||(j=e)}}}for(r=0;r<k.length;r++){var W=k[r];l=W.module,u=[l];try{N(l)}catch(e){if(\"function\"==typeof W.errorHandler)try{W.errorHandler(e)}catch(n){t.onErrored&&t.onErrored({type:\"self-accept-error-handler-errored\",moduleId:l,error:n,originalError:e}),t.ignoreErrored||j||(j=n),j||(j=e)}else t.onErrored&&t.onErrored({type:\"self-accept-errored\",moduleId:l,error:e}),t.ignoreErrored||j||(j=e)}}return j?(p(\"fail\"),Promise.reject(j)):(p(\"idle\"),new Promise(function(e){e(v)}))}var x={},M={1:0};function N(t){if(x[t])return x[t].exports;var n=x[t]={i:t,l:!1,exports:{},hot:function(e){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:r!==e,active:!0,accept:function(e,n){if(void 0===e)t._selfAccepted=!0;else if(\"function\"==typeof e)t._selfAccepted=e;else if(\"object\"==typeof e)for(var r=0;r<e.length;r++)t._acceptedDependencies[e[r]]=n||function(){};else t._acceptedDependencies[e]=n||function(){}},decline:function(e){if(void 0===e)t._selfDeclined=!0;else if(\"object\"==typeof e)for(var n=0;n<e.length;n++)t._declinedDependencies[e[n]]=!0;else t._declinedDependencies[e]=!0},dispose:function(e){t._disposeHandlers.push(e)},addDisposeHandler:function(e){t._disposeHandlers.push(e)},removeDisposeHandler:function(e){var n=t._disposeHandlers.indexOf(e);n>=0&&t._disposeHandlers.splice(n,1)},check:D,apply:S,status:function(e){if(!e)return d;h.push(e)},addStatusHandler:function(e){h.push(e)},removeStatusHandler:function(e){var t=h.indexOf(e);t>=0&&h.splice(t,1)},data:a[e]};return r=void 0,t}(t),parents:(l=u,u=[],l),children:[]};return e[t].call(n.exports,n,n.exports,c(t)),n.l=!0,n.exports}N.e=function(e){var t=[],n=M[e];if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=M[e]=[t,r]});t.push(n[2]=r);var i,o=document.getElementsByTagName(\"head\")[0],s=document.createElement(\"script\");s.charset=\"utf-8\",s.timeout=120,N.nc&&s.setAttribute(\"nonce\",N.nc),s.src=function(e){return N.p+\"\"+({}[e]||e)+\".js\"}(e),i=function(t){s.onerror=s.onload=null,clearTimeout(a);var n=M[e];if(0!==n){if(n){var r=t&&(\"load\"===t.type?\"missing\":t.type),i=t&&t.target&&t.target.src,o=new Error(\"Loading chunk \"+e+\" failed.\\n(\"+r+\": \"+i+\")\");o.type=r,o.request=i,n[1](o)}M[e]=void 0}};var a=setTimeout(function(){i({type:\"timeout\",target:s})},12e4);s.onerror=s.onload=i,o.appendChild(s)}return Promise.all(t)},N.m=e,N.c=x,N.d=function(e,t,n){N.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},N.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},N.t=function(e,t){if(1&t&&(e=N(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(N.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)N.d(n,r,function(t){return e[t]}.bind(null,r));return n},N.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return N.d(t,\"a\",t),t},N.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},N.p=\"\",N.oe=function(e){throw console.error(e),e},N.h=function(){return o};var I=this.webpackJsonp=this.webpackJsonp||[],L=I.push.bind(I);I.push=t,I=I.slice();for(var k=0;k<I.length;k++)t(I[k]);var T=L;c(538)(N.s=538)}([function(e,t,n){\"use strict\";n.r(t),function(e,r,i,o){n.d(t,\"setBackend\",function(){return Ku}),n.d(t,\"getBackend\",function(){return qu}),n.d(t,\"disposeVariables\",function(){return Qu}),n.d(t,\"memory\",function(){return Xu}),n.d(t,\"version_core\",function(){return Tu}),n.d(t,\"nextFrame\",function(){return Oa}),n.d(t,\"environment\",function(){return ve}),n.d(t,\"io\",function(){return Su}),n.d(t,\"serialization\",function(){return Nu}),n.d(t,\"test_util\",function(){return ku}),n.d(t,\"util\",function(){return W}),n.d(t,\"webgl\",function(){return Fu}),n.d(t,\"AdadeltaOptimizer\",function(){return ju}),n.d(t,\"AdagradOptimizer\",function(){return zu}),n.d(t,\"AdamOptimizer\",function(){return Wu}),n.d(t,\"AdamaxOptimizer\",function(){return Vu}),n.d(t,\"MomentumOptimizer\",function(){return Uu}),n.d(t,\"Optimizer\",function(){return Ou}),n.d(t,\"RMSPropOptimizer\",function(){return Yu}),n.d(t,\"SGDOptimizer\",function(){return Hu}),n.d(t,\"Tensor\",function(){return $}),n.d(t,\"TensorBuffer\",function(){return q}),n.d(t,\"variable\",function(){return te}),n.d(t,\"Variable\",function(){return ee}),n.d(t,\"Rank\",function(){return ut}),n.d(t,\"Reduction\",function(){return ca}),n.d(t,\"ENV\",function(){return me}),n.d(t,\"Environment\",function(){return ge}),n.d(t,\"image\",function(){return La}),n.d(t,\"linalg\",function(){return Aa}),n.d(t,\"losses\",function(){return Ca}),n.d(t,\"op\",function(){return Ze}),n.d(t,\"batchNormalization2d\",function(){return vo}),n.d(t,\"batchNormalization3d\",function(){return yo}),n.d(t,\"batchNormalization4d\",function(){return bo}),n.d(t,\"batchNormalization\",function(){return _o}),n.d(t,\"concat\",function(){return Yr}),n.d(t,\"concat1d\",function(){return Zr}),n.d(t,\"concat2d\",function(){return Gr}),n.d(t,\"concat3d\",function(){return Kr}),n.d(t,\"concat4d\",function(){return qr}),n.d(t,\"conv1d\",function(){return No}),n.d(t,\"conv2d\",function(){return Io}),n.d(t,\"depthwiseConv2d\",function(){return Lo}),n.d(t,\"separableConv2d\",function(){return ko}),n.d(t,\"conv2dTranspose\",function(){return To}),n.d(t,\"matMul\",function(){return Fo}),n.d(t,\"dot\",function(){return Oo}),n.d(t,\"outerProduct\",function(){return Po}),n.d(t,\"reverse\",function(){return Bo}),n.d(t,\"reverse1d\",function(){return Ro}),n.d(t,\"reverse2d\",function(){return jo}),n.d(t,\"reverse3d\",function(){return zo}),n.d(t,\"reverse4d\",function(){return Wo}),n.d(t,\"maxPool\",function(){return Vo}),n.d(t,\"avgPool\",function(){return Ho}),n.d(t,\"slice\",function(){return Uo}),n.d(t,\"slice1d\",function(){return Yo}),n.d(t,\"slice2d\",function(){return Zo}),n.d(t,\"slice3d\",function(){return Go}),n.d(t,\"slice4d\",function(){return Ko}),n.d(t,\"abs\",function(){return Bi}),n.d(t,\"acos\",function(){return Ri}),n.d(t,\"acosh\",function(){return ji}),n.d(t,\"asin\",function(){return zi}),n.d(t,\"asinh\",function(){return Wi}),n.d(t,\"atan\",function(){return Vi}),n.d(t,\"atanh\",function(){return Hi}),n.d(t,\"ceil\",function(){return Ui}),n.d(t,\"clipByValue\",function(){return Yi}),n.d(t,\"cos\",function(){return Zi}),n.d(t,\"cosh\",function(){return Gi}),n.d(t,\"erf\",function(){return Ki}),n.d(t,\"exp\",function(){return qi}),n.d(t,\"expm1\",function(){return Qi}),n.d(t,\"floor\",function(){return Xi}),n.d(t,\"log\",function(){return Ji}),n.d(t,\"log1p\",function(){return $i}),n.d(t,\"logSigmoid\",function(){return eo}),n.d(t,\"neg\",function(){return to}),n.d(t,\"reciprocal\",function(){return no}),n.d(t,\"round\",function(){return ro}),n.d(t,\"rsqrt\",function(){return io}),n.d(t,\"sigmoid\",function(){return oo}),n.d(t,\"sign\",function(){return so}),n.d(t,\"sin\",function(){return ao}),n.d(t,\"sinh\",function(){return uo}),n.d(t,\"softplus\",function(){return lo}),n.d(t,\"sqrt\",function(){return co}),n.d(t,\"square\",function(){return ho}),n.d(t,\"step\",function(){return po}),n.d(t,\"tan\",function(){return fo}),n.d(t,\"tanh\",function(){return go}),n.d(t,\"all\",function(){return $o}),n.d(t,\"any\",function(){return es}),n.d(t,\"argMax\",function(){return ts}),n.d(t,\"argMin\",function(){return ns}),n.d(t,\"logSumExp\",function(){return rs}),n.d(t,\"max\",function(){return is}),n.d(t,\"mean\",function(){return os}),n.d(t,\"min\",function(){return ss}),n.d(t,\"moments\",function(){return as}),n.d(t,\"sum\",function(){return us}),n.d(t,\"equal\",function(){return ls}),n.d(t,\"equalStrict\",function(){return cs}),n.d(t,\"greater\",function(){return hs}),n.d(t,\"greaterEqual\",function(){return ds}),n.d(t,\"greaterEqualStrict\",function(){return ps}),n.d(t,\"greaterStrict\",function(){return fs}),n.d(t,\"less\",function(){return gs}),n.d(t,\"lessEqual\",function(){return ms}),n.d(t,\"lessEqualStrict\",function(){return vs}),n.d(t,\"lessStrict\",function(){return ys}),n.d(t,\"notEqual\",function(){return bs}),n.d(t,\"notEqualStrict\",function(){return _s}),n.d(t,\"add\",function(){return Cs}),n.d(t,\"addN\",function(){return ws}),n.d(t,\"addStrict\",function(){return Ds}),n.d(t,\"atan2\",function(){return Es}),n.d(t,\"div\",function(){return As}),n.d(t,\"divStrict\",function(){return Ss}),n.d(t,\"floorDiv\",function(){return xs}),n.d(t,\"maximum\",function(){return Ms}),n.d(t,\"maximumStrict\",function(){return Ns}),n.d(t,\"minimum\",function(){return Is}),n.d(t,\"minimumStrict\",function(){return Ls}),n.d(t,\"mod\",function(){return ks}),n.d(t,\"modStrict\",function(){return Ts}),n.d(t,\"mul\",function(){return Fs}),n.d(t,\"mulStrict\",function(){return Os}),n.d(t,\"pow\",function(){return Ps}),n.d(t,\"powStrict\",function(){return Bs}),n.d(t,\"squaredDifference\",function(){return Rs}),n.d(t,\"squaredDifferenceStrict\",function(){return js}),n.d(t,\"sub\",function(){return zs}),n.d(t,\"subStrict\",function(){return Ws}),n.d(t,\"elu\",function(){return Ks}),n.d(t,\"leakyRelu\",function(){return qs}),n.d(t,\"prelu\",function(){return Qs}),n.d(t,\"relu\",function(){return Xs}),n.d(t,\"selu\",function(){return Js}),n.d(t,\"logicalAnd\",function(){return Vs}),n.d(t,\"logicalNot\",function(){return Hs}),n.d(t,\"logicalOr\",function(){return Us}),n.d(t,\"logicalXor\",function(){return Ys}),n.d(t,\"where\",function(){return Zs}),n.d(t,\"whereAsync\",function(){return Gs}),n.d(t,\"buffer\",function(){return ai}),n.d(t,\"toPixels\",function(){return si}),n.d(t,\"print\",function(){return ui}),n.d(t,\"cast\",function(){return li}),n.d(t,\"clone\",function(){return ci}),n.d(t,\"cumsum\",function(){return hi}),n.d(t,\"expandDims\",function(){return di}),n.d(t,\"eye\",function(){return pi}),n.d(t,\"fromPixels\",function(){return fi}),n.d(t,\"multinomial\",function(){return gi}),n.d(t,\"oneHot\",function(){return mi}),n.d(t,\"pad\",function(){return vi}),n.d(t,\"pad1d\",function(){return yi}),n.d(t,\"pad2d\",function(){return bi}),n.d(t,\"pad3d\",function(){return _i}),n.d(t,\"pad4d\",function(){return Ci}),n.d(t,\"rand\",function(){return wi}),n.d(t,\"randomNormal\",function(){return Di}),n.d(t,\"randomUniform\",function(){return Ei}),n.d(t,\"reshape\",function(){return Ai}),n.d(t,\"split\",function(){return Si}),n.d(t,\"squeeze\",function(){return xi}),n.d(t,\"stack\",function(){return Mi}),n.d(t,\"tile\",function(){return Ni}),n.d(t,\"truncatedNormal\",function(){return Ii}),n.d(t,\"unstack\",function(){return Li}),n.d(t,\"batchToSpaceND\",function(){return ki}),n.d(t,\"spaceToBatchND\",function(){return Ti}),n.d(t,\"fill\",function(){return it}),n.d(t,\"linspace\",function(){return ot}),n.d(t,\"ones\",function(){return nt}),n.d(t,\"range\",function(){return st}),n.d(t,\"scalar\",function(){return qe}),n.d(t,\"tensor\",function(){return Ke}),n.d(t,\"tensor1d\",function(){return Qe}),n.d(t,\"tensor2d\",function(){return Xe}),n.d(t,\"tensor3d\",function(){return Je}),n.d(t,\"tensor4d\",function(){return $e}),n.d(t,\"tensor5d\",function(){return et}),n.d(t,\"tensor6d\",function(){return tt}),n.d(t,\"zeros\",function(){return rt}),n.d(t,\"onesLike\",function(){return dt}),n.d(t,\"zerosLike\",function(){return pt}),n.d(t,\"transpose\",function(){return $s}),n.d(t,\"softmax\",function(){return Ge}),n.d(t,\"localResponseNormalization\",function(){return ea}),n.d(t,\"norm\",function(){return ta}),n.d(t,\"gather\",function(){return ia}),n.d(t,\"unsortedSegmentSum\",function(){return oa}),n.d(t,\"basicLSTMCell\",function(){return sa}),n.d(t,\"multiRNNCell\",function(){return aa}),n.d(t,\"movingAverage\",function(){return ua}),n.d(t,\"stridedSlice\",function(){return la}),n.d(t,\"topk\",function(){return ha}),n.d(t,\"train\",function(){return Gu}),n.d(t,\"tidy\",function(){return qo}),n.d(t,\"keep\",function(){return Qo}),n.d(t,\"dispose\",function(){return Xo}),n.d(t,\"time\",function(){return Jo}),n.d(t,\"customGrad\",function(){return Ve}),n.d(t,\"grad\",function(){return Be}),n.d(t,\"grads\",function(){return Re}),n.d(t,\"valueAndGrad\",function(){return je}),n.d(t,\"valueAndGrads\",function(){return ze}),n.d(t,\"variableGrads\",function(){return We});\n/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\nvar s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};function a(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var u=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};function l(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})}function c(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e){for(var t=e.length,n=0,r=0;t>0;)r=Math.random()*t|0,n=e[--t],e[t]=e[r],e[r]=n}function d(e,t,n){return Math.max(e,Math.min(t,n))}function p(e,t){return Math.random()*(t-e)+e}function f(e,t){if(!e)throw new Error(\"string\"==typeof t?t:t())}function g(e,t,n){void 0===n&&(n=\"\"),f(_(e,t),n+\" Shapes \"+e+\" and \"+t+\" must match\")}function m(e){f(null!=e,\"The input to the tensor constructor must be a non-null value.\")}function v(e,t){if(void 0===t&&(t=[]),Array.isArray(e))for(var n=0;n<e.length;++n)v(e[n],t);else t.push(e);return t}function y(e){var t=e;if(k(e))return[e.length];if(!Array.isArray(e))return[];for(var n=[];t instanceof Array;)n.push(t.length),t=t[0];return e instanceof Array&&function e(t,n,r){if(r=r||[],t instanceof Array){f(n.length>0,function(){return\"Element arr[\"+r.join(\"][\")+\"] should be a primitive, but is an array of \"+t.length+\" elements\"}),f(t.length===n[0],function(){return\"Element arr[\"+r.join(\"][\")+\"] should have \"+n[0]+\" elements, but has \"+t.length+\" elements\"});for(var i=n.slice(1),o=0;o<t.length;++o)e(t[o],i,r.concat(o))}else f(0===n.length,function(){return\"Element arr[\"+r.join(\"][\")+\"] is a primitive, but should be an array of \"+n[0]+\" elements\"})}(e,n,[]),n}function b(e){if(0===e.length)return 1;for(var t=e[0],n=1;n<e.length;n++)t*=e[n];return t}function _(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function C(e){return e%1==0}function w(e){if(null!=Math.tanh)return Math.tanh(e);if(e===1/0)return 1;if(e===-1/0)return-1;var t=Math.exp(2*e);return(t-1)/(t+1)}function D(e){for(var t=Math.floor(Math.sqrt(e));t>1;--t)if(e%t==0)return[t,e/t];return[1,e]}function E(e,t){return t<=e.length?e:e+\" \".repeat(t-e.length)}function A(e,t,n){return void 0===t&&(t=function(e){return 0}),new Promise(function(r,i){var o=0,s=function(){if(e())r();else{var a=t(++o);null!=n&&o>=n?i():setTimeout(s,a)}};s()})}function S(e,t){for(var n=1,r=-1,i=0;i<e.length;++i)if(e[i]>0)n*=e[i];else if(-1===e[i]){if(-1!==r)throw Error(\"Shapes can only have 1 implicit size. Found - 1 at dim \"+r+\" and dim \"+i);r=i}else if(e[i]<=0)throw Error(\"Shapes can not be <= 0. Found \"+e[i]+\" at dim \"+i);if(-1===r){if(t>0&&t!==n)throw Error(\"Size(\"+t+\") must match the product of shape \"+e);return e}if(t%n!=0)throw Error(\"The implicit shape can't be a fractional number. Got \"+t+\" / \"+n);var o=e.slice();return o[r]=t/n,o}function x(e,t){for(var n=[],r=[],i=0,o=0;o<e.length;++o){if(null!=t){if(t[i]===o&&e[o]>1)throw new Error(\"Can't squeeze axis \"+o+\" since its dim '\"+e[o]+\"' is not 1\");(null==t[i]||t[i]>o)&&1===e[o]&&(n.push(e[o]),r.push(o)),t[i]<=o&&i++}e[o]>1&&(n.push(e[o]),r.push(o))}return{newShape:n,keptDims:r}}function M(e,t){var n=null;if(null==e||\"float32\"===e)n=new Float32Array(t);else if(\"int32\"===e)n=new Int32Array(t);else{if(\"bool\"!==e)throw new Error(\"Unknown data type \"+e);n=new Uint8Array(t)}return n}function N(e,t,n){if(\"float32\"===t)for(var r=0;r<e.length;r++)if(isNaN(e[r]))throw Error(\"The result of the '\"+n+\"' has NaNs.\")}function I(e,t){if(\"float32\"!==t)for(var n=0;n<e.length;n++)if(isNaN(e[n]))throw Error(\"NaN is not a valid value for dtype: '\"+t+\"'.\")}function L(e,t){return!(\"float32\"===t||\"int32\"===t&&\"float32\"!==e||\"bool\"===t&&\"bool\"===e)}function k(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array}function T(e){if(\"float32\"===e||\"int32\"===e)return 4;if(\"bool\"===e)return 1;throw new Error(\"Unknown dtype \"+e)}function F(e){return!!(e&&e.constructor&&e.call&&e.apply)}function O(e,t){for(var n=t;n<e;++n)if(e%n==0)return n;return e}function P(e){var t=e.length;if(t<2)return[];var n=new Array(t-1);n[t-2]=e[t-1];for(var r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function B(e,t,n){return function(e,t){return e instanceof Float32Array&&\"float32\"===t||e instanceof Int32Array&&\"int32\"===t||e instanceof Uint8Array&&\"bool\"===t}(e,t)?e:(Array.isArray(e)&&(e=v(e)),function(e,t,n){if(null==t||\"float32\"===t)return new Float32Array(e);if(\"int32\"===t)return n&&I(e,t),new Int32Array(e);if(\"bool\"===t){for(var r=new Uint8Array(e.length),i=0;i<r.length;++i)0!==Math.round(e[i])&&(r[i]=1);return r}throw new Error(\"Unknown data type \"+t)}(e,t,n))}function R(e,t){for(var n=j(e,t),r=0;r<n.length;r++)n[r]=1;return n}function j(e,t){if(null==t||\"float32\"===t)return new Float32Array(e);if(\"int32\"===t)return new Int32Array(e);if(\"bool\"===t)return new Uint8Array(e);throw new Error(\"Unknown data type \"+t)}function z(){if(\"undefined\"!=typeof performance)return performance.now();if(void 0!==e){var t=e.hrtime();return 1e3*t[0]+t[1]/1e6}throw new Error(\"Can not measure time in this environment. You should run tf.js in the browser or in Node.js\")}var W=Object.freeze({shuffle:h,clamp:d,randUniform:p,distSquared:function(e,t){for(var n=0,r=0;r<e.length;r++){var i=Number(e[r])-Number(t[r]);n+=i*i}return n},assert:f,assertShapesMatch:g,assertNonNull:m,flatten:v,inferShape:y,sizeFromShape:b,isScalarShape:function(e){return 0===e.length},arraysEqual:_,isInt:C,tanh:w,sizeToSquarishShape:D,createShuffledIndices:function(e){for(var t=new Uint32Array(e),n=0;n<e;++n)t[n]=n;return h(t),t},rightPad:E,repeatedTry:A,inferFromImplicitShape:S,squeezeShape:x,getTypedArrayFromDType:M,checkComputationForNaN:N,checkConversionForNaN:I,hasEncodingLoss:L,isTypedArray:k,bytesPerElement:T,isFunction:F,nearestDivisor:O,computeStrides:P,toTypedArray:B,makeOnesTypedArray:R,makeZerosTypedArray:j,now:z}),V=function(){function e(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new H)}return e.prototype.profileKernel=function(e,t){var n,r=this,i=this.backendTimer.time(function(){n=t()});return(Array.isArray(n)?n:[n]).forEach(function(t){var n=t.dataSync();N(n,t.dtype,e),i.then(function(i){r.logger.logKernelProfile(e,t,n,i.kernelMs)})}),n},e}(),H=function(){function e(){}return e.prototype.logKernelProfile=function(e,t,n,r){var i=E(r+\"ms\",9),o=E(e,25),s=t.rank,a=t.size,u=E(t.shape.toString(),14);console.log(\"%c\"+o+\"\\t%c\"+i+\"\\t%c\"+s+\"D \"+u+\"\\t%c\"+a,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\")},e}();var U=20,Y=3,Z=7;function G(e,t,n,r){var i=P(t),o=function(e,t,n){var r=b(t),i=n[n.length-1],o=new Array(i).fill(0);if(t.length>1)for(var s=0;s<r/i;s++)for(var a=s*i,u=0;u<i;u++)o[u]=Math.max(o[u],K(e[a+u],0).length);return o}(e,t,i),s=t.length,a=function e(t,n,r,i,o){void 0===o&&(o=!0);var s=n[0],a=n.length;if(0===a)return[t[0].toString()];if(1===a){if(s>U){var u=Array.from(t.subarray(0,Y)),l=Array.from(t.subarray(s-Y,s));return[\"[\"+u.map(function(e,t){return K(e,i[t])}).join(\", \")+\", ..., \"+l.map(function(e,t){return K(e,i[s-Y+t])}).join(\", \")+\"]\"]}return[\"[\"+Array.from(t).map(function(e,t){return K(e,i[t])}).join(\", \")+\"]\"]}var c=n.slice(1),h=r.slice(1),d=r[0],p=[];if(s>U){for(var f=0;f<Y;f++){var g=(m=f*d)+d;p.push.apply(p,e(t.subarray(m,g),c,h,i,!1))}for(p.push(\"...\"),f=s-Y;f<s;f++)g=(m=f*d)+d,p.push.apply(p,e(t.subarray(m,g),c,h,i,f===s-1))}else for(f=0;f<s;f++){var m;g=(m=f*d)+d,p.push.apply(p,e(t.subarray(m,g),c,h,i,f===s-1))}var v=2===a?\",\":\"\";p[0]=\"[\"+p[0]+v;for(f=1;f<p.length-1;f++)p[f]=\" \"+p[f]+v;var y=\",\\n\";for(f=2;f<a;f++)y+=\"\\n\";return p[p.length-1]=\" \"+p[p.length-1]+\"]\"+(o?\"\":y),p}(e,t,i,o),u=[\"Tensor\"];return r&&(u.push(\"  dtype: \"+n),u.push(\"  rank: \"+s),u.push(\"  shape: [\"+t+\"]\"),u.push(\"  values:\")),u.push(a.map(function(e){return\"    \"+e}).join(\"\\n\")),u.join(\"\\n\")}function K(e,t){return E(parseFloat(e.toFixed(Z)).toString(),t)}var q=function(){function e(e,t,n){if(this.dtype=t,null!=n){var r=n.length,i=b(e);f(r===i,\"Length of values '\"+r+\"' does not match the size inferred by the shape '\"+i+\"'\")}this.shape=e.slice(),this.values=n||M(t,b(e)),this.strides=P(e),this.size=b(e)}return e.prototype.set=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];0===t.length&&(t=[0]),f(t.length===this.rank,\"The number of provided coordinates (\"+t.length+\") must match the rank (\"+this.rank+\")\");var r=this.locToIndex(t);this.values[r]=e},e.prototype.get=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];0===e.length&&(e=[0]);for(var n=e[e.length-1],r=0;r<e.length-1;++r)n+=this.strides[r]*e[r];return this.values[n]},e.prototype.locToIndex=function(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];for(var t=e[e.length-1],n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t},e.prototype.indexToLoc=function(e){if(0===this.rank)return[];if(1===this.rank)return[e];for(var t=new Array(this.shape.length),n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t},Object.defineProperty(e.prototype,\"rank\",{get:function(){return this.shape.length},enumerable:!0,configurable:!0}),e.prototype.toTensor=function(){return $.make(this.shape,{values:this.values},this.dtype)},e}(),Q=null,X=null;function J(e){Q=e}var $=function(){function e(t,n,r,i){this.isDisposedInternal=!1,this.size=b(t),null!=r&&f(this.size===r.length,\"Constructing tensor of shape (\"+this.size+\") should match the length of values (\"+r.length+\")\"),this.shape=t.slice(),this.dtype=n||\"float32\",this.strides=P(t),this.dataId=null!=i?i:{},this.id=e.nextId++,this.rankType=this.rank<5?this.rank.toString():\"higher\",Q().registerTensor(this),null!=r&&Q().write(this.dataId,r)}return e.make=function(t,n,r){return new e(t,r,n.values,n.dataId)},e.prototype.flatten=function(){return this.throwIfDisposed(),this.as1D()},e.prototype.asScalar=function(){return this.throwIfDisposed(),f(1===this.size,\"The array must have only 1 element.\"),this.reshape([])},e.prototype.as1D=function(){return this.throwIfDisposed(),this.reshape([this.size])},e.prototype.as2D=function(e,t){return this.throwIfDisposed(),this.reshape([e,t])},e.prototype.as3D=function(e,t,n){return this.throwIfDisposed(),this.reshape([e,t,n])},e.prototype.as4D=function(e,t,n,r){return this.throwIfDisposed(),this.reshape([e,t,n,r])},e.prototype.asType=function(e){return this.throwIfDisposed(),X.cast(this,e)},Object.defineProperty(e.prototype,\"rank\",{get:function(){return this.shape.length},enumerable:!0,configurable:!0}),e.prototype.get=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];f(e.length===this.rank,\"Number of coordinates in get() must match the rank of the tensor\"),this.throwIfDisposed(),0===e.length&&(e=[0]);for(var n=e[e.length-1],r=0;r<e.length-1;++r)n+=this.strides[r]*e[r];return this.dataSync()[n]},e.prototype.buffer=function(){return X.buffer(this.shape,this.dtype,this.dataSync())},e.prototype.data=function(){return l(this,void 0,void 0,function(){return c(this,function(e){return this.throwIfDisposed(),[2,Q().read(this.dataId)]})})},e.prototype.dataSync=function(){return this.throwIfDisposed(),Q().readSync(this.dataId)},e.prototype.dispose=function(){this.isDisposed||(Q().disposeTensor(this),this.isDisposedInternal=!0)},Object.defineProperty(e.prototype,\"isDisposed\",{get:function(){return this.isDisposedInternal},enumerable:!0,configurable:!0}),e.prototype.throwIfDisposed=function(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")},e.prototype.toFloat=function(){return this.asType(\"float32\")},e.prototype.toInt=function(){return this.asType(\"int32\")},e.prototype.toBool=function(){return this.asType(\"bool\")},e.prototype.print=function(e){return void 0===e&&(e=!1),X.print(this,e)},e.prototype.reshape=function(e){return this.throwIfDisposed(),X.reshape(this,e)},e.prototype.reshapeAs=function(e){return this.throwIfDisposed(),this.reshape(e.shape)},e.prototype.expandDims=function(e){return void 0===e&&(e=0),X.expandDims(this,e)},e.prototype.cumsum=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=!1),void 0===n&&(n=!1),X.cumsum(this,e,t,n)},e.prototype.squeeze=function(e){return this.throwIfDisposed(),X.squeeze(this,e)},e.prototype.clone=function(){return this.throwIfDisposed(),X.clone(this)},e.prototype.toString=function(e){return void 0===e&&(e=!1),G(this.dataSync(),this.shape,this.dtype,e)},e.prototype.tile=function(e){return this.throwIfDisposed(),X.tile(this,e)},e.prototype.gather=function(e,t){return void 0===t&&(t=0),this.throwIfDisposed(),X.gather(this,e,t)},e.prototype.matMul=function(e,t,n){return void 0===t&&(t=!1),void 0===n&&(n=!1),this.throwIfDisposed(),X.matMul(this,e,t,n)},e.prototype.dot=function(e){return this.throwIfDisposed(),X.dot(this,e)},e.prototype.norm=function(e,t,n){return void 0===e&&(e=\"euclidean\"),void 0===t&&(t=null),void 0===n&&(n=!1),this.throwIfDisposed(),X.norm(this,e,t,n)},e.prototype.slice=function(e,t){return this.throwIfDisposed(),X.slice(this,e,t)},e.prototype.reverse=function(e){return this.throwIfDisposed(),X.reverse(this,e)},e.prototype.concat=function(e,t){return void 0===t&&(t=0),this.throwIfDisposed(),X.concat([this,e],t)},e.prototype.stack=function(e,t){return void 0===t&&(t=0),X.stack([this,e],t)},e.prototype.unstack=function(e,t){return void 0===t&&(t=0),X.unstack(this,t)},e.prototype.pad=function(e,t){return void 0===t&&(t=0),X.pad(this,e,t)},e.prototype.batchNormalization=function(e,t,n,r,i){return void 0===n&&(n=.001),this.throwIfDisposed(),X.batchNormalization(this,e,t,n,r,i)},e.prototype.all=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.all(this,e,t)},e.prototype.any=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.any(this,e,t)},e.prototype.logSumExp=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.logSumExp(this,e,t)},e.prototype.sum=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.sum(this,e,t)},e.prototype.mean=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.mean(this,e,t)},e.prototype.min=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.min(this,e,t)},e.prototype.max=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.throwIfDisposed(),X.max(this,e,t)},e.prototype.argMin=function(e){return void 0===e&&(e=null),this.throwIfDisposed(),X.argMin(this,e)},e.prototype.argMax=function(e){return void 0===e&&(e=null),this.throwIfDisposed(),X.argMax(this,e)},e.prototype.cast=function(e){return this.throwIfDisposed(),X.cast(this,e)},e.prototype.add=function(e){return this.throwIfDisposed(),X.add(this,e)},e.prototype.addStrict=function(e){return this.throwIfDisposed(),X.addStrict(this,e)},e.prototype.sub=function(e){return this.throwIfDisposed(),X.sub(this,e)},e.prototype.subStrict=function(e){return this.throwIfDisposed(),X.subStrict(this,e)},e.prototype.pow=function(e){return this.throwIfDisposed(),X.pow(this,e)},e.prototype.powStrict=function(e){return this.throwIfDisposed(),X.powStrict(this,e)},e.prototype.mul=function(e){return this.throwIfDisposed(),X.mul(this,e)},e.prototype.mulStrict=function(e){return this.throwIfDisposed(),X.mulStrict(this,e)},e.prototype.div=function(e){return this.throwIfDisposed(),X.div(this,e)},e.prototype.floorDiv=function(e){return this.throwIfDisposed(),X.floorDiv(this,e)},e.prototype.divStrict=function(e){return this.throwIfDisposed(),X.divStrict(this,e)},e.prototype.minimum=function(e){return this.throwIfDisposed(),X.minimum(this,e)},e.prototype.minimumStrict=function(e){return this.throwIfDisposed(),X.minimumStrict(this,e)},e.prototype.maximum=function(e){return this.throwIfDisposed(),X.maximum(this,e)},e.prototype.maximumStrict=function(e){return this.throwIfDisposed(),X.maximumStrict(this,e)},e.prototype.mod=function(e){return this.throwIfDisposed(),X.mod(this,e)},e.prototype.modStrict=function(e){return this.throwIfDisposed(),X.modStrict(this,e)},e.prototype.squaredDifference=function(e){return this.throwIfDisposed(),X.squaredDifference(this,e)},e.prototype.squaredDifferenceStrict=function(e){return this.throwIfDisposed(),X.squaredDifferenceStrict(this,e)},e.prototype.transpose=function(e){return this.throwIfDisposed(),X.transpose(this,e)},e.prototype.notEqual=function(e){return this.throwIfDisposed(),X.notEqual(this,e)},e.prototype.notEqualStrict=function(e){return this.throwIfDisposed(),X.notEqualStrict(this,e)},e.prototype.less=function(e){return this.throwIfDisposed(),X.less(this,e)},e.prototype.lessStrict=function(e){return this.throwIfDisposed(),X.lessStrict(this,e)},e.prototype.equal=function(e){return this.throwIfDisposed(),X.equal(this,e)},e.prototype.equalStrict=function(e){return this.throwIfDisposed(),X.equalStrict(this,e)},e.prototype.lessEqual=function(e){return this.throwIfDisposed(),X.lessEqual(this,e)},e.prototype.lessEqualStrict=function(e){return this.throwIfDisposed(),X.lessEqualStrict(this,e)},e.prototype.greater=function(e){return this.throwIfDisposed(),X.greater(this,e)},e.prototype.greaterStrict=function(e){return this.throwIfDisposed(),X.greaterStrict(this,e)},e.prototype.greaterEqual=function(e){return this.throwIfDisposed(),X.greaterEqual(this,e)},e.prototype.greaterEqualStrict=function(e){return this.throwIfDisposed(),X.greaterEqualStrict(this,e)},e.prototype.logicalAnd=function(e){return this.throwIfDisposed(),X.logicalAnd(this,e)},e.prototype.logicalOr=function(e){return this.throwIfDisposed(),X.logicalOr(this,e)},e.prototype.logicalNot=function(){return this.throwIfDisposed(),X.logicalNot(this)},e.prototype.logicalXor=function(e){return this.throwIfDisposed(),X.logicalXor(this,e)},e.prototype.where=function(e,t){return this.throwIfDisposed(),X.where(e,this,t)},e.prototype.neg=function(){return this.throwIfDisposed(),X.neg(this)},e.prototype.ceil=function(){return this.throwIfDisposed(),X.ceil(this)},e.prototype.floor=function(){return this.throwIfDisposed(),X.floor(this)},e.prototype.sign=function(){return this.throwIfDisposed(),X.sign(this)},e.prototype.exp=function(){return this.throwIfDisposed(),X.exp(this)},e.prototype.expm1=function(){return this.throwIfDisposed(),X.expm1(this)},e.prototype.log=function(){return this.throwIfDisposed(),X.log(this)},e.prototype.log1p=function(){return this.throwIfDisposed(),X.log1p(this)},e.prototype.sqrt=function(){return this.throwIfDisposed(),X.sqrt(this)},e.prototype.rsqrt=function(){return this.throwIfDisposed(),X.rsqrt(this)},e.prototype.square=function(){return this.throwIfDisposed(),X.square(this)},e.prototype.reciprocal=function(){return this.throwIfDisposed(),X.reciprocal(this)},e.prototype.abs=function(){return this.throwIfDisposed(),X.abs(this)},e.prototype.clipByValue=function(e,t){return this.throwIfDisposed(),X.clipByValue(this,e,t)},e.prototype.relu=function(){return this.throwIfDisposed(),X.relu(this)},e.prototype.elu=function(){return this.throwIfDisposed(),X.elu(this)},e.prototype.selu=function(){return this.throwIfDisposed(),X.selu(this)},e.prototype.leakyRelu=function(e){return void 0===e&&(e=.2),this.throwIfDisposed(),X.leakyRelu(this,e)},e.prototype.prelu=function(e){return this.throwIfDisposed(),X.prelu(this,e)},e.prototype.sigmoid=function(){return this.throwIfDisposed(),X.sigmoid(this)},e.prototype.logSigmoid=function(){return this.throwIfDisposed(),X.logSigmoid(this)},e.prototype.softplus=function(){return this.throwIfDisposed(),X.softplus(this)},e.prototype.sin=function(){return this.throwIfDisposed(),X.sin(this)},e.prototype.cos=function(){return this.throwIfDisposed(),X.cos(this)},e.prototype.tan=function(){return this.throwIfDisposed(),X.tan(this)},e.prototype.asin=function(){return this.throwIfDisposed(),X.asin(this)},e.prototype.acos=function(){return this.throwIfDisposed(),X.acos(this)},e.prototype.atan=function(){return this.throwIfDisposed(),X.atan(this)},e.prototype.sinh=function(){return this.throwIfDisposed(),X.sinh(this)},e.prototype.cosh=function(){return this.throwIfDisposed(),X.cosh(this)},e.prototype.tanh=function(){return this.throwIfDisposed(),X.tanh(this)},e.prototype.asinh=function(){return this.throwIfDisposed(),X.asinh(this)},e.prototype.acosh=function(){return this.throwIfDisposed(),X.acosh(this)},e.prototype.atanh=function(){return this.throwIfDisposed(),X.atanh(this)},e.prototype.erf=function(){return this.throwIfDisposed(),X.erf(this)},e.prototype.round=function(){return this.throwIfDisposed(),X.round(this)},e.prototype.step=function(e){return void 0===e&&(e=0),this.throwIfDisposed(),X.step(this,e)},e.prototype.softmax=function(e){return void 0===e&&(e=-1),this.throwIfDisposed(),X.softmax(this,e)},e.prototype.resizeBilinear=function(e,t){return void 0===t&&(t=!1),this.throwIfDisposed(),X.image.resizeBilinear(this,e,t)},e.prototype.resizeNearestNeighbor=function(e,t){return void 0===t&&(t=!1),this.throwIfDisposed(),X.image.resizeNearestNeighbor(this,e,t)},e.prototype.conv1d=function(e,t,n,r,i,o){return void 0===r&&(r=\"NWC\"),void 0===i&&(i=1),this.throwIfDisposed(),X.conv1d(this,e,t,n,r,i,o)},e.prototype.conv2d=function(e,t,n,r,i,o){return void 0===r&&(r=\"NHWC\"),void 0===i&&(i=[1,1]),this.throwIfDisposed(),X.conv2d(this,e,t,n,r,i,o)},e.prototype.conv2dTranspose=function(e,t,n,r,i){return this.throwIfDisposed(),X.conv2dTranspose(this,e,t,n,r,i)},e.prototype.depthwiseConv2D=function(e,t,n,r,i,o){return void 0===r&&(r=\"NHWC\"),void 0===i&&(i=[1,1]),this.throwIfDisposed(),X.depthwiseConv2d(this,e,t,n,r,i,o)},e.prototype.avgPool=function(e,t,n,r){return this.throwIfDisposed(),X.avgPool(this,e,t,n,r)},e.prototype.maxPool=function(e,t,n,r){return this.throwIfDisposed(),X.maxPool(this,e,t,n,r)},e.prototype.localResponseNormalization=function(e,t,n,r){return void 0===e&&(e=5),void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=.5),X.localResponseNormalization(this,e,t,n,r)},e.prototype.variable=function(e,t,n){return void 0===e&&(e=!0),this.throwIfDisposed(),ee.variable(this,e,t,n)},e.prototype.unsortedSegmentSum=function(e,t){return this.throwIfDisposed(),X.unsortedSegmentSum(this,e,t)},e.prototype.batchToSpaceND=function(e,t){return this.throwIfDisposed(),X.batchToSpaceND(this,e,t)},e.prototype.spaceToBatchND=function(e,t){return this.throwIfDisposed(),X.spaceToBatchND(this,e,t)},e.nextId=0,e}();Object.defineProperty($,Symbol.hasInstance,{value:function(e){return!!e&&null!=e.shape&&null!=e.dtype}});var ee=function(e){function t(n,r,i){void 0===r&&(r=!0);var o=e.call(this,n.shape,n.dtype,null,n.dataId)||this;o.trainable=r,o.name=i,null==o.name&&(o.name=t.nextVarId.toString(),t.nextVarId++);try{Q().registerVariable(o)}catch(e){throw Q().disposeTensor(o),e}return o}return a(t,e),t.variable=function(e,n,r,i){return void 0===n&&(n=!0),null!=i&&i!==e.dtype&&(e=e.asType(i)),new t(e,n,r)},t.prototype.assign=function(e){if(e.dtype!==this.dtype)throw new Error(\"dtype of the new value (\"+e.dtype+\") and previous value (\"+this.dtype+\") must match\");if(!_(e.shape,this.shape))throw new Error(\"shape of the new value (\"+e.shape+\") and previous value (\"+this.shape+\") must match\");Q().disposeTensor(this),this.dataId=e.dataId,Q().registerTensor(this)},t.nextVarId=0,t}($);Object.defineProperty(ee,Symbol.hasInstance,{value:function(e){return e instanceof $&&null!=e.assign&&e.assign instanceof Function}});var te=ee.variable;function ne(e,t){f(e.dtype===t.dtype,\" The dtypes of the first(\"+e.dtype+\") and second(\"+t.dtype+\") input must match\")}function re(e){var t=[];return function e(t,n,r){if(null!=t)if(t instanceof $)n.push(t);else if(function(e){return Array.isArray(e)||\"object\"==typeof e}(t)){var i=t;for(var o in i){var s=i[o];r.has(s)||(r.add(s),e(s,n,r))}}}(e,t,new Set),t}var ie,oe,se=function(){function e(e,t,n){this.backend=e,this.safeMode=t,this.debugMode=n,this.registeredVariables={},this.refCounter=new WeakMap,this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numDataBuffers=0,this.gradientScopeCount=0,this.customGradientDepth=0,this.keepTensors=new Set,this.activeScope={track:[],name:\"default scope\"},this.scopeStack=[this.activeScope],this.profiler=new V(e)}return e.prototype.tidy=function(e,t,n){var r=this;void 0===n&&(n=!1);var i,o=null;if(null==t){if(\"function\"!=typeof e)throw new Error(\"Please provide a function to tidy()\");t=e}else{if(\"string\"!=typeof e&&!(e instanceof String))throw new Error(\"When calling with two arguments, the first argument to tidy() must be a string\");if(\"function\"!=typeof t)throw new Error(\"When calling with two arguments, the 2nd argument to tidy() must be a function\");o=e}return this.scopedRun(function(){return r.startScope(o,n)},function(){return r.endScope(i,n)},function(){return(i=t())instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),i})},e.prototype.scopedRun=function(e,t,n){e();try{var r=n();return t(),r}catch(e){throw t(),e}},e.prototype.runKernel=function(e,t,n){var r,i=this,o=[],s=function(e){return o.push(e),e},a=this.activeScope.name;if(this.scopedRun(function(){return i.customGradientDepth++},function(){return i.customGradientDepth--},function(){r=i.debugMode()?i.profiler.profileKernel(a,function(){return e(i.backend,s)}):e(i.backend,s)}),this.shouldRecord()){var u={id:this.nextTapeNodeId++,name:a,inputs:t,output:Array.isArray(r)?r[0]:r};null!=n&&(u.gradient=function(e){return n(e,o)}),this.activeTape.push(u)}return r},e.prototype.registerTensor=function(e){var t=this.refCounter.has(e.dataId)?this.refCounter.get(e.dataId):0;this.numTensors++,0===t&&(this.numDataBuffers++,this.numBytes+=b(e.shape)*T(e.dtype),this.backend.register(e.dataId,e.shape,e.dtype)),this.refCounter.set(e.dataId,t+1),e instanceof ee||this.track(e)},e.prototype.registerVariable=function(e){if(null!=this.registeredVariables[e.name])throw new Error(\"Variable with name \"+e.name+\" was already registered\");this.registeredVariables[e.name]=e},e.prototype.disposeTensor=function(e){if(this.refCounter.has(e.dataId)){this.keepTensors.has(e.id)&&this.keepTensors.delete(e.id),this.numTensors--;var t=this.refCounter.get(e.dataId);t<=1?(this.refCounter.delete(e.dataId),this.backend.disposeData(e.dataId),this.numDataBuffers--,this.numBytes-=b(e.shape)*T(e.dtype)):this.refCounter.set(e.dataId,t-1)}},e.prototype.disposeVariables=function(){for(var e in this.registeredVariables){var t=this.registeredVariables[e];this.disposeTensor(t),delete this.registeredVariables[e]}},e.prototype.memory=function(){var e=this.backend.memory();return e.numTensors=this.numTensors,e.numDataBuffers=this.numDataBuffers,e.numBytes=this.numBytes,e},e.prototype.shouldRecord=function(){return null!=this.activeTape&&0===this.customGradientDepth},e.prototype.addTapeNode=function(e,t,n){var r={};e.forEach(function(e,t){r[t]=e});var i={id:this.nextTapeNodeId++,name:this.activeScope.name,inputs:r,output:t,gradient:function(e){var t={};return n(e).forEach(function(e,n){t[n]=function(){return e}}),t}};this.activeTape.push(i)},e.prototype.keep=function(e){if(1===this.scopeStack.length&&this.safeMode)throw new Error(\"Safe mode is ON. Enclose all tensor operations inside tf.tidy(): tf.tidy(() => {...}) to avoid memory leaks.\");return this.keepTensors.add(e.id),e},e.prototype.startScope=function(e,t){void 0===t&&(t=!1),t&&0===this.gradientScopeCount&&(this.activeTape=[]),t&&this.gradientScopeCount++;var n={track:[],name:\"unnamed scope\"};e&&(n.name=e),this.scopeStack.push(n),this.activeScope=n},e.prototype.endScope=function(e,t){var n=this;void 0===t&&(t=!1),t&&(this.gradientScopeCount--,0===this.gradientScopeCount&&(this.activeTape=null));var r=new Set(this.keepTensors),i=re(e);i.forEach(function(e){return r.add(e.id)});for(var o=0;o<this.activeScope.track.length;o++){var s=this.activeScope.track[o];r.has(s.id)||(null!=this.activeTape?i.push(s):s.dispose())}var a=this.scopeStack.pop();this.activeScope=0===this.scopeStack.length?{track:[],name:\"default scope\"}:this.scopeStack[this.scopeStack.length-1],i.forEach(function(e){!n.keepTensors.has(e.id)&&function(e,t){for(var n=0;n<t.length;n++)if(t[n].id===e.id)return!0;return!1}(e,a.track)&&n.track(e)})},e.prototype.gradients=function(e,t,n,r){var i=this;return void 0===r&&(r=!1),f(t.length>0,\"gradients() received an empty list of xs.\"),this.tidy(\"gradients\",function(){var o=e();f(o instanceof $,\"The result y returned by f() must be a tensor.\");var s=function(e,t,n){for(var r={},i={},o=0;o<t.length;o++)r[t[o].id]=!0;for(o=0;o<e.length;o++){var s=(g=e[o]).inputs;for(var a in s){for(var u=s[a],l=!1,c=0;c<t.length;c++)if(r[u.id]){r[g.output.id]=!0,l=!0,i[g.id]=!0;break}if(l)break}}var h={};h[n.id]=!0;var d={};for(o=e.length-1;o>=0;o--){s=(g=e[o]).inputs;var p=[];for(p.push(g.output),c=0;c<p.length;c++)if(h[p[c].id]){for(var a in s)h[s[a].id]=!0,d[g.id]=!0;break}}var f=[];for(o=0;o<e.length;o++){var g;if(i[(g=e[o]).id]&&d[g.id]){var m={};for(var a in g.inputs){var v=g.inputs[a];r[v.id]&&(m[a]=v)}var y=Object.assign({},g);y.inputs=m,y.output=g.output,f.push(y)}}return f}(i.activeTape,t,o);if(!r&&0===s.length&&t.length>0)throw new Error(\"Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.\");var a={};return a[o.id]=null==n?function(e){var t=R(b(e),\"float32\");return $.make(e,{values:t})}(o.shape):n,function(e,t){for(var n=t.length-1;n>=0;n--){var r=t[n],i=e[r.output.id];if(null==r.gradient)throw new Error(\"Cannot compute gradient: gradient function not found for \"+r.name+\".\");var o=r.gradient(i);for(var s in r.inputs){if(!(s in o))throw new Error(\"Cannot backprop through input \"+s+\". Available gradients found: \"+Object.keys(o)+\".\");var a=o[s](),u=r.inputs[s];if(!_(a.shape,u.shape))throw new Error(\"Error in gradient for op \"+r.name+\". The gradient of input '\"+s+\"' has shape '\"+a.shape+\"', which does not match the shape of the input '\"+u.shape+\"'\");if(null==e[u.id])e[u.id]=a;else{var l=e[u.id];e[u.id]=l.add(a),l.dispose()}}}}(a,s),{value:o,grads:t.map(function(e){return a[e.id]})}},!0)},e.prototype.customGrad=function(e){var t=this;return f(F(e),\"The f passed in customGrad(f) must be a function.\"),function(){for(var n,r,i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return f(i.every(function(e){return e instanceof $}),\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\"),t.scopedRun(function(){return t.customGradientDepth++},function(){return t.customGradientDepth--},function(){r=t.tidy(e.name,function(){var t=e.apply(void 0,i),r=t.value,o=t.gradFunc;return f(r instanceof $,\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),f(F(o),\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),n=o,r},!0)}),t.shouldRecord()&&t.addTapeNode(i,r,function(e){var t=n(e),r=Array.isArray(t)?t:[t];return f(r.length===i.length,\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).\"),f(r.every(function(e){return e instanceof $}),\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.\"),r}),r}},e.prototype.write=function(e,t){this.backend.write(e,t)},e.prototype.readSync=function(e){return this.backend.readSync(e)},e.prototype.read=function(e){return this.backend.read(e)},e.prototype.fromPixels=function(e,t){return this.backend.fromPixels(e,t)},e.prototype.time=function(e){return l(this,void 0,void 0,function(){var t,n;return c(this,function(r){switch(r.label){case 0:return t=z(),[4,this.backend.time(e)];case 1:return(n=r.sent()).wallMs=z()-t,[2,n]}})})},e.prototype.track=function(e){if(1===this.scopeStack.length&&this.safeMode)throw new Error(\"Safe mode is ON. Enclose all tensor operations inside tf.tidy(): tf.tidy(() => {op();...}); to avoid memory leaks.\");return this.activeScope.track.push(e),e},e}();(oe=ie||(ie={}))[oe.NUMBER=0]=\"NUMBER\",oe[oe.BOOLEAN=1]=\"BOOLEAN\",oe[oe.STRING=2]=\"STRING\";var ae=[{name:\"DEBUG\",type:ie.BOOLEAN},{name:\"IS_BROWSER\",type:ie.BOOLEAN},{name:\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",type:ie.NUMBER},{name:\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",type:ie.BOOLEAN},{name:\"WEBGL_VERSION\",type:ie.NUMBER},{name:\"WEBGL_RENDER_FLOAT32_ENABLED\",type:ie.BOOLEAN},{name:\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",type:ie.BOOLEAN},{name:\"WEBGL_FENCE_API_ENABLED\",type:ie.BOOLEAN},{name:\"BACKEND\",type:ie.STRING}];function ue(e,t){var n;try{n=de(e,t)}catch(e){return!1}return null!=n&&(pe(n),!0)}var le=\"tfjsflags\";function ce(){var e={};if(\"undefined\"==typeof window||void 0===window.location)return e;var t=function(e){var t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||\"\")}(t,n[0],n[1]),n.join(\"=\")}),t}(window.location.search);if(le in t){var n={};t[le].split(\",\").forEach(function(e){var t=e.split(\":\"),r=t[0],i=t[1];n[r]=i}),ae.forEach(function(t){t.name in n&&(console.log(\"Setting feature override from URL \"+t.name+\": \"+n[t.name]),t.type===ie.NUMBER?e[t.name]=+n[t.name]:t.type===ie.BOOLEAN?e[t.name]=\"true\"===n[t.name]:t.type===ie.STRING?e[t.name]=n[t.name]:console.warn(\"Unknown URL param: \"+t.name+\".\"))})}return e}function he(e,t){return null!=e.getExtension(t)}function de(e,t){if(0===e||!t)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");var n=document.createElement(\"canvas\");return 1===e?n.getContext(\"webgl\")||n.getContext(\"experimental-webgl\"):n.getContext(\"webgl2\")}function pe(e){if(null!=e){var t=e.getExtension(\"WEBGL_lose_context\");if(null==t)throw new Error(\"Extension WEBGL_lose_context not supported on this browser.\");t.loseContext()}}function fe(e,t){var n=e.createFramebuffer(),r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r);var i=2===t?e.RGBA32F:e.RGBA;e.texImage2D(e.TEXTURE_2D,0,i,1,1,0,e.RGBA,e.FLOAT,null),e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0)}var ge=function(){function t(e){this.features={},this.registry={},null!=e&&(this.features=e),this.get(\"DEBUG\")&&console.warn(\"Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.\")}return t.setBackend=function(e,t){if(void 0===t&&(t=!1),!(e in me.registry))throw new Error(\"Backend name '\"+e+\"' not found in registry\");me.initBackend(e,t)},t.getBackend=function(){return me.initDefaultBackend(),me.backendName},t.disposeVariables=function(){me.engine.disposeVariables()},t.memory=function(){return me.engine.memory()},t.tidy=function(e,t,n){return void 0===n&&(n=!1),me.engine.tidy(e,t,n)},t.dispose=function(e){re(e).forEach(function(e){return e.dispose()})},t.keep=function(e){return me.engine.keep(e)},t.time=function(e){return me.engine.time(e)},t.prototype.get=function(e){return e in this.features?this.features[e]:(this.features[e]=this.evaluateFeature(e),this.features[e])},t.prototype.getFeatures=function(){return this.features},t.prototype.set=function(e,t){this.features[e]=t},t.prototype.getBestBackendName=function(){var e=this;if(0===Object.keys(this.registry).length)throw new Error(\"No backend found in registry.\");return Object.keys(this.registry).map(function(t){return{name:t,entry:e.registry[t]}}).sort(function(e,t){return t.entry.priority-e.entry.priority})[0].name},t.prototype.evaluateFeature=function(t){if(\"DEBUG\"===t)return!1;if(\"IS_BROWSER\"===t)return\"undefined\"!=typeof window;if(\"IS_NODE\"===t)return void 0!==e&&void 0!==e.versions.node;if(\"IS_CHROME\"===t)return\"undefined\"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor);if(\"IS_TEST\"===t)return!1;if(\"BACKEND\"===t)return this.getBestBackendName();if(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"===t){var n=this.get(\"WEBGL_VERSION\");return 0===n?0:n>0?0:function(e,t){if(0===e)return 0;var n,r=de(e,t);return n=he(r,\"EXT_disjoint_timer_query_webgl2\")&&2===e?2:he(r,\"EXT_disjoint_timer_query\")?1:0,null!=r&&pe(r),n}(n,this.get(\"IS_BROWSER\"))}if(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\"===t)return this.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!function(){var e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(e.substr(0,4))}();if(\"HAS_WEBGL\"===t)return this.get(\"WEBGL_VERSION\")>0;if(\"WEBGL_VERSION\"===t)return ue(2,this.get(\"IS_BROWSER\"))?2:ue(1,this.get(\"IS_BROWSER\"))?1:0;if(\"WEBGL_RENDER_FLOAT32_ENABLED\"===t)return function(e,t){if(0===e)return!1;var n=de(e,t);if(1===e){if(!he(n,\"OES_texture_float\"))return!1}else if(!he(n,\"EXT_color_buffer_float\"))return!1;fe(n,e);var r=n.checkFramebufferStatus(n.FRAMEBUFFER)===n.FRAMEBUFFER_COMPLETE;return pe(n),r}(this.get(\"WEBGL_VERSION\"),this.get(\"IS_BROWSER\"));if(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\"===t)return function(e,t){if(0===e)return!1;var n=de(e,t);if(1===e){if(!he(n,\"OES_texture_float\"))return!1}else if(!he(n,\"EXT_color_buffer_float\"))return!1;fe(n,e),n.readPixels(0,0,1,1,n.RGBA,n.FLOAT,new Float32Array(4));var r=n.getError()===n.NO_ERROR;return pe(n),r}(this.get(\"WEBGL_VERSION\"),this.get(\"IS_BROWSER\"));if(\"WEBGL_FENCE_API_ENABLED\"===t)return function(e,t){if(2!==e)return!1;var n=de(e,t),r=null!=n.fenceSync;return pe(n),r}(this.get(\"WEBGL_VERSION\"),this.get(\"IS_BROWSER\"));if(\"TEST_EPSILON\"===t)return this.get(\"WEBGL_RENDER_FLOAT32_ENABLED\")?.001:.1;throw new Error(\"Unknown feature \"+t+\".\")},t.prototype.setFeatures=function(e){this.features=Object.assign({},e)},t.prototype.reset=function(){this.features=ce(),null!=this.globalEngine&&(this.globalEngine=null)},t.prototype.initBackend=function(e,t){var n=this;void 0===t&&(t=!1),this.backendName=e,this.backend=this.findBackend(e),this.globalEngine=new se(this.backend,t,function(){return n.get(\"DEBUG\")})},t.prototype.findBackend=function(e){return e in this.registry?this.registry[e].backend:null},t.prototype.registerBackend=function(e,t,n,r){var i=this;if(void 0===n&&(n=1),e in this.registry)return console.warn(e+\" backend was already registered. Reusing existing backend\"),null!=r&&r(function(){return i.engine}),!1;try{var o=t();return this.registry[e]={backend:o,priority:n},!0}catch(t){return console.warn(\"Registration of backend \"+e+\" failed\"),console.warn(t.stack||t.message),!1}},t.prototype.removeBackend=function(e){if(!(e in this.registry))throw new Error(e+\" backend not found in registry\");this.registry[e].backend.dispose(),delete this.registry[e]},Object.defineProperty(t.prototype,\"engine\",{get:function(){return this.initDefaultBackend(),this.globalEngine},enumerable:!0,configurable:!0}),t.prototype.initDefaultBackend=function(){null==this.globalEngine&&this.initBackend(this.get(\"BACKEND\"),!1)},t}();var me=function(){var t=function(){var t;if(\"undefined\"!=typeof window)t=window;else{if(void 0===e)throw new Error(\"Could not find a global object\");t=e}return t}();return null==t.ENV&&(t.ENV=new ge(ce()),J(function(){return t.ENV.engine})),t.ENV}(),ve=Object.freeze({Environment:ge,ENV:me});function ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];me.get(\"IS_TEST\")||console.warn.apply(console,e)}function be(e,t,n,r){void 0===r&&(r=!0);var i=[];if(r)(i=i.concat(t.slice(0))).push(e[0]/n),i=i.concat(e.slice(1));else{i=i.concat(e[0]);for(var o=t.length,s=0;s<o;++s)i=i.concat([e[s+1]/t[s],t[s]]);i=i.concat(e.slice(o+1))}return i}function _e(e,t,n){void 0===n&&(n=!0);var r=[];if(n){r.push(t);for(var i=t+1;i<e;++i)i<=2*t?(r.push(i),r.push(i-(t+1))):r.push(i)}else{var o=[],s=[];for(i=1;i<e;++i)i>=2*t+1||i%2==1?s.push(i):o.push(i);r.push.apply(r,o),r.push(0),r.push.apply(r,s)}return r}function Ce(e,t,n,r){void 0===r&&(r=!0);var i=[];r?i.push(e[0]/n):i.push(e[0]*n);for(var o=1;o<e.length;++o)o<=t.length?r?i.push(t[o-1]*e[o]):i.push(e[o]/t[o-1]):i.push(e[o]);return i}function we(e,t){for(var n=[0],r=0;r<t;++r)n.push(e[r][0]);return n}function De(e,t,n){for(var r=e.slice(0,1),i=0;i<n;++i)r.push(e[i+1]-t[i][0]-t[i][1]);return r}function Ee(e,t){for(var n=0;n<e.length;++n)if(e[e.length-n-1]!==t-1-n)return!1;return!0}function Ae(e,t){for(var n=[],r=e.length,i=0;i<r;i++)-1===t.indexOf(i)&&n.push(e[i]);return[n,t.map(function(t){return e[t]})]}function Se(e,t){return function(e,t,n){for(var r=e.length+t.length,i=[],o=0,s=0,a=0;a<r;a++)-1===n.indexOf(a)?i.push(e[o++]):i.push(t[s++]);return i}(e,t.map(function(e){return 1}),t)}function xe(e,t){var n=t.length;return f((e=null==e?t.map(function(e,t){return t}):[].concat(e)).every(function(e){return e>=-n&&e<n}),\"All values in axis param must be in range [-\"+n+\", \"+n+\") but got axis \"+e),f(e.every(function(e){return C(e)}),\"All values in axis param must be integers but got axis \"+e),e.map(function(e){return e<0?n+e:e})}function Me(e,t,n){f(Ee(t,n),e+\" supports only inner-most axes for now. Got axes \"+t+\" and rank-\"+n+\" input.\")}function Ne(e,t){if(Ee(e,t))return null;for(var n=[],r=0;r<t;++r)-1===e.indexOf(r)&&n.push(r);return e.forEach(function(e){return n.push(e)}),n}function Ie(e){return e.map(function(e,t){return[t,e]}).sort(function(e,t){return e[1]-t[1]}).map(function(e){return e[0]})}function Le(e,t){for(var n=[],r=t-e;r<t;++r)n.push(r);return n}var ke=30;function Te(e){return e<=ke?e:O(e,Math.floor(Math.sqrt(e)))}function Fe(e,t,n,r,i,o){void 0===i&&(i=0),void 0===o&&(o=0);for(var s=[],a=[],u=0;u<e.length;u++)s[u]=Oe(i,t,r,e,u),a[u]=Pe(o,n,r,e,u);var l=new Array(e.length).fill(0);return l=l.map(function(e,t){for(var n=0,i=s[t];!(r[t]>0?i>=a[t]:i<=a[t]);i+=r[t])n+=1;return n}),[s,l]}function Oe(e,t,n,r,i){var o=t[i];e&1<<i&&(o=n[i]>0?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER);var s=r[i];return o<0&&(o+=s),d(0,o,s-1)}function Pe(e,t,n,r,i){var o=t[i];e&1<<i&&(o=n[i]>0?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER);var s=r[i];return o<0&&(o+=s),n[i]>0?d(0,o,s):d(-1,o,s-1)}function Be(e){return f(F(e),\"The f passed in grad(f) must be a function\"),function(t,n){return f(t instanceof $,\"The x passed in grad(f)(x) must be a tensor\"),f(null==n||n instanceof $,\"The dy passed in grad(f)(x, dy) must be a tensor\"),me.engine.tidy(function(){var r=me.engine.gradients(function(){return e(t)},[t],n),i=r.value,o=r.grads;return null!=n&&g(i.shape,n.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),He(o),o[0]})}}function Re(e){return f(F(e),\"The f passed in grads(f) must be a function\"),function(t,n){return f(Array.isArray(t)&&t.every(function(e){return e instanceof $}),\"The args passed in grads(f)(args) must be an array of tensors\"),f(null==n||n instanceof $,\"The dy passed in grads(f)(args, dy) must be a tensor\"),me.engine.tidy(function(){var r=me.engine.gradients(function(){return e.apply(void 0,t)},t,n),i=r.value,o=r.grads;return null!=n&&g(i.shape,n.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),He(o),o})}}function je(e){return f(F(e),\"The f passed in valueAndGrad(f) must be a function\"),function(t,n){f(t instanceof $,\"The x passed in valueAndGrad(f)(x) must be a tensor\"),f(null==n||n instanceof $,\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");var r=me.engine.gradients(function(){return e(t)},[t],n),i=r.grads,o=r.value;return He(i),{grad:i[0],value:o}}}function ze(e){return f(F(e),\"The f passed in valueAndGrads(f) must be a function\"),function(t,n){f(Array.isArray(t)&&t.every(function(e){return e instanceof $}),\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),f(null==n||n instanceof $,\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");var r=me.engine.gradients(function(){return e.apply(void 0,t)},t,n);return null!=n&&g(r.value.shape,n.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),He(r.grads),r}}function We(e,t){if(f(F(e),\"The f passed in variableGrads(f) must be a function\"),f(null==t||Array.isArray(t)&&t.every(function(e){return e instanceof ee}),\"The varList passed in variableGrads(f, varList) must be an array of variables\"),null==t)for(var n in t=[],me.engine.registeredVariables)t.push(me.engine.registeredVariables[n]);var r=t.length;f((t=t.filter(function(e){return e.trainable})).length>0,\"variableGrads() expects at least one of the input variables to be trainable, but none of the \"+r+\" variables is trainable.\");var i=me.engine.gradients(e,t,null,!0),o=i.value,s=i.grads;f(s.some(function(e){return null!=e}),\"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().\"),f(0===o.rank,\"The f passed in variableGrads(f) must return a scalar, but it returned a rank-\"+o.rank+\" tensor\");var a={};return t.forEach(function(e,t){null!=s[t]&&(a[e.name]=s[t])}),{value:o,grads:a}}function Ve(e){return me.engine.customGrad(e)}function He(e){if(e.filter(function(e){return null==e}).length>0)throw new Error(\"Cannot compute gradient of y=f(x) with respect to x. Make sure that\\n    the f you passed encloses all operations that lead from x to y.\")}function Ue(e,t,n,r){if(void 0===r&&(r=\"float32\"),r=r||\"float32\",e instanceof $)return e;if(!k(e)&&!Array.isArray(e)&&\"number\"!=typeof e&&\"boolean\"!=typeof e)throw new Error(\"Argument '\"+t+\"' passed to '\"+n+\"' must be a Tensor or TensorLike, but got \"+e.constructor.name);var i=y(e);return k(e)||Array.isArray(e)||(e=[e]),$.make(i,{values:B(e,r,me.get(\"DEBUG\"))},r)}function Ye(e,t,n){if(!Array.isArray(e))throw new Error(\"Argument \"+t+\" passed to \"+n+\" must be a `Tensor[]` or `TensorLike[]`\");return e.map(function(e,r){return Ue(e,t+\"[\"+r+\"]\",n)})}function Ze(e){var t=Object.keys(e);if(1!==t.length)throw new Error(\"Please provide an object with a single key (operation name) mapping to a function. Got an object with \"+t.length+\" keys.\");var n=t[0],r=e[n];n.endsWith(\"_\")&&(n=n.substring(0,n.length-1));var i=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];me.engine.startScope(n);try{var i=r.apply(void 0,e);return i instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),me.engine.endScope(i),i}catch(e){throw me.engine.endScope(null),e}};return Object.defineProperty(i,\"name\",{value:n,configurable:!0}),i}var Ge=Ze({softmax_:function(e,t){void 0===t&&(t=-1);var n=Ue(e,\"logits\",\"softmax\");if(-1===t&&(t=n.rank-1),t!==n.rank-1)throw Error(\"Softmax along a non-last dimension is not yet supported. Logits was rank \"+n.rank+\" and dim was \"+t);return Ve(function(e){var n=e.logSumExp([t],!0),r=e.toFloat().sub(n).exp();return{value:r,gradFunc:function(e){var n=e.mul(r);return n.sub(n.sum([t],!0).mul(r))}}})(n)}});function Ke(e,t,n){if(void 0===n&&(n=\"float32\"),!k(e)&&!Array.isArray(e)&&\"number\"!=typeof e&&\"boolean\"!=typeof e)throw new Error(\"values passed to tensor(values) must be an array of numbers or booleans, or a TypedArray\");var r=y(e);return null!=t&&1!==r.length&&g(t,r,\"Error creating a new Tensor. Inferred shape (\"+r+\") does not match the provided shape (\"+t+\"). \"),k(e)||Array.isArray(e)||(e=[e]),t=t||r,$.make(t,{values:B(e,n,me.get(\"DEBUG\"))},n)}function qe(e,t){if(void 0===t&&(t=\"float32\"),k(e)||Array.isArray(e))throw new Error(\"Error creating a new Scalar: value must be a primitive (number|boolean)\");return Ke(e,[],t)}function Qe(e,t){void 0===t&&(t=\"float32\"),m(e);var n=y(e);if(1!==n.length)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return Ke(e,n,t)}function Xe(e,t,n){if(void 0===n&&(n=\"float32\"),m(e),null!=t&&2!==t.length)throw new Error(\"tensor2d() requires shape to have two numbers\");var r=y(e);if(2!==r.length&&1!==r.length)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(1===r.length&&null==t)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return Ke(e,t=t||r,n)}function Je(e,t,n){if(void 0===n&&(n=\"float32\"),m(e),null!=t&&3!==t.length)throw new Error(\"tensor3d() requires shape to have three numbers\");var r=y(e);if(3!==r.length&&1!==r.length)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(1===r.length&&null==t)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return Ke(e,t=t||r,n)}function $e(e,t,n){if(void 0===n&&(n=\"float32\"),m(e),null!=t&&4!==t.length)throw new Error(\"tensor4d() requires shape to have four numbers\");var r=y(e);if(4!==r.length&&1!==r.length)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(1===r.length&&null==t)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return Ke(e,t=t||r,n)}function et(e,t,n){if(void 0===n&&(n=\"float32\"),m(e),null!=t&&5!==t.length)throw new Error(\"tensor5d() requires shape to have five numbers\");var r=y(e);if(5!==r.length&&1!==r.length)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(1===r.length&&null==t)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return Ke(e,t=t||r,n)}function tt(e,t,n){if(void 0===n&&(n=\"float32\"),m(e),null!=t&&6!==t.length)throw new Error(\"tensor6d() requires shape to have six numbers\");var r=y(e);if(6!==r.length&&1!==r.length)throw new Error(\"tensor6d() requires values to be number[][][][] or flat/TypedArray\");if(1===r.length&&null==t)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return Ke(e,t=t||r,n)}function nt(e,t){void 0===t&&(t=\"float32\");var n=R(b(e),t);return $.make(e,{values:n},t)}function rt(e,t){void 0===t&&(t=\"float32\");var n=j(b(e),t);return $.make(e,{values:n},t)}function it(e,t,n){void 0===n&&(n=\"float32\");var r=M(n,b(e));return r.fill(t),$.make(e,{values:r},n)}function ot(e,t,n){if(0===n)throw new Error(\"Cannot request zero samples\");var r=(t-e)/(n-1),i=j(n,\"float32\");i[0]=e;for(var o=1;o<i.length;o++)i[o]=i[o-1]+r;return Qe(i,\"float32\")}function st(e,t,n,r){if(void 0===n&&(n=1),void 0===r&&(r=\"float32\"),0===n)throw new Error(\"Cannot have a step of zero\");if(e===t||e<t&&n<0||t<e&&n>1)return rt([0],r);var i=j(Math.abs(Math.ceil((t-e)/n)),r);t<e&&1===n&&(n=-1),i[0]=e;for(var o=1;o<i.length;o++)i[o]=i[o-1]+n;return Qe(i,r)}var at,ut,lt,ct,ht,dt=Ze({onesLike_:function(e){var t=Ue(e,\"x\",\"onesLike\");return nt(t.shape,t.dtype)}}),pt=Ze({zerosLike_:function(e){var t=Ue(e,\"x\",\"zerosLike\");return rt(t.shape,t.dtype)}});!function(e){e.float32=\"float32\",e.int32=\"int32\",e.bool=\"bool\"}(at||(at={})),function(e){e.R0=\"R0\",e.R1=\"R1\",e.R2=\"R2\",e.R3=\"R3\",e.R4=\"R4\",e.R5=\"R5\",e.R6=\"R6\"}(ut||(ut={})),function(e){e.float32=\"float32\",e.int32=\"int32\",e.bool=\"int32\"}(lt||(lt={})),function(e){e.float32=\"float32\",e.int32=\"int32\",e.bool=\"bool\"}(ct||(ct={})),function(e){e.float32=\"float32\",e.int32=\"float32\",e.bool=\"float32\"}(ht||(ht={}));var ft={float32:ht,int32:lt,bool:ct};function gt(e,t){return ft[e][t]}function mt(e){return gt(e,\"int32\")}function vt(e,t,n){if(!L(e.dtype,t))return $.make(e.shape,{dataId:e.dataId},t);if(\"int32\"===t)return n.int(e);if(\"bool\"===t)return n.notEqual(e,qe(0,e.dtype));throw new Error(\"Error in Cast: unknown dtype argument (\"+t+\")\")}function yt(e,t){return $.make(t,{dataId:e.dataId},e.dtype)}function bt(e,t,n,r,i){for(var o=Array.from(t).map(function(e,t){return{score:e,boxIndex:t}}).filter(function(e){return e.score>i}).sort(function(e,t){return t.score-e.score}),s=[],a=0;a<o.length;a++){var u=o[a],l=u.score,c=u.boxIndex;if(l<i)break;for(var h=!1,d=s.length-1;d>=0;--d)if(_t(e,c,s[d])>=r){h=!0;break}if(!h&&(s.push(c),s.length>=n))break}return Qe(s,\"int32\")}function _t(e,t,n){var r=e.subarray(4*t,4*t+4),i=e.subarray(4*n,4*n+4),o=Math.min(r[0],r[2]),s=Math.min(r[1],r[3]),a=Math.max(r[0],r[2]),u=Math.max(r[1],r[3]),l=Math.min(i[0],i[2]),c=Math.min(i[1],i[3]),h=Math.max(i[0],i[2]),d=Math.max(i[1],i[3]),p=(a-o)*(u-s),f=(h-l)*(d-c);if(p<=0||f<=0)return 0;var g=Math.max(o,l),m=Math.max(s,c),v=Math.min(a,h),y=Math.min(u,d),b=Math.max(v-g,0)*Math.max(y-m,0);return b/(p+f-b)}function Ct(e,t,n,r,i){for(var o=t[t.length-1],s=[e.length/o,o],a=s[0],u=s[1],l=M(n,a*r),c=M(\"int32\",a*r),h=0;h<a;h++){for(var d=h*u,p=e.subarray(d,d+u),f=[],g=0;g<p.length;g++)f.push({value:p[g],index:g});f.sort(function(e,t){return t.value-e.value});var m=h*r,v=l.subarray(m,m+r),y=c.subarray(m,m+r);for(g=0;g<r;g++)v[g]=f[g].value,y[g]=f[g].index}var b=t.slice();return b[b.length-1]=r,[Ke(l,b,n),Ke(c,b,\"int32\")]}var wt=function(e,t,n){this.variableNames=[\"A\"];var r=e.windowSize,i=e.batchSize,o=e.inSize,s=Math.ceil(o/r);n||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[i,s];var a=\"max\"===t?\">\":\"<\",u=n?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=\"\\n      void main() {\\n        ivec2 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int outIdx = coords[1];\\n        int inOffset = outIdx * \"+r+\";\\n\\n        int bestIndex = 0;\\n        float bestValue = getA(batch, inOffset);\\n\\n        for (int i = 0; i < \"+r+\"; i++) {\\n          int inIdx = \"+u+\";\\n          float candidate = getA(batch, inIdx);\\n          if (candidate \"+a+\" bestValue) {\\n            bestValue = candidate;\\n            bestIndex = inIdx;\\n          }\\n        }\\n        setOutput(float(bestIndex));\\n      }\\n    \"},Dt=function(e){this.variableNames=[\"dy\"],this.outputShape=e.inShape;var t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,i=e.strideWidth,o=t-1-e.padInfo.top,s=n-1-e.padInfo.left,a=1/(t*n);this.userCode=\"\\n      const ivec2 pads = ivec2(\"+o+\", \"+s+\");\\n      const float avgMultiplier = float(\"+a+\");\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int d = coords[3];\\n\\n        ivec2 dyRCCorner = coords.yz - pads;\\n        int dyRCorner = dyRCCorner.x;\\n        int dyCCorner = dyRCCorner.y;\\n\\n        // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\\n        // ? = to be determined. : = across all values in that axis.\\n        float dotProd = 0.0;\\n        for (int wR = 0; wR < \"+t+\"; wR++) {\\n          float dyR = float(dyRCorner + wR) / \"+r+\".0;\\n\\n          if (dyR < 0.0 || dyR >= \"+e.outHeight+\".0 || fract(dyR) > 0.0) {\\n            continue;\\n          }\\n          int idyR = int(dyR);\\n\\n          for (int wC = 0; wC < \"+n+\"; wC++) {\\n            float dyC = float(dyCCorner + wC) / \"+i+\".0;\\n\\n            if (dyC < 0.0 || dyC >= \"+e.outWidth+\".0 ||\\n                fract(dyC) > 0.0) {\\n              continue;\\n            }\\n            int idyC = int(dyC);\\n\\n            float dyValue = getDy(b, idyR, idyC, d);\\n\\n            dotProd += dyValue * avgMultiplier;\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"};function Et(e,t){for(var n=e.length,r=[],i=0;i<n;i++){var o=n-1-i,s=e[o]||1;(t[t.length-1-i]||1)>1&&1===s&&r.unshift(o)}return r}function At(e,t){for(var n=[],r=0;r<t.length;r++){var i=e[e.length-r-1],o=t.length-r-1,s=t[o];(null==i||1===i&&s>1)&&n.unshift(o)}return n}function St(e,t){for(var n=[],r=\"Operands could not be broadcast together with shapes \"+e+\" and \"+t+\".\",i=Math.max(e.length,t.length),o=0;o<i;o++){var s=e[e.length-o-1]||1,a=t[t.length-o-1]||1;if(s>1&&a>1&&s!==a)throw Error(r);n.unshift(Math.max(s,a))}return n}var xt=function(e,t,n,r,i,o){this.outputShape=[],this.supportsBroadcasting=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],St(e,t),St(e,n);var s=\"0.0\";null!=r&&(St(e,r),this.variableNames.push(\"offset\"),s=\"getOffsetAtOutCoords()\");var a=\"1.0\";null!=i&&(St(e,i),this.variableNames.push(\"scale\"),a=\"getScaleAtOutCoords()\"),this.outputShape=e,this.userCode=\"\\n      void main() {\\n        float x = getXAtOutCoords();\\n        float mean = getMeanAtOutCoords();\\n        float variance = getVarianceAtOutCoords();\\n        float offset = \"+s+\";\\n        float scale = \"+a+\";\\n        float inv = scale * inversesqrt(variance + float(\"+o+\"));\\n        setOutput((x - mean) * inv + offset);\\n      }\\n    \"},Mt=function(){function e(e,t,n){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.outputShape=St(t,n),this.userCode=\"\\n      uniform float NAN;\\n      float binaryOperation(float a, float b) {\\n        \"+e+\"\\n      }\\n\\n      void main() {\\n        float a = getAAtOutCoords();\\n        float b = getBAtOutCoords();\\n        setOutput(binaryOperation(a, b));\\n      }\\n    \"}return e.prototype.getCustomSetupFunc=function(){var e=this;return function(t,n){null==e.startLoc&&(e.startLoc=t.getUniformLocationNoThrow(n,\"NAN\"),null==e.startLoc)||t.gl.uniform1f(e.startLoc,NaN)}},e}(),Nt=function(e,t,n){this.variableNames=[\"A\"],this.outputShape=e;var r=t.toFixed(20),i=n.toFixed(20);this.userCode=\"\\n      void main() {\\n        float value = getAAtOutCoords();\\n        if (isNaN(value)) {\\n          setOutput(value);\\n          return;\\n        }\\n\\n        setOutput(clamp(value, \"+r+\", \"+i+\"));\\n      }\\n    \"};function It(e,t,n){f(e.length===t.length,\"x1 and x2 should have the same rank.\");var r=e.slice();return r[n]+=t[n],r}var Lt=function(e,t){this.variableNames=[\"A\",\"B\"],this.outputShape=[],this.outputShape=It(e,t,1),this.userCode=\"\\n      void main() {\\n        ivec2 coords = getOutputCoords();\\n        int yR = coords.x;\\n        int yC = coords.y;\\n\\n        float value = 0.0;\\n        if (yC < \"+e[1]+\") {\\n          value = getA(yR, yC);\\n        } else {\\n          yC -= \"+e[1]+\";\\n          value = getB(yR, yC);\\n        }\\n\\n        setOutput(value);\\n      }\\n    \"},kt=function(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;var t=e.strideHeight,n=e.strideWidth,r=e.padInfo.top,i=e.padInfo.left;this.userCode=\"\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int wR = coords.x;\\n        int wC = coords.y;\\n        int d1 = coords.z;\\n        int d2 = coords.w;\\n\\n        // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\\n        // ? = to be determined. : = across all values in that axis.\\n        float dotProd = 0.0;\\n\\n        for (int b = 0; b < \"+e.batchSize+\"; b++) {\\n          for (int yR = 0; yR < \"+e.outHeight+\"; yR++) {\\n            int xR = wR + yR * \"+t+\" - \"+r+\";\\n\\n            if (xR < 0 || xR >= \"+e.inHeight+\") {\\n              continue;\\n            }\\n\\n            for (int yC = 0; yC < \"+e.outWidth+\"; yC++) {\\n              int xC = wC + yC * \"+n+\" - \"+i+\";\\n\\n              if (xC < 0 || xC >= \"+e.inWidth+\") {\\n                continue;\\n              }\\n\\n              float dyValue = getDy(b, yR, yC, d2);\\n              float xValue = getX(b, xR, xC, d1);\\n              dotProd += (xValue * dyValue);\\n            }\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"},Tt=function(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;var t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,i=e.strideWidth,o=t-1-e.padInfo.top,s=n-1-e.padInfo.left;this.userCode=\"\\n      const ivec2 pads = ivec2(\"+o+\", \"+s+\");\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int d1 = coords[3];\\n\\n        ivec2 dyCorner = coords.yz - pads;\\n        int dyRCorner = dyCorner.x;\\n        int dyCCorner = dyCorner.y;\\n\\n        // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\\n        // ? = to be determined. : = across all values in that axis.\\n        float dotProd = 0.0;\\n        for (int wR = 0; wR < \"+t+\"; wR++) {\\n          float dyR = float(dyRCorner + wR) / \"+r+\".0;\\n\\n          if (dyR < 0.0 || dyR >= \"+e.outHeight+\".0 || fract(dyR) > 0.0) {\\n            continue;\\n          }\\n          int idyR = int(dyR);\\n\\n          int wRPerm = \"+t+\" - 1 - wR;\\n\\n          for (int wC = 0; wC < \"+n+\"; wC++) {\\n            float dyC = float(dyCCorner + wC) / \"+i+\".0;\\n\\n            if (dyC < 0.0 || dyC >= \"+e.outWidth+\".0 ||\\n                fract(dyC) > 0.0) {\\n              continue;\\n            }\\n            int idyC = int(dyC);\\n\\n            int wCPerm = \"+n+\" - 1 - wC;\\n\\n            for (int d2 = 0; d2 < \"+e.outChannels+\"; d2++) {\\n              float xValue = getDy(batch, idyR, idyC, d2);\\n              float wValue = getW(wRPerm, wCPerm, d1, d2);\\n              dotProd += xValue * wValue;\\n            }\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"},Ft=function(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;var t=e.strideHeight,n=e.strideWidth,r=e.padInfo.top,i=e.padInfo.left,o=e.outChannels/e.inChannels;this.userCode=\"\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int wR = coords.x;\\n        int wC = coords.y;\\n        int d1 = coords.z;\\n        int dm = coords.w;\\n        int d2 = d1 * \"+o+\" + dm;\\n\\n        float dotProd = 0.0;\\n\\n        // TODO: Vec4 over the batch size\\n        for (int b = 0; b < \"+e.batchSize+\"; b++) {\\n          for (int yR = 0; yR < \"+e.outHeight+\"; yR++) {\\n            int xR = wR + yR * \"+t+\" - \"+r+\";\\n\\n            if (xR < 0 || xR >= \"+e.inHeight+\") {\\n              continue;\\n            }\\n\\n            for (int yC = 0; yC < \"+e.outWidth+\"; yC++) {\\n              int xC = wC + yC * \"+n+\" - \"+i+\";\\n\\n              if (xC < 0 || xC >= \"+e.inWidth+\") {\\n                continue;\\n              }\\n\\n              float dyValue = getDy(b, yR, yC, d2);\\n              float xValue = getX(b, xR, xC, d1);\\n              dotProd += (xValue * dyValue);\\n            }\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"},Ot=function(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;var t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,i=e.strideWidth,o=t-1-e.padInfo.top,s=n-1-e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=\"\\n      const ivec2 pads = ivec2(\"+o+\", \"+s+\");\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int d1 = coords[3];\\n        ivec2 dyCorner = coords.yz - pads;\\n        int dyRCorner = dyCorner.x;\\n        int dyCCorner = dyCorner.y;\\n\\n        float dotProd = 0.0;\\n\\n        for (int wR = 0; wR < \"+t+\"; wR++) {\\n          float dyR = float(dyRCorner + wR) / \"+r+\".0;\\n\\n          if (dyR < 0.0 || dyR >= \"+e.outHeight+\".0 || fract(dyR) > 0.0) {\\n            continue;\\n          }\\n          int idyR = int(dyR);\\n\\n          int wRPerm = \"+t+\" - 1 - wR;\\n\\n          for (int wC = 0; wC < \"+n+\"; wC++) {\\n            float dyC = float(dyCCorner + wC) / \"+i+\".0;\\n\\n            if (dyC < 0.0 || dyC >= \"+e.outWidth+\".0 ||\\n                fract(dyC) > 0.0) {\\n              continue;\\n            }\\n            int idyC = int(dyC);\\n\\n            int wCPerm = \"+n+\" - 1 - wC;\\n\\n            // TODO: Vec4 over the channelMul\\n            for (int dm = 0; dm < \"+a+\"; dm++) {\\n              int d2 = d1 * \"+a+\" + dm;\\n              float xValue = getDy(batch, idyR, idyC, d2);\\n              float wValue = getW(wRPerm, wCPerm, d1, dm);\\n              dotProd += xValue * wValue;\\n            }\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"},Pt=function(e){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;var t=e.padInfo.top,n=e.padInfo.left,r=e.strideHeight,i=e.strideWidth,o=e.dilationHeight,s=e.dilationWidth,a=e.filterHeight,u=e.filterWidth,l=4*Math.floor(e.inChannels/4),c=e.inChannels%4;this.userCode=\"\\n      const ivec2 strides = ivec2(\"+r+\", \"+i+\");\\n      const ivec2 pads = ivec2(\"+t+\", \"+n+\");\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int d2 = coords[3];\\n\\n        ivec2 xRCCorner = coords.yz * strides - pads;\\n        int xRCorner = xRCCorner.x;\\n        int xCCorner = xRCCorner.y;\\n\\n        // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\\n        // ? = to be determined. : = across all values in that axis.\\n        float dotProd = 0.0;\\n        for (int wR = 0; wR < \"+a+\"; wR++) {\\n          int xR = xRCorner + wR * \"+o+\";\\n\\n          if (xR < 0 || xR >= \"+e.inHeight+\") {\\n            continue;\\n          }\\n\\n          for (int wC = 0; wC < \"+u+\"; wC++) {\\n            int xC = xCCorner + wC * \"+s+\";\\n\\n            if (xC < 0 || xC >= \"+e.inWidth+\") {\\n              continue;\\n            }\\n\\n            for (int d1 = 0; d1 < \"+l+\"; d1 += 4) {\\n              vec4 xValues = vec4(\\n                getX(batch, xR, xC, d1),\\n                getX(batch, xR, xC, d1 + 1),\\n                getX(batch, xR, xC, d1 + 2),\\n                getX(batch, xR, xC, d1 + 3)\\n              );\\n              vec4 wValues = vec4(\\n                getW(wR, wC, d1, d2),\\n                getW(wR, wC, d1 + 1, d2),\\n                getW(wR, wC, d1 + 2, d2),\\n                getW(wR, wC, d1 + 3, d2)\\n              );\\n\\n              dotProd += dot(xValues, wValues);\\n            }\\n\\n            if (\"+(1===c)+\") {\\n              dotProd +=\\n                getX(batch, xR, xC, \"+l+\") *\\n                getW(wR, wC, \"+l+\", d2);\\n            } else if (\"+(2===c)+\") {\\n              vec2 xValues = vec2(\\n                getX(batch, xR, xC, \"+l+\"),\\n                getX(batch, xR, xC, \"+l+\" + 1)\\n              );\\n              vec2 wValues = vec2(\\n                getW(wR, wC, \"+l+\", d2),\\n                getW(wR, wC, \"+l+\" + 1, d2)\\n              );\\n              dotProd += dot(xValues, wValues);\\n            } else if (\"+(3===c)+\") {\\n              vec3 xValues = vec3(\\n                getX(batch, xR, xC, \"+l+\"),\\n                getX(batch, xR, xC, \"+l+\" + 1),\\n                getX(batch, xR, xC, \"+l+\" + 2)\\n              );\\n              vec3 wValues = vec3(\\n                getW(wR, wC, \"+l+\", d2),\\n                getW(wR, wC, \"+l+\" + 1, d2),\\n                getW(wR, wC, \"+l+\" + 2, d2)\\n              );\\n              dotProd += dot(xValues, wValues);\\n            }\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"},Bt=function(e){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;var t=e.inHeight,n=e.inWidth,r=e.padInfo.top,i=e.padInfo.left,o=e.strideHeight,s=e.strideWidth,a=e.dilationHeight,u=e.dilationWidth,l=e.filterHeight,c=e.filterWidth,h=e.outChannels/e.inChannels;this.userCode=\"\\n      const ivec2 strides = ivec2(\"+o+\", \"+s+\");\\n      const ivec2 pads = ivec2(\"+r+\", \"+i+\");\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int batch = coords.x;\\n        ivec2 xRCCorner = coords.yz * strides - pads;\\n        int d2 = coords.w;\\n        int d1 = d2 / \"+h+\";\\n        int q = d2 - d1 * \"+h+\";\\n\\n        int xRCorner = xRCCorner.x;\\n        int xCCorner = xRCCorner.y;\\n\\n        // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\\n        // ? = to be determined. : = across all values in that axis.\\n        float dotProd = 0.0;\\n        // TODO(dsmilkov): Flatten the two for loops and vec4 the operations.\\n        for (int wR = 0; wR < \"+l+\"; wR++) {\\n          int xR = xRCorner + wR * \"+a+\";\\n\\n          if (xR < 0 || xR >= \"+t+\") {\\n            continue;\\n          }\\n\\n          for (int wC = 0; wC < \"+c+\"; wC++) {\\n            int xC = xCCorner + wC * \"+u+\";\\n\\n            if (xC < 0 || xC >= \"+n+\") {\\n              continue;\\n            }\\n\\n            float xVal = getX(batch, xR, xC, d1);\\n            float wVal = getW(wR, wC, d1, q);\\n            dotProd += xVal * wVal;\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"};function Rt(e,t,n,r){var i=e.map(function(e){var t=b(e.shapeInfo.logicalShape);return e.shapeInfo.isUniform?\"uniform float \"+e.name+(t>1?\"[\"+t+\"]\":\"\")+\";\":\"uniform sampler2D \"+e.name+\";\"});i=i.join(\"\\n\");var o=e.map(function(e){return function(e,t,n){var r=function(e){var t=e.name,n=\"get\"+t.charAt(0).toUpperCase()+t.slice(1)+\"Flat\",r=b(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform)return 1===r?\"float \"+n+\"(int index) {return \"+t+\";}\":\"\\n      float \"+n+\"(int index) {\\n        for (int i = 0; i < \"+r+\"; i++) {\\n          if (i == index) {\\n            return \"+t+\"[i];\\n          }\\n        }\\n      }\\n    \";var i=e.shapeInfo.texShape,o=i[0],s=i[1];return 1===s&&1===o?\"\\n      float \"+n+\"(int index) {\\n        return sampleTexture(\"+t+\", halfCR);\\n      }\\n    \":1===s?\"\\n      float \"+n+\"(int index) {\\n        vec2 uv = vec2(0.5, (float(index) + 0.5) / \"+o+\".0);\\n        return sampleTexture(\"+t+\", uv);\\n      }\\n    \":1===o?\"\\n      float \"+n+\"(int index) {\\n        vec2 uv = vec2((float(index) + 0.5) / \"+s+\".0, 0.5);\\n        return sampleTexture(\"+t+\", uv);\\n      }\\n    \":\"\\n    float \"+n+\"(int index) {\\n      vec2 uv = UVfrom1D(\"+o+\", \"+s+\", index);\\n      return sampleTexture(\"+t+\", uv);\\n    }\\n  \"}(e);return r+=jt(e),(n||_(e.shapeInfo.logicalShape,t.logicalShape))&&(r+=function(e,t,n){var r=e.name,i=r.charAt(0).toUpperCase()+r.slice(1),o=\"get\"+i+\"AtOutCoords\",s=Et(e.shapeInfo.logicalShape,t.logicalShape),a=e.shapeInfo.logicalShape.length,u=t.logicalShape.length,l=n&&(u>a||s.length>0),c=function(e){for(var t=0;t<e.length;t++)if(e[t]!==t)return!1;return!0}(s),h=e.shapeInfo.isUniform;if(l&&!c)return function(e,t,n,r){var i=e.shapeInfo.logicalShape.length,o=t.logicalShape.length,s=\"int\";2===o?s=\"ivec2\":3===o?s=\"ivec3\":4===o&&(s=\"ivec4\");var a=Et(e.shapeInfo.logicalShape,t.logicalShape),u=o-i;return\"\\n    float \"+r+\"() {\\n      \"+s+\" coords = getOutputCoords();\\n      \"+(0===i?\"\":o<2&&a.length>=1?\"coords = 0;\":a.map(function(e){return\"coords[\"+(e+u)+\"] = 0;\"}).join(\"\\n\"))+\"\\n      return get\"+n+\"(\"+(o<2&&i>0?\"coords\":e.shapeInfo.logicalShape.map(function(e,t){return\"coords[\"+(t+u)+\"]\"}).join(\", \"))+\");\\n    }\\n  \"}(e,t,i,o);var d=b(e.shapeInfo.logicalShape),p=\"\";l&&c&&(p=\"\\n        int mainPart = index / \"+d+\";\\n        index -= mainPart * \"+d+\";\\n      \");var f=t.texShape;if(h)return 1===d?\"float \"+o+\"() {return \"+r+\";}\":\"\\n      float \"+o+\"() {\\n        ivec2 resTexRC = ivec2(resultUV.yx *\\n                              vec2(\"+f[0]+\", \"+f[1]+\"));\\n        int index = resTexRC.x * \"+f[1]+\" + resTexRC.y;\\n        \"+p+\"\\n        return get\"+i+\"Flat(index);\\n      }\\n    \";var g=e.shapeInfo.texShape;return _(g,f)?\"\\n      float \"+o+\"() {\\n        return sampleTexture(\"+r+\", resultUV);\\n      }\\n    \":\"\\n    float \"+o+\"() {\\n      ivec2 resTexRC = ivec2(resultUV.yx *\\n                             vec2(\"+f[0]+\", \"+f[1]+\"));\\n      int index = resTexRC.x * \"+f[1]+\" + resTexRC.y;\\n      \"+p+\"\\n      int texR = index / \"+g[1]+\";\\n      int texC = index - texR * \"+g[1]+\";\\n      vec2 uv = (vec2(texC, texR) + halfCR) /\\n                 vec2(\"+g[1]+\".0, \"+g[0]+\".0);\\n\\n      return sampleTexture(\"+r+\", uv);\\n    }\\n  \"}(e,t,n)),r}(e,t,r)}).join(\"\\n\"),s=t.texShape,a=function(e,t){switch(e.length){case 0:return\"\\n    int getOutputCoords() {\\n      return 0;\\n    }\\n  \";case 1:return function(e,t){return 1===t[0]?\"\\n      int getOutputCoords() {\\n        return int(resultUV.x * \"+t[1]+\".0);\\n      }\\n    \":1===t[1]?\"\\n      int getOutputCoords() {\\n        return int(resultUV.y * \"+t[0]+\".0);\\n      }\\n    \":\"\\n    int getOutputCoords() {\\n      ivec2 resTexRC = ivec2(resultUV.yx *\\n                             vec2(\"+t[0]+\", \"+t[1]+\"));\\n      return resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n    }\\n  \"}(0,t);case 2:return function(e,t){return _(e,t)?\"\\n      ivec2 getOutputCoords() {\\n        return ivec2(resultUV.yx * vec2(\"+t[0]+\", \"+t[1]+\"));\\n      }\\n    \":1===e[1]?\"\\n      ivec2 getOutputCoords() {\\n        ivec2 resTexRC = ivec2(resultUV.yx *\\n                               vec2(\"+t[0]+\", \"+t[1]+\"));\\n        int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n        return ivec2(index, 0);\\n      }\\n    \":1===e[0]?\"\\n      ivec2 getOutputCoords() {\\n        ivec2 resTexRC = ivec2(resultUV.yx *\\n                               vec2(\"+t[0]+\", \"+t[1]+\"));\\n        int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n        return ivec2(0, index);\\n      }\\n    \":\"\\n    ivec2 getOutputCoords() {\\n      ivec2 resTexRC = ivec2(resultUV.yx *\\n                             vec2(\"+t[0]+\", \"+t[1]+\"));\\n      int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n      int r = index / \"+e[1]+\";\\n      int c = index - r * \"+e[1]+\";\\n      return ivec2(r, c);\\n    }\\n  \"}(e,t);case 3:return function(e,t){var n=e[1]*e[2],r=e[2];return\"\\n    ivec3 getOutputCoords() {\\n      ivec2 resTexRC = ivec2(resultUV.yx *\\n                             vec2(\"+t[0]+\", \"+t[1]+\"));\\n      int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n      int r = index / \"+n+\";\\n      index -= r * \"+n+\";\\n      int c = index / \"+r+\";\\n      int d = index - c * \"+r+\";\\n      return ivec3(r, c, d);\\n    }\\n  \"}(e,t);case 4:return function(e,t){var n=e[3],r=e[2]*n,i=e[1]*r;return\"\\n    ivec4 getOutputCoords() {\\n      ivec2 resTexRC = ivec2(resultUV.yx *\\n        vec2(\"+t[0]+\", \"+t[1]+\"));\\n      int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n\\n      int r = index / \"+i+\";\\n      index -= r * \"+i+\";\\n\\n      int c = index / \"+r+\";\\n      index -= c * \"+r+\";\\n\\n      int d = index / \"+n+\";\\n      int d2 = index - d * \"+n+\";\\n\\n      return ivec4(r, c, d, d2);\\n    }\\n  \"}(e,t);case 5:return function(e,t){var n=e[4],r=e[3]*n,i=e[2]*r,o=e[1]*i;return\"\\n    ivec5 getOutputCoords() {\\n      ivec2 resTexRC = ivec2(resultUV.yx * vec2(\"+t[0]+\",\\n                             \"+t[1]+\"));\\n\\n      int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n\\n      int r = index / \"+o+\";\\n      index -= r * \"+o+\";\\n\\n      int c = index / \"+i+\";\\n      index -= c * \"+i+\";\\n\\n      int d = index / \"+r+\";\\n      index -= d * \"+r+\";\\n\\n      int d2 = index  / \"+n+\";\\n      int d3 = index - d2 * \"+n+\";\\n\\n      ivec5 outShape = ivec5(r, c, d, d2, d3);\\n      return outShape;\\n    }\\n  \"}(e,t);case 6:return function(e,t){var n=e[5],r=e[4]*n,i=e[3]*r,o=e[2]*i,s=e[1]*o;return\"\\n    ivec6 getOutputCoords() {\\n      ivec2 resTexRC = ivec2(resultUV.yx *\\n        vec2(\"+t[0]+\", \"+t[1]+\"));\\n      int index = resTexRC.x * \"+t[1]+\" + resTexRC.y;\\n\\n      int r = index / \"+s+\";\\n      index -= r * \"+s+\";\\n\\n      int c = index / \"+o+\";\\n      index -= c * \"+o+\";\\n\\n      int d = index / \"+i+\";\\n      index -= d * \"+i+\";\\n\\n      int d2 = index / \"+r+\";\\n      index -= d2 * \"+r+\";\\n\\n      int d3 = index / \"+n+\";\\n      int d4 = index - d3 * \"+n+\";\\n\\n      ivec6 result = ivec6(r, c, d, d2, d3, d4);\\n      return result;\\n    }\\n  \"}(e,t);default:throw new Error(e.length+\"-D output sampling is not yet supported\")}}(t.logicalShape,s);return[Vt,zt,Wt,i,a,o,n].join(\"\\n\")}function jt(e){var t=e.shapeInfo.logicalShape;switch(t.length){case 0:return function(e){var t=e.name,n=\"get\"+t.charAt(0).toUpperCase()+t.slice(1);return e.shapeInfo.isUniform?\"float \"+n+\"() {return \"+t+\";}\":\"\\n    float \"+n+\"() {\\n      return sampleTexture(\"+t+\", halfCR);\\n    }\\n  \"}(e);case 1:return function(e){var t=e.name,n=\"get\"+t.charAt(0).toUpperCase()+t.slice(1);return\"\\n    float \"+n+\"(int index) {\\n      return \"+n+\"Flat(index);\\n    }\\n  \"}(e);case 2:return function(e){var t=e.shapeInfo.logicalShape,n=e.name,r=\"get\"+n.charAt(0).toUpperCase()+n.slice(1),i=e.shapeInfo.texShape;if(null!=i&&_(t,i)){var o=i[0];return\"\\n    float \"+r+\"(int row, int col) {\\n      vec2 uv = (vec2(col, row) + halfCR) / vec2(\"+i[1]+\".0, \"+o+\".0);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \"}var s=x(t),a=s.newShape,u=s.keptDims,l=a;if(l.length<t.length)return\"\\n      \"+jt(Ut(e,l))+\"\\n      float \"+r+\"(int row, int col) {\\n        return \"+r+\"(\"+Yt([\"row\",\"col\"],u)+\");\\n      }\\n    \";if(e.shapeInfo.isUniform)return\"\\n      float \"+r+\"(int row, int col) {\\n        int index = row * \"+t[1]+\" + col;\\n        return \"+r+\"Flat(index);\\n      }\\n    \";var c=i[0],h=i[1];return 1===h?\"\\n    float \"+r+\"(int row, int col) {\\n      int index = row * \"+t[1]+\" + col;\\n      vec2 uv = vec2(0.5, (float(index) + 0.5) / \"+c+\".0);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \":1===c?\"\\n    float \"+r+\"(int row, int col) {\\n      int index = row * \"+t[1]+\" + col;\\n      vec2 uv = vec2((float(index) + 0.5) / \"+h+\".0, 0.5);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \":\"\\n  float \"+r+\"(int row, int col) {\\n    vec2 uv = UVfrom2D(\"+c+\", \"+h+\", \"+t[1]+\", row, col);\\n    return sampleTexture(\"+n+\", uv);\\n  }\\n\"}(e);case 3:return function(e){var t=e.shapeInfo.logicalShape,n=e.name,r=\"get\"+n.charAt(0).toUpperCase()+n.slice(1),i=t[1]*t[2],o=t[2],s=x(t),a=s.newShape,u=s.keptDims,l=a;if(l.length<t.length)return\"\\n        \"+jt(Ut(e,l))+\"\\n        float \"+r+\"(int row, int col, int depth) {\\n          return \"+r+\"(\"+Yt([\"row\",\"col\",\"depth\"],u)+\");\\n        }\\n      \";if(e.shapeInfo.isUniform)return\"\\n      float \"+r+\"(int row, int col, int depth) {\\n        int index = row * \"+i+\" + col * \"+o+\" + depth;\\n        return \"+r+\"Flat(index);\\n      }\\n    \";var c=e.shapeInfo.texShape,h=c[0],d=c[1];return d===i?\"\\n        float \"+r+\"(int row, int col, int depth) {\\n          int texR = row;\\n          int texC = col * \"+o+\" + depth;\\n          vec2 uv = (vec2(texC, texR) + halfCR) /\\n                     vec2(\"+d+\".0, \"+h+\".0);\\n          return sampleTexture(\"+n+\", uv);\\n        }\\n      \":d===o?\"\\n    float \"+r+\"(int row, int col, int depth) {\\n      int texR = row * \"+t[1]+\" + col;\\n      int texC = depth;\\n      vec2 uv = (vec2(texC, texR) + halfCR) / vec2(\"+d+\".0, \"+h+\".0);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \":\"\\n      float \"+r+\"(int row, int col, int depth) {\\n        vec2 uv = UVfrom3D(\\n            \"+h+\", \"+d+\", \"+i+\", \"+o+\", row, col, depth);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n  \"}(e);case 4:return function(e){var t=e.shapeInfo.logicalShape,n=e.name,r=\"get\"+n.charAt(0).toUpperCase()+n.slice(1),i=t[3],o=t[2]*i,s=t[1]*o,a=x(t),u=a.newShape,l=a.keptDims;if(u.length<t.length)return\"\\n      \"+jt(Ut(e,u))+\"\\n      float \"+r+\"(int row, int col, int depth, int depth2) {\\n        return \"+r+\"(\"+Yt([\"row\",\"col\",\"depth\",\"depth2\"],l)+\");\\n      }\\n    \";if(e.shapeInfo.isUniform)return\"\\n      float \"+r+\"(int row, int col, int depth, int depth2) {\\n        int index = row * \"+s+\" + col * \"+o+\" +\\n            depth * \"+i+\" + depth2;\\n        return \"+r+\"Flat(index);\\n      }\\n    \";var c=e.shapeInfo.texShape,h=c[0],d=c[1];return d===s?\"\\n      float \"+r+\"(int row, int col, int depth, int depth2) {\\n        int texR = row;\\n        int texC = col * \"+o+\" + depth * \"+i+\" + depth2;\\n        vec2 uv = (vec2(texC, texR) + halfCR) /\\n                   vec2(\"+d+\".0, \"+h+\".0);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n    \":d===i?\"\\n      float \"+r+\"(int row, int col, int depth, int depth2) {\\n        int texR = row * \"+t[1]*t[2]+\" + col * \"+t[2]+\" + depth;\\n        int texC = depth2;\\n        vec2 uv = (vec2(texC, texR) + halfCR) /\\n                  vec2(\"+d+\".0, \"+h+\".0);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n    \":\"\\n    float \"+r+\"(int row, int col, int depth, int depth2) {\\n      vec2 uv = UVfrom4D(\"+h+\", \"+d+\", \"+s+\", \"+o+\",\\n          \"+i+\", row, col, depth, depth2);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \"}(e);case 5:return function(e){var t=e.shapeInfo.logicalShape,n=e.name,r=\"get\"+n.charAt(0).toUpperCase()+n.slice(1),i=t[4],o=t[3]*i,s=t[2]*o,a=t[1]*s,u=x(t),l=u.newShape,c=u.keptDims;if(l.length<t.length)return\"\\n      \"+jt(Ut(e,l))+\"\\n      float \"+r+\"(int row, int col, int depth, int depth2, int depth3) {\\n        return \"+r+\"(\"+Yt([\"row\",\"col\",\"depth\",\"depth2\",\"depth3\"],c)+\");\\n      }\\n    \";if(e.shapeInfo.isUniform)return\"\\n      float \"+r+\"(int row, int col, int depth, int depth2, int depth3) {\\n        int index = row * \"+a+\" + col * \"+s+\" +\\n            depth * \"+o+\" + depth2 * \"+i+\" + depth3;\\n        return \"+r+\"Flat(index);\\n      }\\n    \";var h=e.shapeInfo.texShape,d=h[0],p=h[1];return p===a?\"\\n      float \"+r+\"(int row, int col, int depth, int depth2, int depth3) {\\n        int texR = row;\\n        int texC = col * \"+s+\" + depth * \"+o+\" +\\n                   depth2 * \"+i+\" + depth3;\\n        vec2 uv = (vec2(texC, texR) + halfCR) /\\n                   vec2(\"+p+\".0, \"+d+\".0);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n    \":p===i?\"\\n      float \"+r+\"(int row, int col, int depth, int depth2, int depth3) {\\n        int texR = row * \"+t[1]*t[2]+\" + col * \"+t[2]+\" +\\n                   depth * \"+t[3]+\" + depth2;\\n        int texC = depth3;\\n        vec2 uv = (vec2(texC, texR) + halfCR) /\\n                  vec2(\"+p+\".0, \"+d+\".0);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n    \":\"\\n    float \"+r+\"(int row, int col, int depth, int depth2, int depth3) {\\n      vec2 uv = UVfrom5D(\"+d+\", \"+p+\", \"+a+\", \"+s+\",\\n          \"+o+\", \"+i+\", row, col, depth, depth2, depth3);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \"}(e);case 6:return function(e){var t=e.shapeInfo.logicalShape,n=e.name,r=\"get\"+n.charAt(0).toUpperCase()+n.slice(1),i=t[5],o=t[4]*i,s=t[3]*o,a=t[2]*s,u=t[1]*a,l=x(t),c=l.newShape,h=l.keptDims;if(c.length<t.length)return\"\\n      \"+jt(Ut(e,c))+\"\\n      float \"+r+\"(int row, int col, int depth,\\n                    int depth2, int depth3, int depth4) {\\n        return \"+r+\"(\"+Yt([\"row\",\"col\",\"depth\",\"depth2\",\"depth3\",\"depth4\"],h)+\");\\n      }\\n    \";if(e.shapeInfo.isUniform)return\"\\n      float \"+r+\"(int row, int col, int depth,\\n                  int depth2, int depth3, int depth4) {\\n        int index = row * \"+u+\" + col * \"+a+\" +\\n            depth * \"+s+\" + depth2 * \"+o+\" + depth3 * \"+o+\"\\n            + depth4\\n        return \"+r+\"Flat(index);\\n      }\\n    \";var d=e.shapeInfo.texShape,p=d[0],f=d[1];return f===u?\"\\n      float \"+r+\"(int row, int col, int depth,\\n                    int depth2, int depth3, int depth4) {\\n        int texR = row;\\n        int texC = col * \"+a+\" + depth * \"+s+\" + depth2;\\n        vec2 uv = (vec2(texC, texR) + halfCR) /\\n                   vec2(\"+f+\".0, \"+p+\".0);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n    \":f===i?\"\\n      float \"+r+\"(int row, int col, int depth,\\n                    int depth2, int depth3, int depth4) {\\n        int texR = row * \"+t[1]*t[2]+\" + col * \"+t[2]+\" + depth;\\n        int texC = depth4;\\n        vec2 uv = (vec2(texC, texR) + halfCR) /\\n                  vec2(\"+f+\".0, \"+p+\".0);\\n        return sampleTexture(\"+n+\", uv);\\n      }\\n    \":\"\\n    float \"+r+\"(int row, int col, int depth,\\n                  int depth2, int depth3, int depth4) {\\n      vec2 uv = UVfrom6D(\"+p+\", \"+f+\", \"+u+\", \"+a+\",\\n          \"+s+\", \"+o+\", \"+i+\"\\n          ,row, col, depth, depth2, depth3, depth4);\\n      return sampleTexture(\"+n+\", uv);\\n    }\\n  \"}(e);default:throw new Error(t.length+\"-D input sampling is not yet supported\")}}var zt=\"\\n  float sampleTexture(sampler2D textureSampler, vec2 uv) {\\n    return texture2D(textureSampler, uv).r;\\n  }\\n\",Wt=\"\\n  void setOutput(float val) {\\n    gl_FragColor = vec4(val, 0, 0, 0);\\n  }\\n\",Vt=\"\\n  precision highp float;\\n  precision highp int;\\n  varying vec2 resultUV;\\n  const vec2 halfCR = vec2(0.5, 0.5);\\n\\n  struct ivec5\\n  {\\n    int x;\\n    int y;\\n    int z;\\n    int w;\\n    int u;\\n  };\\n\\n  struct ivec6\\n  {\\n    int x;\\n    int y;\\n    int z;\\n    int w;\\n    int u;\\n    int v;\\n  };\\n\\n  bool isNaN(float val) {\\n    return (val < 0.0 || 0.0 < val || val == 0.0) ? false : true;\\n  }\\n\\n  bool hasNaN(vec4 values) {\\n    vec4 v1 = values * values;\\n    vec4 v2 = values * values;\\n    return any(notEqual(v1, v2));\\n  }\\n\\n  float getNaN(vec4 values) {\\n    return dot(vec4(1), values);\\n  }\\n\\n  int round(float value) {\\n    return int(floor(value + 0.5));\\n  }\\n\\n  int imod(int x, int y) {\\n    return x - y * (x / y);\\n  }\\n\\n  //Based on the work of Dave Hoskins\\n  //https://www.shadertoy.com/view/4djSRW\\n  #define HASHSCALE1 443.8975\\n  float random(float seed){\\n    vec2 p = resultUV * seed;\\n    vec3 p3  = fract(vec3(p.xyx) * HASHSCALE1);\\n    p3 += dot(p3, p3.yzx + 19.19);\\n    return fract((p3.x + p3.y) * p3.z);\\n  }\\n\\n  \\nvec2 UVfrom1D(int texNumR, int texNumC, int index) {\\n  int texR = index / texNumC;\\n  int texC = index - texR * texNumC;\\n  return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n}\\n\\n  \\nvec2 UVfrom2D(int texNumR, int texNumC, int numC, int row, int col) {\\n  int index = row * numC + col;\\n  int texR = index / texNumC;\\n  int texC = index - texR * texNumC;\\n  return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n}\\n\\n  \\nvec2 UVfrom3D(int texNumR, int texNumC, int stride0,\\n    int stride1, int row, int col, int depth) {\\n  // Explicitly use integer operations as dot() only works on floats.\\n  int index = row * stride0 + col * stride1 + depth;\\n  int texR = index / texNumC;\\n  int texC = index - texR * texNumC;\\n  return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n}\\n\\n  \\nvec2 UVfrom4D(int texNumR, int texNumC, int stride0,\\n    int stride1, int stride2, int row, int col, int depth,\\n    int depth2) {\\n  // Explicitly use integer operations as dot() only works on floats.\\n  int index = row * stride0 + col * stride1 + depth * stride2 + depth2;\\n  int texR = index / texNumC;\\n  int texC = index - texR * texNumC;\\n  return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n}\\n\\n  \\nvec2 UVfrom5D(int texNumR, int texNumC, int stride0,\\n    int stride1, int stride2, int stride3, int row, int col, int depth,\\n    int depth2, int depth3) {\\n  // Explicitly use integer operations as dot() only works on floats.\\n  int index = row * stride0 + col * stride1 +\\n              depth * stride2 + depth2 * stride3 + depth3;\\n  int texR = index / texNumC;\\n  int texC = index - texR * texNumC;\\n  return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n}\\n\\n  \\nvec2 UVfrom6D(int texNumR, int texNumC, int stride0,\\n    int stride1, int stride2, int stride3, int stride4,\\n    int row, int col, int depth, int depth2, int depth3, int depth4) {\\n  // Explicitly use integer operations as dot() only works on floats.\\n  int index = row * stride0 + col * stride1 + depth * stride2 + depth2 *\\n    stride3 + depth3 * stride4 + depth4;\\n  int texR = index / texNumC;\\n  int texC = index - texR * texNumC;\\n  return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n}\\n\\n\";function Ht(e){if(e<=1)return\"int\";if(2===e)return\"ivec2\";if(3===e)return\"ivec3\";if(4===e)return\"ivec4\";if(5===e)return\"ivec5\";if(6===e)return\"ivec6\";throw Error(\"GPU for rank \"+e+\" is not yet supported\")}function Ut(e,t){var n=JSON.parse(JSON.stringify(e));return n.shapeInfo.logicalShape=t,n}function Yt(e,t){return t.map(function(t){return e[t]}).join(\", \")}var Zt=function(e,t,n){this.variableNames=[\"x\"],this.outputShape=e;var r=e.length,i=e[e.length-1],o=n?\"<\":\">\";this.userCode=\"\\n      int getIndex(int i) {\\n        \"+(n?\"return \"+i+\" -i - 1;\":\"return i;\")+\"\\n      }\\n\\n      void main() {\\n        \"+Ht(r)+\" coords = getOutputCoords();\\n        int end = \"+Gt(r,\"coords\")+\";\\n        float val = 0.0;\\n        for (int i = \"+i+\" - 1; i >= 0; i -= 1) {\\n          int idx = getIndex(i);\\n          if (idx \"+o+\" end) {\\n            continue;\\n          }\\n          if (idx == end && \"+t+\") {\\n            continue;\\n          }\\n          \"+Gt(r,\"coords\")+\" = idx;\\n          val += getX(\"+function(e,t){if(1===e)return\"\"+t;if(2===e)return t+\".x, \"+t+\".y\";if(3===e)return t+\".x, \"+t+\".y, \"+t+\".z\";if(4===e)return t+\".x, \"+t+\".y, \"+t+\".z, \"+t+\".w\";throw Error(\"Cumulative sum for rank \"+e+\" is not yet supported\")}(r,\"coords\")+\");\\n        }\\n        setOutput(val);\\n      }\\n    \"};function Gt(e,t){if(1===e)return\"\"+t;if(2===e)return t+\".y\";if(3===e)return t+\".z\";if(4===e)return t+\".w\";throw Error(\"Cumulative sum for rank \"+e+\" is not yet supported\")}var Kt,qt,Qt=function(e){this.variableNames=[\"A\"],this.outputShape=e,this.userCode=\"\\n      const float FLOAT_MAX = 1.70141184e38;\\n      const float FLOAT_MIN = 1.17549435e-38;\\n\\n      lowp vec4 encode_float(highp float v) {\\n        if (isNaN(v)) {\\n          return vec4(255, 255, 255, 255);\\n        }\\n\\n        highp float av = abs(v);\\n\\n        if(av < FLOAT_MIN) {\\n          return vec4(0.0, 0.0, 0.0, 0.0);\\n        } else if(v > FLOAT_MAX) {\\n          return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\\n        } else if(v < -FLOAT_MAX) {\\n          return vec4(0.0, 0.0,  128.0, 255.0) / 255.0;\\n        }\\n\\n        highp vec4 c = vec4(0,0,0,0);\\n\\n        highp float e = floor(log2(av));\\n        highp float m = exp2(fract(log2(av))) - 1.0;\\n\\n        c[2] = floor(128.0 * m);\\n        m -= c[2] / 128.0;\\n        c[1] = floor(32768.0 * m);\\n        m -= c[1] / 32768.0;\\n        c[0] = floor(8388608.0 * m);\\n\\n        highp float ebias = e + 127.0;\\n        c[3] = floor(ebias / 2.0);\\n        ebias -= c[3] * 2.0;\\n        c[2] += floor(ebias) * 128.0;\\n\\n        c[3] += 128.0 * step(0.0, -v);\\n\\n        return c / 255.0;\\n      }\\n\\n      void main() {\\n        float x = getAAtOutCoords();\\n        gl_FragColor = encode_float(x);\\n      }\\n    \"},Xt=function(e){this.variableNames=[\"A\"];var t=e[0],n=e[1];this.outputShape=e,this.userCode=\"\\n      void main() {\\n        ivec3 coords = getOutputCoords();\\n        int texR = coords[0];\\n        int texC = coords[1];\\n        int depth = coords[2];\\n        vec2 uv = (vec2(texC, texR) + halfCR) / vec2(\"+n+\".0, \"+t+\".0);\\n\\n        vec4 values = texture2D(A, uv);\\n        float value;\\n        if (depth == 0) {\\n          value = values.r;\\n        } else if (depth == 1) {\\n          value = values.g;\\n        } else if (depth == 2) {\\n          value = values.b;\\n        } else if (depth == 3) {\\n          value = values.a;\\n        }\\n\\n        setOutput(floor(value * 255.0 + 0.5));\\n      }\\n    \"},Jt=function(e,t,n){this.variableNames=[\"A\",\"indices\"];var r=e.slice();r[n]=t,this.outputShape=r,this.rank=r.length;var i=Ht(this.rank),o=function(e,t){var n=e.length;if(n>4)throw Error(\"Gather for rank \"+n+\" is not yet supported\");if(1===n)return\"int(getIndices(resRC))\";for(var r=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],i=[],o=0;o<e.length;o++)o===t?i.push(\"int(getIndices(\"+r[o]+\"))\"):i.push(\"\"+r[o]);return i.join()}(e,n);this.userCode=\"\\n      void main() {\\n        \"+i+\" resRC = getOutputCoords();\\n        setOutput(getA(\"+o+\"));\\n      }\\n    \"};function $t(e,t){return[t,e]}function en(e,t){return e*t}function tn(e,t,n){var r=function(e,t){if(e%t!=0)throw new Error(\"unpackedSize (\"+e+\") must be a multiple of \"+t);return e/t}(e.length,n);if(t.length<r)throw new Error(\"matrix length (\"+t.length+\") must be >= \"+r);for(var i=0,o=0;o<e.length;o+=n)t[i++]=e[o]}function nn(e,t){return[Math.ceil(t/2),Math.ceil(e/2)]}function rn(e,t){var n=nn(e,t);return n[0]*n[1]*4}!function(e){e[e.RENDER=0]=\"RENDER\",e[e.UPLOAD=1]=\"UPLOAD\",e[e.PIXELS=2]=\"PIXELS\",e[e.DOWNLOAD=3]=\"DOWNLOAD\"}(Kt||(Kt={})),function(e){e[e.FLOAT16=0]=\"FLOAT16\",e[e.FLOAT32=1]=\"FLOAT32\",e[e.UNSIGNED_BYTE=2]=\"UNSIGNED_BYTE\"}(qt||(qt={}));var on=null;function sn(e){var t=document.createElement(\"canvas\");return t.width=1,t.height=1,an(t,e)}function an(e,t){var n,r=me.get(\"WEBGL_VERSION\");if(2===r?n=e.getContext(\"webgl2\",t):1===r&&(n=e.getContext(\"webgl\",t)||e.getContext(\"experimental-webgl\",t)),0===r||null==n)throw new Error(\"This browser does not support WebGL.\");return n}function un(e,t){var n=t();return hn(e),n}var ln=!1;function cn(e){ln=e}function hn(e){if(ln){var t=e.getError();if(t!==e.NO_ERROR)throw new Error(\"WebGL Error: \"+dn(e,t))}}function dn(e,t){switch(t){case e.NO_ERROR:return\"NO_ERROR\";case e.INVALID_ENUM:return\"INVALID_ENUM\";case e.INVALID_VALUE:return\"INVALID_VALUE\";case e.INVALID_OPERATION:return\"INVALID_OPERATION\";case e.INVALID_FRAMEBUFFER_OPERATION:return\"INVALID_FRAMEBUFFER_OPERATION\";case e.OUT_OF_MEMORY:return\"OUT_OF_MEMORY\";case e.CONTEXT_LOST_WEBGL:return\"CONTEXT_LOST_WEBGL\";default:return\"Unknown error code \"+t}}function pn(e,t){return Pn(e,function(){return e.getExtension(t)},'Extension \"'+t+'\" not supported on this browser.')}function fn(e,t){var n=Pn(e,function(){return e.createShader(e.VERTEX_SHADER)},\"Unable to create vertex WebGLShader.\");if(un(e,function(){return e.shaderSource(n,t)}),un(e,function(){return e.compileShader(n)}),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error(\"Failed to compile vertex shader.\");return n}function gn(e,t){var n=Pn(e,function(){return e.createShader(e.FRAGMENT_SHADER)},\"Unable to create fragment WebGLShader.\");if(un(e,function(){return e.shaderSource(n,t)}),un(e,function(){return e.compileShader(n)}),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw function(e,t){var n=mn.exec(t);if(null==n)return console.log(\"Couldn't parse line number in error: \"+t),void console.log(e);for(var r=+n[1],i=e.split(\"\\n\"),o=i.length.toString().length+2,s=i.map(function(e,t){return E((t+1).toString(),o)+e}),a=0,u=0;u<s.length;u++)a=Math.max(s[u].length,a);var l=s.slice(0,r-1),c=s.slice(r-1,r),h=s.slice(r);console.log(l.join(\"\\n\")),console.log(t.split(\"\\n\")[0]),console.log(\"%c \"+E(c[0],a),\"border:1px solid red; background-color:#e3d2d2; color:#a61717\"),console.log(h.join(\"\\n\"))}(t,e.getShaderInfoLog(n)),new Error(\"Failed to compile fragment shader.\");return n}var mn=/ERROR: [0-9]+:([0-9]+):/g;function vn(e){return Pn(e,function(){return e.createProgram()},\"Unable to create WebGLProgram.\")}function yn(e,t){if(un(e,function(){return e.linkProgram(t)}),!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error(\"Failed to link vertex and fragment shaders.\")}function bn(e,t){if(un(e,function(){return e.validateProgram(t)}),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error(\"Shader program validation failed.\")}function _n(e,t){var n=Pn(e,function(){return e.createBuffer()},\"Unable to create WebGLBuffer\");return un(e,function(){return e.bindBuffer(e.ARRAY_BUFFER,n)}),un(e,function(){return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)}),n}function Cn(e,t){var n=Pn(e,function(){return e.createBuffer()},\"Unable to create WebGLBuffer\");return un(e,function(){return e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)}),un(e,function(){return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)}),n}function wn(e){return null!=on?on:on=un(e,function(){return e.getParameter(e.MAX_TEXTURE_SIZE)})}function Dn(){return 2===me.get(\"WEBGL_VERSION\")?1:4}function En(e){return Pn(e,function(){return e.createTexture()},\"Unable to create WebGLTexture.\")}function An(e,t,n){var r=wn(e);if(t<=0||n<=0){var i=\"[\"+t+\"x\"+n+\"]\";throw new Error(\"Requested texture size \"+i+\" is invalid.\")}if(t>r||n>r)throw i=\"[\"+t+\"x\"+n+\"]\",new Error(\"Requested texture size \"+i+\" greater than WebGL maximum on this browser / GPU [\"+r+\"x\"+r+\"].\")}function Sn(e){return Pn(e,function(){return e.createFramebuffer()},\"Unable to create WebGLFramebuffer.\")}function xn(e,t,n,r,i,o,s){var a=e.getAttribLocation(t,n);return-1!==a&&(un(e,function(){return e.bindBuffer(e.ARRAY_BUFFER,r)}),un(e,function(){return e.vertexAttribPointer(a,i,e.FLOAT,!1,o,s)}),un(e,function(){return e.enableVertexAttribArray(a)}),!0)}function Mn(e,t,n){Bn(e,n),un(e,function(){return e.activeTexture(e.TEXTURE0+n)}),un(e,function(){return e.bindTexture(e.TEXTURE_2D,t)})}function Nn(e,t,n){return Pn(e,function(){return e.getUniformLocation(t,n)},'uniform \"'+n+'\" not present in program.')}function In(e,t,n){return e.getUniformLocation(t,n)}function Ln(e,t,n,r,i){un(e,function(){return Mn(e,n,i)}),un(e,function(){return e.uniform1i(r,i)})}function kn(e,t,n){un(e,function(){return e.bindFramebuffer(e.FRAMEBUFFER,n)}),un(e,function(){return e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0)})}function Tn(e,t){un(e,function(){return e.bindFramebuffer(e.FRAMEBUFFER,t)}),un(e,function(){return e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0)})}function Fn(e){var t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+On(e,t))}function On(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\";case e.FRAMEBUFFER_UNSUPPORTED:return\"FRAMEBUFFER_UNSUPPORTED\";default:return\"unknown error \"+t}}function Pn(e,t,n){var r=un(e,function(){return t()});if(null==r)throw new Error(n);return r}function Bn(e,t){var n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,r=t+e.TEXTURE0;if(r<e.TEXTURE0||r>n)throw new Error(\"textureUnit must be in [gl.TEXTURE0, gl.TEXTURE\"+n+\"].\")}function Rn(e,t){2!==t.length&&(t=x(t).newShape);var n=wn(e),r=b(t);return t.length<=1&&r<=n?[r,1]:2===t.length&&t[0]<=n&&t[1]<=n?t:3===t.length&&t[0]<=n&&t[1]*t[2]<=n?[t[0],t[1]*t[2]]:4===t.length&&t[0]<=n&&t[1]*t[2]*t[3]<=n?[t[0],t[1]*t[2]*t[3]]:D(r)}var jn=Object.freeze({createWebGLRenderingContext:sn,createWebGLRenderingContextFromCanvas:an,callAndCheck:un,enableDebugWebGLErrorChecking:cn,checkWebGLError:hn,getWebGLErrorMessage:dn,getExtensionOrThrow:pn,createVertexShader:fn,createFragmentShader:gn,createProgram:vn,linkProgram:yn,validateProgram:bn,createStaticVertexBuffer:_n,createStaticIndexBuffer:Cn,queryMaxTextureSize:wn,getNumChannels:Dn,createTexture:En,validateTextureSize:An,createFramebuffer:Sn,bindVertexBufferToProgramAttribute:xn,bindTextureUnit:Mn,unbindTextureUnit:function(e,t){Bn(e,t),un(e,function(){return e.activeTexture(e.TEXTURE0+t)}),un(e,function(){return e.bindTexture(e.TEXTURE_2D,null)})},getProgramUniformLocationOrThrow:Nn,getProgramUniformLocation:In,bindTextureToProgramUniformSampler:Ln,bindCanvasToFramebuffer:function(e){un(e,function(){return e.bindFramebuffer(e.FRAMEBUFFER,null)}),un(e,function(){return e.viewport(0,0,e.canvas.width,e.canvas.height)}),un(e,function(){return e.scissor(0,0,e.canvas.width,e.canvas.height)})},bindColorTextureToFramebuffer:kn,unbindColorTextureFromFramebuffer:Tn,validateFramebuffer:Fn,getFramebufferErrorMessage:On,getTextureShapeFromLogicalShape:Rn});function zn(){return{alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0}}function Wn(e){var t,n={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};return un(t=null!=e?an(e,n):sn(n),function(){return t.disable(t.DEPTH_TEST)}),un(t,function(){return t.disable(t.STENCIL_TEST)}),un(t,function(){return t.disable(t.BLEND)}),un(t,function(){return t.disable(t.DITHER)}),un(t,function(){return t.disable(t.POLYGON_OFFSET_FILL)}),un(t,function(){return t.disable(t.SAMPLE_COVERAGE)}),un(t,function(){return t.enable(t.SCISSOR_TEST)}),un(t,function(){return t.enable(t.CULL_FACE)}),un(t,function(){return t.cullFace(t.BACK)}),t}function Vn(e){return fn(e,\"\\n    precision highp float;\\n    attribute vec3 clipSpacePos;\\n    attribute vec2 uv;\\n    varying vec2 resultUV;\\n\\n    void main() {\\n      gl_Position = vec4(clipSpacePos, 1);\\n      resultUV = uv;\\n    }\")}function Hn(e){return _n(e,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}function Un(e){return Cn(e,new Uint16Array([0,1,2,2,1,3]))}function Yn(e,t){var n,r,i,o,s,a,u,l=e;return 2===me.get(\"WEBGL_VERSION\")?(n=l.R32F,r=l.R16F,i=l.RGBA32F,o=l.RED,s=4,a=1,u=l.HALF_FLOAT):(n=e.RGBA,r=e.RGBA,i=l.RGBA,o=e.RGBA,s=4,a=4,u=null!=t?t.HALF_FLOAT_OES:null),{internalFormatFloat:n,internalFormatHalfFloat:r,internalFormatPackedFloat:i,textureFormatFloat:o,downloadTextureFormat:e.RGBA,downloadUnpackNumChannels:s,defaultNumChannels:a,textureTypeHalfFloat:u}}function Zn(e,t,n,r,i,o){An(e,t,n);var s=En(e),a=e.TEXTURE_2D;return un(e,function(){return e.bindTexture(a,s)}),un(e,function(){return e.texParameteri(a,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE)}),un(e,function(){return e.texParameteri(a,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}),un(e,function(){return e.texParameteri(a,e.TEXTURE_MIN_FILTER,e.NEAREST)}),un(e,function(){return e.texParameteri(a,e.TEXTURE_MAG_FILTER,e.NEAREST)}),un(e,function(){return e.texImage2D(a,0,r,t,n,0,i,o,null)}),un(e,function(){return e.bindTexture(e.TEXTURE_2D,null)}),s}function Gn(e,t,n,r){var i=$t(t,n);return Zn(e,i[0],i[1],r.internalFormatFloat,r.textureFormatFloat,e.FLOAT)}function Kn(e,t,n,r){var i=$t(t,n);return Zn(e,i[0],i[1],r.internalFormatFloat,r.textureFormatFloat,r.textureTypeHalfFloat)}function qn(e,t,n,r){var i=$t(t,n);return Zn(e,i[0],i[1],e.RGBA,e.RGBA,e.UNSIGNED_BYTE)}function Qn(e,t,n,r){var i=nn(t,n);return Zn(e,i[0],i[1],r.internalFormatPackedFloat,e.RGBA,e.FLOAT)}function Xn(e,t,n){return un(e,function(){return e.bindBuffer(e.ARRAY_BUFFER,n)}),xn(e,t,\"clipSpacePos\",n,3,20,0)&&xn(e,t,\"uv\",n,2,20,12)}function Jn(e,t,n){un(e,function(){return e.bindTexture(e.TEXTURE_2D,t)}),un(e,function(){return e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}),un(e,function(){return e.bindTexture(e.TEXTURE_2D,null)})}function $n(e,t,n,r,i,o){An(e,n,r),un(e,function(){return e.bindTexture(e.TEXTURE_2D,t)}),un(e,function(){return e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,o,e.FLOAT,i)}),un(e,function(){return e.bindTexture(e.TEXTURE_2D,null)})}function er(e,t,n,r,i,o,s){var a,u=$t(n,r),l=u[0],c=u[1];1===s.defaultNumChannels?a=i:function(e,t,n){var r=en(e.length,n);if(t.length<r)throw new Error(\"unpackedArray length (\"+t.length+\") must be >= \"+r);for(var i=0,o=0;o<e.length;++o)t[i]=e[o],i+=n}(i,a=new Float32Array(en(i.length,o)),o),$n(e,t,l,c,a,s.textureFormatFloat)}function tr(e,t,n,r,i,o){var s=nn(n,r),a=s[0],u=s[1],l=new Float32Array(rn(n,r));(function(e,t,n,r){var i=rn(t,n);if(r.length<i)throw new Error(\"packedRGBA length (\"+r.length+\") must be >= \"+i);for(var o=nn(t,n),s=o[0],a=o[1],u=n%2==1,l=t%2==1,c=Math.floor(n/2),h=Math.floor(t/2),d=u?4:0,p=n,f=0,g=0;g<h;++g){for(var m=2*g*n,v=0;v<c;++v){var y=m+2*v;r[f]=e[y],r[f+1]=e[y+1],r[f+2]=e[y+p],r[f+3]=e[y+p+1],f+=4}f+=d}if(u){y=n-1,f=4*(s-1);var b=2*n;for(d=4*s,g=0;g<h;++g)r[f]=e[y],r[f+2]=e[y+n],y+=b,f+=d}if(l)for(y=(t-1)*n,f=(a-1)*s*4,v=0;v<c;++v)r[f++]=e[y++],r[f++]=e[y++],f+=2;u&&l&&(r[r.length-4]=e[e.length-1])})(i,n,r,l),$n(e,t,a,u,l,e.RGBA)}function nr(e,t,n,r,i){var o=t;if(2===me.get(\"WEBGL_VERSION\")){var s=e,a=s.createBuffer();un(e,function(){return e.bindBuffer(s.PIXEL_PACK_BUFFER,a)});var u=4*en(n*r,i.downloadUnpackNumChannels);un(e,function(){return e.bufferData(s.PIXEL_PACK_BUFFER,u,e.STATIC_DRAW)}),un(e,function(){return s.readPixels(0,0,r,n,e.RGBA,e.FLOAT,0)}),un(e,function(){return e.bindBuffer(s.PIXEL_PACK_BUFFER,null)}),o=a}return o}function rr(e,t,n,r,i){var o=e,s=new Float32Array(en(n*r,i.downloadUnpackNumChannels));o.bindBuffer(e.ARRAY_BUFFER,t),o.getBufferSubData(e.ARRAY_BUFFER,0,s),o.bindBuffer(e.ARRAY_BUFFER,null);var a=new Float32Array(n*r);return tn(s,a,i.downloadUnpackNumChannels),a}function ir(e,t,n,r){var i=$t(t,n),o=i[0],s=i[1],a=new Float32Array(en(t*n,r.downloadUnpackNumChannels));un(e,function(){return e.readPixels(0,0,o,s,r.downloadTextureFormat,e.FLOAT,a)});var u=new Float32Array(t*n);return tn(a,u,r.downloadUnpackNumChannels),u}function or(e,t,n,r){var i=$t(t,n),o=i[0],s=i[1],a=new Uint8Array(en(t*n,4));return un(e,function(){return e.readPixels(0,0,o,s,r.downloadTextureFormat,e.UNSIGNED_BYTE,a)}),new Float32Array(a.buffer)}function sr(e,t,n,r){var i=nn(t,n),o=i[0],s=i[1],a=new Float32Array(rn(t,n));un(e,function(){return e.readPixels(0,0,o,s,e.RGBA,e.FLOAT,a)});var u=new Float32Array(t*n);return function(e,t,n,r){var i=t*n;if(i<r.length)throw new Error(\"matrix length (\"+r.length+\") must be >= \"+i);for(var o=n%2==1,s=t%2==1,a=Math.floor(n/2),u=Math.floor(t/2),l=nn(t,n),c=l[0],h=l[1],d=o?4:0,p=n+(o?1:0),f=0,g=0,m=n,v=0;v<u;++v){for(var y=0;y<a;++y)r[g++]=e[f++],r[g++]=e[f++],r[m++]=e[f++],r[m++]=e[f++];f+=d,g+=p,m+=p}if(o){f=4*(c-1);var b=n-1;for(d=4*c,p=2*n,v=0;v<u;++v)r[b]=e[f],r[b+n]=e[f+2],f+=d,b+=p}if(s)for(f=(h-1)*c*4,b=(t-1)*n,y=0;y<a;++y)r[b++]=e[f++],r[b++]=e[f++],f+=2;return o&&s&&(r[r.length-1]=e[e.length-4]),r}(a,t,n,u)}var ar=Object.freeze({getWebGLContextAttributes:zn,createWebGLContext:Wn,createVertexShader:Vn,createVertexBuffer:Hn,createIndexBuffer:Un,getTextureConfig:Yn,createFloat32MatrixTexture:Gn,createFloat16MatrixTexture:Kn,createUnsignedBytesMatrixTexture:qn,createPackedMatrixTexture:Qn,bindVertexProgramAttributeStreams:Xn,uploadPixelDataToTexture:Jn,uploadMatrixToTexture:er,uploadMatrixToPackedTexture:tr,maybeCreateBufferFromOutputTexture:nr,downloadFloat32MatrixFromBuffer:rr,downloadFloat32MatrixFromOutputTexture:ir,downloadByteEncodedFloatMatrixFromOutputTexture:or,downloadMatrixFromPackedOutputTexture:sr}),ur=function(){function e(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.autoDebugValidate=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[],this.gl=null!=e?e:Wn(),1===me.get(\"WEBGL_VERSION\")?(this.textureFloatExtension=pn(this.gl,\"OES_texture_float\"),this.colorBufferFloatExtension=this.gl.getExtension(\"WEBGL_color_buffer_float\"),me.get(\"WEBGL_RENDER_FLOAT32_ENABLED\")||(this.textureHalfFloatExtension=pn(this.gl,\"OES_texture_half_float\"),this.colorBufferHalfFloatExtension=this.gl.getExtension(\"EXT_color_buffer_half_float\"))):this.colorBufferFloatExtension=pn(this.gl,\"EXT_color_buffer_float\"),this.loseContextExtension=pn(this.gl,\"WEBGL_lose_context\"),this.vertexBuffer=Hn(this.gl),this.indexBuffer=Un(this.gl),this.framebuffer=Sn(this.gl),this.textureConfig=Yn(this.gl,this.textureHalfFloatExtension)}return e.prototype.dispose=function(){var e=this;if(!this.disposed){null!=this.program&&console.warn(\"Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing.\"),null!=this.outputTexture&&console.warn(\"Disposing a GPGPUContext that still has a bound output matrix texture.  This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.\");var t=this.gl;un(t,function(){return t.finish()}),un(t,function(){return t.bindFramebuffer(t.FRAMEBUFFER,null)}),un(t,function(){return t.deleteFramebuffer(e.framebuffer)}),un(t,function(){return t.bindBuffer(t.ARRAY_BUFFER,null)}),un(t,function(){return t.deleteBuffer(e.vertexBuffer)}),un(t,function(){return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}),un(t,function(){return t.deleteBuffer(e.indexBuffer)}),this.loseContextExtension.loseContext(),this.disposed=!0}},e.prototype.enableAutomaticDebugValidation=function(e){this.autoDebugValidate=e,cn(e)},e.prototype.createFloat32MatrixTexture=function(e,t){return this.throwIfDisposed(),Gn(this.gl,e,t,this.textureConfig)},e.prototype.createFloat16MatrixTexture=function(e,t){return this.throwIfDisposed(),Kn(this.gl,e,t,this.textureConfig)},e.prototype.createUnsignedBytesMatrixTexture=function(e,t){return this.throwIfDisposed(),qn(this.gl,e,t,this.textureConfig)},e.prototype.uploadPixelDataToTexture=function(e,t){this.throwIfDisposed(),Jn(this.gl,e,t)},e.prototype.createPackedMatrixTexture=function(e,t){return this.throwIfDisposed(),Qn(this.gl,e,t,this.textureConfig)},e.prototype.deleteMatrixTexture=function(e){var t=this;this.throwIfDisposed(),this.outputTexture===e&&(Tn(this.gl,this.framebuffer),this.outputTexture=null),un(this.gl,function(){return t.gl.deleteTexture(e)})},e.prototype.uploadMatrixToTexture=function(e,t,n,r){this.throwIfDisposed();var i=Dn();return er(this.gl,e,t,n,r,i,this.textureConfig)},e.prototype.uploadMatrixToPackedTexture=function(e,t,n,r){return this.throwIfDisposed(),tr(this.gl,e,t,n,r,this.textureConfig)},e.prototype.downloadFloat32MatrixFromOutputTexture=function(e,t,n){var r=this;return this.downloadMatrixDriver(e,function(){return ir(r.gl,t,n,r.textureConfig)})},e.prototype.downloadByteEncodedFloatMatrixFromOutputTexture=function(e,t,n){var r=this;return this.downloadMatrixDriver(e,function(){return or(r.gl,t,n,r.textureConfig)})},e.prototype.downloadFloat32MatrixFromBuffer=function(e,t,n){return rr(this.gl,e,t,n,this.textureConfig)},e.prototype.maybeCreateBufferFromTexture=function(e,t,n){this.bindTextureToFrameBuffer(e);var r=nr(this.gl,e,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),r},e.prototype.createAndWaitForFence=function(){var e=this.createFence(this.gl);return this.pollFence(e)},e.prototype.createFence=function(e){var t,n,r=this;if(me.get(\"WEBGL_FENCE_API_ENABLED\")){var i=e,o=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=function(){var e=i.clientWaitSync(o,0,0);return e===i.ALREADY_SIGNALED||e===i.CONDITION_SATISFIED},t=o}else me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(t=this.beginQuery(),this.endQuery(),n=function(){return r.isQueryAvailable(t,me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}):n=function(){return!0};return{query:t,isFencePassed:n}},e.prototype.downloadMatrixFromPackedTexture=function(e,t,n){var r=this;return this.downloadMatrixDriver(e,function(){return sr(r.gl,t,n,r.textureConfig)})},e.prototype.createProgram=function(e){this.throwIfDisposed();var t=this.gl,n=gn(t,e),r=Vn(t),i=vn(t);return un(t,function(){return t.attachShader(i,r)}),un(t,function(){return t.attachShader(i,n)}),yn(t,i),this.autoDebugValidate&&bn(t,i),this.vertexAttrsAreBound||(this.setProgram(i),this.vertexAttrsAreBound=Xn(t,this.program,this.vertexBuffer)),i},e.prototype.deleteProgram=function(e){var t=this;this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&un(this.gl,function(){return t.gl.deleteProgram(e)})},e.prototype.setProgram=function(e){var t=this;this.throwIfDisposed(),this.program=e,null!=this.program&&this.autoDebugValidate&&bn(this.gl,this.program),un(this.gl,function(){return t.gl.useProgram(e)})},e.prototype.getUniformLocation=function(e,t,n){return void 0===n&&(n=!0),this.throwIfDisposed(),n?Nn(this.gl,e,t):In(this.gl,e,t)},e.prototype.getAttributeLocation=function(e,t){var n=this;return this.throwIfDisposed(),un(this.gl,function(){return n.gl.getAttribLocation(e,t)})},e.prototype.getUniformLocationNoThrow=function(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)},e.prototype.setInputMatrixTexture=function(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),Ln(this.gl,this.program,e,t,n)},e.prototype.setOutputMatrixTexture=function(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)},e.prototype.setOutputPackedMatrixTexture=function(e,t,n){this.throwIfDisposed();var r=nn(t,n),i=r[0],o=r[1];this.setOutputMatrixTextureDriver(e,i,o)},e.prototype.setOutputMatrixWriteRegion=function(e,t,n,r){this.setOutputMatrixWriteRegionDriver(n,e,r,t)},e.prototype.setOutputPackedMatrixWriteRegion=function(e,t,n,r){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")},e.prototype.debugValidate=function(){null!=this.program&&bn(this.gl,this.program),Fn(this.gl)},e.prototype.executeProgram=function(){this.throwIfDisposed(),this.throwIfNoProgram();var e=this.gl;this.autoDebugValidate&&this.debugValidate(),un(e,function(){return e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0)})},e.prototype.blockUntilAllProgramsCompleted=function(){var e=this;this.throwIfDisposed(),un(this.gl,function(){return e.gl.finish()})},e.prototype.getQueryTimerExtension=function(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=pn(this.gl,2===me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")?\"EXT_disjoint_timer_query_webgl2\":\"EXT_disjoint_timer_query\")),this.disjointQueryTimerExtension},e.prototype.getQueryTimerExtensionWebGL2=function(){return this.getQueryTimerExtension()},e.prototype.getQueryTimerExtensionWebGL1=function(){return this.getQueryTimerExtension()},e.prototype.beginQuery=function(){if(2===me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")){var e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}var r=this.getQueryTimerExtensionWebGL1(),i=r.createQueryEXT();return r.beginQueryEXT(r.TIME_ELAPSED_EXT,i),i},e.prototype.endQuery=function(){if(2!==me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")){var e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}else{var t=this.gl,n=this.getQueryTimerExtensionWebGL2();t.endQuery(n.TIME_ELAPSED_EXT)}},e.prototype.waitForQueryAndGetTime=function(e){return l(this,void 0,void 0,function(){var t=this;return c(this,function(n){switch(n.label){case 0:return[4,A(function(){return t.isQueryAvailable(e,me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))})];case 1:return n.sent(),[2,this.getQueryTime(e,me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))]}})})},e.prototype.getQueryTime=function(e,t){if(0===t)return null;if(2===t){var n=this.gl;return n.getQueryParameter(e,n.QUERY_RESULT)/1e6}var r=this.getQueryTimerExtensionWebGL1();return r.getQueryObjectEXT(e,r.QUERY_RESULT_EXT)/1e6},e.prototype.isQueryAvailable=function(e,t){if(0===t)return!0;if(2===t){var n=this.gl,r=this.getQueryTimerExtensionWebGL2(),i=n.getQueryParameter(e,n.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(r.GPU_DISJOINT_EXT)),i&&!this.disjoint}return i=(r=this.getQueryTimerExtensionWebGL1()).getQueryObjectEXT(e,r.QUERY_RESULT_AVAILABLE_EXT),null==this.disjoint&&(this.disjoint=this.gl.getParameter(r.GPU_DISJOINT_EXT)),i&&!this.disjoint},e.prototype.pollFence=function(e){var t=this;return new Promise(function(n){t.addItemToPoll(function(){return e.isFencePassed()},function(){return n()})})},e.prototype.pollItems=function(){for(var e=function(e){for(var t=0,n=e.length-1,r=-1;t<=n;){var i=t+n>>1;e[i]()?(r=i,t=i+1):n=i-1}return r}(this.itemsToPoll.map(function(e){return e.isDoneFn})),t=0;t<=e;++t)(0,this.itemsToPoll[t].resolveFn)();this.itemsToPoll=this.itemsToPoll.slice(e+1)},e.prototype.addItemToPoll=function(e,t){var n=this;this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1||A(function(){return n.pollItems(),0===n.itemsToPoll.length})},e.prototype.bindTextureToFrameBuffer=function(e){this.throwIfDisposed(),kn(this.gl,e,this.framebuffer),this.autoDebugValidate&&Fn(this.gl)},e.prototype.unbindTextureToFrameBuffer=function(){null!=this.outputTexture?(kn(this.gl,this.outputTexture,this.framebuffer),this.autoDebugValidate&&Fn(this.gl)):Tn(this.gl,this.framebuffer)},e.prototype.downloadMatrixDriver=function(e,t){this.bindTextureToFrameBuffer(e);var n=t();return this.unbindTextureToFrameBuffer(),n},e.prototype.setOutputMatrixTextureDriver=function(e,t,n){this.throwIfDisposed();var r=this.gl;kn(r,e,this.framebuffer),this.autoDebugValidate&&Fn(r),this.outputTexture=e,un(r,function(){return r.viewport(0,0,t,n)}),un(r,function(){return r.scissor(0,0,t,n)})},e.prototype.setOutputMatrixWriteRegionDriver=function(e,t,n,r){var i=this;this.throwIfDisposed(),un(this.gl,function(){return i.gl.scissor(e,t,n,r)})},e.prototype.throwIfDisposed=function(){if(this.disposed)throw new Error(\"Attempted to use disposed GPGPUContext.\")},e.prototype.throwIfNoProgram=function(){if(null==this.program)throw new Error(\"No GPU program is currently set.\")},e}();function lr(e,t){if(e.length!==t.length)throw Error(\"Binary was compiled with \"+e.length+\" inputs, but was executed with \"+t.length+\" inputs\");e.forEach(function(e,n){var r=e.logicalShape,i=t[n],o=i.tensor.shape;if(!_(r,o))throw Error(\"Binary was compiled with different shapes than the current args. Shapes \"+r+\" and \"+o+\" must match\");if(!e.isUniform||!i.isUniform){var s=e.texShape,a=i.isUniform?null:i.texData.texShape;if(!_(s,a))throw Error(\"Binary was compiled with different texture shapes than the current args. Shape \"+s+\" and \"+a+\" must match\")}})}var cr=function(e,t,n,r,i){this.variableNames=[\"x\"],this.outputShape=[];var o,s=t,a=e[3]-1;this.outputShape=e;var u=\"float(\"+n+\") + float(\"+r+\") * sum\";o=.5===i?\"inversesqrt(\"+u+\")\":1===i?\"1.0/(\"+u+\")\":\"exp(log(\"+u+\") * float(-\"+i+\"));\",this.userCode=\"\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int r = coords[1];\\n        int c = coords[2];\\n        int d = coords[3];\\n        float x = getX(b, r, c, d);\\n        float sum = 0.0;\\n        for (int j = -\"+s+\"; j <= \"+s+\"; j++) {\\n          int idx = d + j;\\n          if (idx >= 0 && idx <=  \"+a+\") {\\n            float z = getX(b, r, c, idx);\\n            sum += z * z;\\n          }\\n        }\\n        float val = x * \"+o+\";\\n        setOutput(val);\\n      }\\n    \"},hr=function(e,t,n,r,i){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=r,this.beta=i,this.userCode=\"\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int r = coords[1];\\n        int c = coords[2];\\n\\n        float result = 0.0;\\n        for (int d = 0; d < \"+this.depth+\"; ++d) {\\n          int depthBegin = int(max(0.0, float(d - \"+t+\")));\\n          int depthEnd = int(min(float(\"+this.depth+\"),\\n              float(d + \"+t+\" + 1)));\\n\\n          const int MIN_DEPTH_BEGIN = 0;\\n          const int MAX_DEPTH_END = \"+this.depth+\";\\n\\n          float norm = 0.0;\\n          for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\\n            if (k < depthBegin){\\n              continue;\\n            }\\n            else if (k >= depthBegin && k < depthEnd) {\\n              norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\\n            }\\n            else {\\n              break;\\n            }\\n          }\\n\\n          norm = float(\"+r+\") * norm + float(\"+n+\");\\n\\n          for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\\n            if (k < depthBegin){\\n              continue;\\n            }\\n            else if (k >= depthBegin && k < depthEnd){\\n              float dyi = -2.0 * float(\"+r+\")\\n                * float(\"+i+\")\\n                * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\\n                / norm;\\n              if (k == d) {\\n                dyi += pow(norm, -1.0 * \"+i+\");\\n              }\\n              if (k == coords[3]) {\\n                dyi *= getDy(b, r, c, d);\\n                result += dyi;\\n              }\\n            }\\n            else {\\n              break;\\n            }\\n          }\\n      }\\n      setOutput(result);\\n      }\\n    \"},dr=function(e){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=e.inShape;var t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,i=e.strideWidth,o=t-1-e.padInfo.top,s=n-1-e.padInfo.left,a=t*n-1;this.userCode=\"\\n      const ivec2 pads = ivec2(\"+o+\", \"+s+\");\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int d = coords[3];\\n\\n        ivec2 dyRCCorner = coords.yz - pads;\\n        int dyRCorner = dyRCCorner.x;\\n        int dyCCorner = dyRCCorner.y;\\n\\n        // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\\n        // ? = to be determined. : = across all values in that axis.\\n        float dotProd = 0.0;\\n        for (int wR = 0; wR < \"+t+\"; wR++) {\\n          float dyR = float(dyRCorner + wR) / \"+r+\".0;\\n\\n          if (dyR < 0.0 || dyR >= \"+e.outHeight+\".0 || fract(dyR) > 0.0) {\\n            continue;\\n          }\\n          int idyR = int(dyR);\\n\\n          for (int wC = 0; wC < \"+n+\"; wC++) {\\n            float dyC = float(dyCCorner + wC) / \"+i+\".0;\\n\\n            if (dyC < 0.0 || dyC >= \"+e.outWidth+\".0 ||\\n                fract(dyC) > 0.0) {\\n              continue;\\n            }\\n            int idyC = int(dyC);\\n\\n            float dyValue = getDy(b, idyR, idyC, d);\\n            int maxPosValue = \"+a+\" - int(getMaxPos(b, idyR, idyC, d));\\n\\n            // Get the current value, check it against the value from the\\n            // position matrix.\\n            int curPosValue = wR * \"+n+\" + wC;\\n            float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\\n\\n            dotProd += dyValue * mask;\\n          }\\n        }\\n        setOutput(dotProd);\\n      }\\n    \"},pr=function(e,t,n,r){void 0===n&&(n=!1),void 0===r&&(r=!1),this.variableNames=[\"matrixA\",\"matrixB\"];var i=n?e[1]:e[0],o=r?t[0]:t[1],s=n?e[0]:e[1];this.outputShape=[i,o];var a=function(e,t){return n?t+\" + \"+e+\", aRow\":\"aRow, \"+t+\" + \"+e},u=function(e,t){return r?\"bCol, \"+t+\" + \"+e:t+\" + \"+e+\", bCol\"},l=4*Math.floor(s/4),c=s%4;this.userCode=\" float dotARowBCol(int aRow, int bCol) {\\n      float result = 0.0;\\n      for (int i = 0; i < \"+l+\"; i += 4) {\\n        vec4 a = vec4(\\n          getMatrixA(\"+a(0,\"i\")+\"),\\n          getMatrixA(\"+a(1,\"i\")+\"),\\n          getMatrixA(\"+a(2,\"i\")+\"),\\n          getMatrixA(\"+a(3,\"i\")+\")\\n        );\\n        vec4 b = vec4(\\n          getMatrixB(\"+u(0,\"i\")+\"),\\n          getMatrixB(\"+u(1,\"i\")+\"),\\n          getMatrixB(\"+u(2,\"i\")+\"),\\n          getMatrixB(\"+u(3,\"i\")+\")\\n        );\\n\\n        result += dot(a, b);\\n      }\\n\\n      if (\"+(1===c)+\") {\\n        result += getMatrixA(\"+a(0,l)+\") *\\n          getMatrixB(\"+u(0,l)+\");\\n      } else if (\"+(2===c)+\") {\\n        vec2 a = vec2(\\n          getMatrixA(\"+a(0,l)+\"),\\n          getMatrixA(\"+a(1,l)+\")\\n        );\\n        vec2 b = vec2(\\n          getMatrixB(\"+u(0,l)+\"),\\n          getMatrixB(\"+u(1,l)+\")\\n        );\\n        result += dot(a, b);\\n      } else if (\"+(3===c)+\") {\\n        vec3 a = vec3(\\n          getMatrixA(\"+a(0,l)+\"),\\n          getMatrixA(\"+a(1,l)+\"),\\n          getMatrixA(\"+a(2,l)+\")\\n        );\\n        vec3 b = vec3(\\n          getMatrixB(\"+u(0,l)+\"),\\n          getMatrixB(\"+u(1,l)+\"),\\n          getMatrixB(\"+u(2,l)+\")\\n        );\\n        result += dot(a, b);\\n      }\\n\\n      return result;\\n    }\\n\\n    void main() {\\n      ivec2 resRC = getOutputCoords();\\n      setOutput(dotARowBCol(resRC.x, resRC.y));\\n    }\\n    \"},fr=function(){function e(e,t,n){this.variableNames=[\"probs\"],this.outputShape=[e,n],this.userCode=\"\\n      uniform float seed;\\n\\n      void main() {\\n        ivec2 coords = getOutputCoords();\\n        int batch = coords[0];\\n\\n        float r = random(seed);\\n        float cdf = 0.0;\\n\\n        for (int i = 0; i < \"+(t-1)+\"; i++) {\\n          cdf += getProbs(batch, i);\\n\\n          if (r < cdf) {\\n            setOutput(float(i));\\n            return;\\n          }\\n        }\\n\\n        // If no other event happened, last event happened.\\n        setOutput(float(\"+(t-1)+\"));\\n      }\\n    \"}return e.prototype.getCustomSetupFunc=function(e){var t=this;return function(n,r){null==t.seedLoc&&(t.seedLoc=n.getUniformLocation(r,\"seed\")),n.gl.uniform1f(t.seedLoc,e)}},e}(),gr=function(e,t,n,r){this.variableNames=[\"indices\"],this.outputShape=[e,t],this.userCode=\"\\n      void main() {\\n        ivec2 coords = getOutputCoords();\\n        int index = round(getIndices(coords.x));\\n        setOutput(mix(float(\"+r+\"), float(\"+n+\"),\\n                      float(index == coords.y)));\\n      }\\n    \"},mr=function(e,t,n){this.variableNames=[\"x\"],this.outputShape=t.map(function(t,n){return t[0]+e[n]+t[1]});var r=e.length,i=Ht(r),o=t.map(function(e){return e[0]}).join(\",\"),s=t.map(function(t,n){return t[0]+e[n]}).join(\",\"),a=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,r);this.userCode=1!==r?\"\\n      \"+i+\" start = \"+i+\"(\"+o+\");\\n      \"+i+\" end = \"+i+\"(\"+s+\");\\n\\n      void main() {\\n        \"+i+\" outC = getOutputCoords();\\n        if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\\n          setOutput(float(\"+n+\"));\\n        } else {\\n          \"+i+\" coords = outC - start;\\n          setOutput(getX(\"+a+\"));\\n        }\\n      }\\n    \":\"\\n        int start = \"+o+\";\\n        int end = \"+s+\";\\n\\n        void main() {\\n          int outC = getOutputCoords();\\n          if (outC < start || outC >= end) {\\n            setOutput(float(\"+n+\"));\\n          } else {\\n            setOutput(getX(outC - start));\\n          }\\n        }\\n      \"},vr=function(e,t,n){if(this.variableNames=[\"x\"],\"avg\"===t&&n)throw new Error(\"Cannot compute positions for average pool.\");var r=e.filterHeight,i=e.filterWidth,o=e.strideHeight,s=e.strideWidth,a=e.padInfo.top,u=e.padInfo.left;this.outputShape=e.outShape;var l=\"avg\"===t,c=\"0.0\";if(l||(c=\"-1.0 / 0.0\"),n)this.userCode=\"\\n        const ivec2 strides = ivec2(\"+o+\", \"+s+\");\\n        const ivec2 pads = ivec2(\"+a+\", \"+u+\");\\n\\n        void main() {\\n          ivec4 coords = getOutputCoords();\\n          int batch = coords[0];\\n          int d = coords[3];\\n\\n          ivec2 xRCCorner = coords.yz * strides - pads;\\n          int xRCorner = xRCCorner.x;\\n          int xCCorner = xRCCorner.y;\\n\\n          // max/min x(?, ?, d) to get y(yR, yC, d).\\n          // ? = to be determined\\n          float minMaxValue = 0.0;\\n          float minMaxValueFound = 0.0;\\n          int minMaxPosition = 0;\\n          float avgValue = 0.0;\\n\\n          for (int wR = 0; wR < \"+r+\"; wR++) {\\n            int xR = xRCorner + wR;\\n\\n            if (xR < 0 || xR >= \"+e.inHeight+\") {\\n              continue;\\n            }\\n\\n            for (int wC = 0; wC < \"+i+\"; wC++) {\\n              int xC = xCCorner + wC;\\n\\n              if (xC < 0 || xC >= \"+e.inWidth+\") {\\n                continue;\\n              }\\n\\n              float value = getX(batch, xR, xC, d);\\n\\n              // If a min / max value has already been found, use it. If not,\\n              // use the current value.\\n              float currMinMaxValue = mix(\\n                  value, minMaxValue, minMaxValueFound);\\n              if (value >= currMinMaxValue) {\\n                minMaxValue = value;\\n                minMaxValueFound = 1.0;\\n                minMaxPosition = wR * \"+i+\" + wC;\\n              }\\n            }\\n          }\\n          setOutput(float(minMaxPosition));\\n        }\\n      \";else{var h=t+\"(\"+t+\"(\"+t+\"(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])\";\"avg\"===t&&(h=\"avgValue / count\");var d=4*Math.floor(i/4),p=i%4,f=\"\\n      if (\"+l+\") {\\n        avgValue += dot(values, ones);\\n      } else {\\n        minMaxValue = max(values, minMaxValue);\\n      }\\n    \";this.userCode=\"\\n      const ivec2 strides = ivec2(\"+o+\", \"+s+\");\\n      const ivec2 pads = ivec2(\"+a+\", \"+u+\");\\n      const float initializationValue = \"+c+\";\\n      const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\\n\\n      float count = 0.0;\\n\\n      float getValue(int batch, int xR, int xC, int d) {\\n        if (xC < 0 || xC >= \"+e.inWidth+\") {\\n          return initializationValue;\\n        }\\n        count += 1.0;\\n        return getX(batch, xR, xC, d);\\n      }\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int d = coords[3];\\n\\n        ivec2 xRCCorner = coords.yz * strides - pads;\\n        int xRCorner = xRCCorner.x;\\n        int xCCorner = xRCCorner.y;\\n\\n        // max/min x(?, ?, d) to get y(yR, yC, d).\\n        // ? = to be determined\\n        vec4 minMaxValue = vec4(\"+c+\");\\n        float avgValue = 0.0;\\n        count = 0.0;\\n\\n        for (int wR = 0; wR < \"+r+\"; wR++) {\\n          int xR = xRCorner + wR;\\n\\n          if (xR < 0 || xR >= \"+e.inHeight+\") {\\n            continue;\\n          }\\n\\n          for (int wC = 0; wC < \"+d+\"; wC += 4) {\\n            int xC = xCCorner + wC;\\n\\n            vec4 values = vec4(\\n              getValue(batch, xR, xC, d),\\n              getValue(batch, xR, xC + 1, d),\\n              getValue(batch, xR, xC + 2, d),\\n              getValue(batch, xR, xC + 3, d)\\n            );\\n\\n            \"+f+\"\\n          }\\n\\n          int xC = xCCorner + \"+d+\";\\n          if (\"+(1===p)+\") {\\n            vec4 values = vec4(\\n              getValue(batch, xR, xC, d),\\n              initializationValue,\\n              initializationValue,\\n              initializationValue\\n            );\\n\\n            \"+f+\"\\n          } else if (\"+(2===p)+\") {\\n            vec4 values = vec4(\\n              getValue(batch, xR, xC, d),\\n              getValue(batch, xR, xC + 1, d),\\n              initializationValue,\\n              initializationValue\\n            );\\n\\n            \"+f+\"\\n          } else if (\"+(3===p)+\") {\\n            vec4 values = vec4(\\n              getValue(batch, xR, xC, d),\\n              getValue(batch, xR, xC + 1, d),\\n              getValue(batch, xR, xC + 2, d),\\n              initializationValue\\n            );\\n\\n            \"+f+\"\\n          }\\n        }\\n        setOutput(\"+h+\");\\n      }\\n    \"}},yr=function(e,t){this.variableNames=[\"x\"];var n=e.windowSize,r=e.batchSize,i=e.inSize,o=Math.ceil(i/n);this.outputShape=[r,o];var s=\"0.0\",a=\"\";\"min\"===t?(s=\"1.0 / 0.0\",a=\"min\"):\"max\"===t&&(s=\"-1.0 / 0.0\",a=\"max\");var u=t+\"(\"+t+\"(\"+t+\"(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])\";\"sum\"===t?u=\"sumValue\":\"all\"===t?u=\"allValue\":\"any\"===t&&(u=\"anyValue\");var l=4*Math.floor(n/4),c=n%4,h=\"\\n      if (\"+(\"sum\"===t)+\") {\\n        sumValue += dot(values, ones);\\n      } else {\\n        minMaxValue = \"+a+\"(values, minMaxValue);\\n      }\\n    \",d=\"vec4\";\"all\"===t?(s=\"1.0\",h=\"\\n        bool reducedAllValue = all(values);\\n        float floatedReducedAllValue = float(reducedAllValue);\\n        allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\\n      \",d=\"bvec4\"):\"any\"===t&&(s=\"0.0\",h=\"\\n        bool reducedAnyValue = any(values);\\n        float floatedReducedAnyValue = float(reducedAnyValue);\\n        anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\\n      \",d=\"bvec4\");var p=\"\";i%n>0&&(p=\"\\n        if (inIdx < 0 || inIdx >= \"+i+\") {\\n          return initializationValue;\\n        }\\n      \"),this.userCode=\"\\n      const float initializationValue = \"+s+\";\\n      const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\\n\\n      float getValue(int batch, int inIdx) {\\n        \"+p+\"\\n        return getX(batch, inIdx);\\n      }\\n\\n      void main() {\\n        ivec2 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int outIdx = coords[1];\\n        int inOffset = outIdx * \"+n+\";\\n\\n        vec4 minMaxValue = vec4(\"+s+\");\\n        float sumValue = 0.0;\\n        float allValue = 1.0;\\n        float anyValue = 0.0;\\n\\n        for (int i = 0; i < \"+l+\"; i += 4) {\\n          int inIdx = inOffset + i;\\n          \"+d+\" values = \"+d+\"(\\n            getValue(batch, inIdx),\\n            getValue(batch, inIdx + 1),\\n            getValue(batch, inIdx + 2),\\n            getValue(batch, inIdx + 3)\\n          );\\n\\n          \"+h+\"\\n        }\\n\\n        int inIdx = inOffset + \"+l+\";\\n        if (\"+(1===c)+\") {\\n          \"+d+\" values = \"+d+\"(\\n            getValue(batch, inIdx),\\n            initializationValue,\\n            initializationValue,\\n            initializationValue\\n          );\\n\\n          \"+h+\"\\n        } else if (\"+(2===c)+\") {\\n          \"+d+\" values = \"+d+\"(\\n            getValue(batch, inIdx),\\n            getValue(batch, inIdx + 1),\\n            initializationValue,\\n            initializationValue\\n          );\\n\\n          \"+h+\"\\n        } else if (\"+(3===c)+\") {\\n          \"+d+\" values = \"+d+\"(\\n            getValue(batch, inIdx),\\n            getValue(batch, inIdx + 1),\\n            getValue(batch, inIdx + 2),\\n            initializationValue\\n          );\\n\\n          \"+h+\"\\n        }\\n        setOutput(\"+u+\");\\n      }\\n    \"},br=function(e,t,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=t.shape;var r=t.shape,i=r[1],o=r[2],s=e.shape,a=s[1],u=s[2],l=[n&&a>1?i-1:i,n&&u>1?o-1:o],c=[n&&a>1?a-1:a,n&&u>1?u-1:u],h=l[0]/c[0],d=l[1]/c[1],p=1/h,f=1/d,g=2*Math.ceil(p)+2,m=2*Math.ceil(f)+2;this.userCode=\"\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int d = coords[3];\\n        int r = coords[1];\\n        int c = coords[2];\\n\\n        float accumulator = 0.0;\\n\\n        const float heightScale = float(\"+h+\");\\n        const float widthScale = float(\"+d+\");\\n\\n        const float invHeightScale = float(\"+p+\");\\n        const float invWidthScale = float(\"+f+\");\\n\\n        const int winHeight = int(\"+g+\");\\n        const int winWidth = int(\"+m+\");\\n\\n        // Compute bounds for where in dy we will look\\n        float startRLerp = floor(float(r) * invHeightScale);\\n        int startDyR = int(startRLerp - float(winHeight / 2));\\n\\n        float startCLerp = floor(float(c) * invWidthScale);\\n        int startDyC = int(startCLerp - float(winWidth / 2));\\n\\n        // Loop over dy\\n        for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\\n          int dyR = dyROffset + startDyR;\\n\\n          // Guard against the window exceeding the bounds of dy\\n          if (dyR < 0 || dyR >= \"+a+\") {\\n            continue;\\n          }\\n\\n          for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\\n            int dyC = dyCOffset + startDyC;\\n\\n            // Guard against the window exceeding the bounds of dy\\n            if (dyC < 0 || dyC >= \"+u+\") {\\n              continue;\\n            }\\n\\n            float dxR = float(dyR) * heightScale;\\n            int topDxRIndex = int(floor(dxR));\\n            int bottomDxRIndex = int(min(ceil(dxR), \"+(i-1)+\".0));\\n            float dxRLerp = dxR - float(topDxRIndex);\\n            float inverseDxRLerp = 1.0 - dxRLerp;\\n\\n            float dxC = float(dyC) * widthScale;\\n            int leftDxCIndex = int(floor(dxC));\\n            int rightDxCIndex = int(min(ceil(dxC), \"+(o-1)+\".0));\\n            float dxCLerp = dxC - float(leftDxCIndex);\\n            float inverseDxCLerp = 1.0 - dxCLerp;\\n\\n            if (r == topDxRIndex && c == leftDxCIndex) {\\n              // topLeft\\n              accumulator +=\\n                getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\\n            }\\n\\n            if (r == topDxRIndex && c == rightDxCIndex) {\\n              // topRight\\n              accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\\n            }\\n\\n            if (r == bottomDxRIndex && c == leftDxCIndex) {\\n              // bottomLeft\\n              accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\\n            }\\n\\n            if (r == bottomDxRIndex && c == rightDxCIndex) {\\n              // bottomRight\\n              accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\\n            }\\n          }\\n        }\\n        // End loop over dy\\n\\n        setOutput(accumulator);\\n      }\\n    \"},_r=function(e,t,n,r){this.variableNames=[\"A\"],this.outputShape=[];var i=e[0],o=e[1],s=e[2],a=e[3];this.outputShape=[i,t,n,a];var u=[r&&t>1?o-1:o,r&&n>1?s-1:s],l=[r&&t>1?t-1:t,r&&n>1?n-1:n];this.userCode=\"\\n      const vec2 effectiveInputOverOutputRatioRC = vec2(\\n          \"+u[0]/l[0]+\",\\n          \"+u[1]/l[1]+\");\\n      const vec2 inputShapeRC = vec2(\"+o+\".0, \"+s+\".0);\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int d = coords[3];\\n        ivec2 yRC = coords.yz;\\n\\n        // Fractional source index.\\n        vec2 sourceFracIndexRC = vec2(yRC) * effectiveInputOverOutputRatioRC;\\n\\n        // Compute the four integer indices.\\n        ivec2 sourceFloorRC = ivec2(sourceFracIndexRC);\\n        ivec2 sourceCeilRC = ivec2(\\n          min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\\n\\n        float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\\n        float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\\n        float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\\n        float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\\n\\n        vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\\n\\n        float top = topLeft + (topRight - topLeft) * fracRC.y;\\n        float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\\n        float newValue = top + (bottom - top) * fracRC.x;\\n\\n        setOutput(newValue);\\n      }\\n    \"},Cr=function(e,t,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=t.shape;var r=t.shape,i=r[1],o=r[2],s=e.shape,a=s[1],u=s[2],l=[n&&a>1?i-1:i,n&&u>1?o-1:o],c=[n&&a>1?a-1:a,n&&u>1?u-1:u],h=l[0]/c[0],d=l[1]/c[1],p=1/h,f=1/d,g=2*Math.ceil(p)+2,m=2*Math.ceil(f)+2;this.userCode=\"\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int d = coords[3];\\n        int r = coords[1];\\n        int c = coords[2];\\n\\n        float accumulator = 0.0;\\n\\n        const float heightScale = float(\"+h+\");\\n        const float widthScale = float(\"+d+\");\\n\\n        const float invHeightScale = float(\"+p+\");\\n        const float invWidthScale = float(\"+f+\");\\n\\n        const int winHeight = int(\"+g+\");\\n        const int winWidth = int(\"+m+\");\\n\\n        // Compute bounds for where in dy we will look\\n        float startRLerp = floor(float(r) * invHeightScale);\\n        int startDyR = int(floor(startRLerp - float(winHeight / 2)));\\n\\n        float startCLerp = floor(float(c) * invWidthScale);\\n        int startDyC = int(floor(startCLerp - float(winWidth / 2)));\\n\\n        // Loop over dy\\n        for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\\n          int dyR = dyROffset + startDyR;\\n\\n          // Guard against the window exceeding the bounds of dy\\n          if (dyR < 0 || dyR >= \"+a+\") {\\n            continue;\\n          }\\n\\n          for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\\n            int dyC = dyCOffset + startDyC;\\n\\n            // Guard against the window exceeding the bounds of dy\\n            if (dyC < 0 || dyC >= \"+u+\") {\\n              continue;\\n            }\\n\\n            float sourceFracRow =\\n              float(\"+l[0]+\") *\\n                (float(dyR) / float(\"+c[0]+\"));\\n\\n            float sourceFracCol =\\n                float(\"+l[1]+\") *\\n                  (float(dyC) / float(\"+c[1]+\"));\\n\\n            int sourceNearestRow = int(min(\\n                float(int(\"+i+\") - 1),\\n                \"+n+\" ? float(round(sourceFracRow)) :\\n                                  float(floor(sourceFracRow))));\\n\\n            int sourceNearestCol = int(min(\\n                float(int(\"+o+\") - 1),\\n                \"+n+\" ? float(round(sourceFracCol)) :\\n                                  float(floor(sourceFracCol))));\\n\\n            if (r == sourceNearestRow && c == sourceNearestCol) {\\n              accumulator += getDy(b, dyR, dyC, d);\\n            }\\n          }\\n        }\\n        // End loop over dy\\n\\n        setOutput(accumulator);\\n      }\\n    \"},wr=function(e,t,n,r){this.variableNames=[\"A\"],this.outputShape=[];var i=e[0],o=e[1],s=e[2],a=e[3];this.outputShape=[i,t,n,a];var u=[r&&t>1?o-1:o,r&&n>1?s-1:s],l=[r&&t>1?t-1:t,r&&n>1?n-1:n],c=r?\"0.5\":\"0.0\";this.userCode=\"\\n      const vec2 effectiveInputOverOutputRatioRC = vec2(\\n          \"+u[0]/l[0]+\",\\n          \"+u[1]/l[1]+\");\\n      const vec2 inputShapeRC = vec2(\"+o+\".0, \"+s+\".0);\\n\\n      void main() {\\n        ivec4 coords = getOutputCoords();\\n        int b = coords[0];\\n        int d = coords[3];\\n        ivec2 yRC = coords.yz;\\n\\n        // Fractional source index.\\n        vec2 sourceFracIndexRC = vec2(yRC) * effectiveInputOverOutputRatioRC;\\n\\n        // Compute the coordinators of nearest neighbor point.\\n        ivec2 sourceNearestRC = ivec2(\\n          min(inputShapeRC - 1.0, floor(sourceFracIndexRC + \"+c+\")));\\n\\n        float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\\n\\n        setOutput(newValue);\\n      }\\n    \"},Dr=function(e,t){this.variableNames=[\"x\"];var n=e.length;if(n>4)throw new Error(\"WebGL backend: Reverse of rank-\"+n+\" tensor is not yet supported\");if(this.outputShape=e,1!==n){var r=e.map(function(n,r){return function(n){return-1!==t.indexOf(n)&&1!==e[n]?e[n]+\" - coords[\"+n+\"] - 1\":\"coords[\"+n+\"]\"}(r)}).join(\",\"),i=Ht(n);this.userCode=\"\\n      void main() {\\n        \"+i+\" coords = getOutputCoords();\\n        setOutput(getX(\"+r+\"));\\n      }\\n    \"}else this.userCode=\"\\n        void main() {\\n          int coord = getOutputCoords();\\n          setOutput(getX(\"+e[0]+\" - coord - 1));\\n        }\\n      \"},Er=function(e,t){this.variableNames=[\"x\",\"segmentIds\"];var n=e.windowSize,r=e.batchSize,i=e.inSize,o=e.numSegments,s=o*Math.ceil(i/n);this.outputShape=[r,s];var a=4*Math.floor(n/4),u=n%4,l=\"\\n        sumValue += dot(values, filter);\\n    \",c=\"\";i%n>0&&(c=\"\\n        if (inIdx < 0 || inIdx >= \"+i+\") {\\n          return initializationValue;\\n        }\\n      \");var h=\"\";i%n>0&&(h=\"\\n        if (inIdx < 0 || inIdx >= \"+i+\") {\\n          return -1.0;\\n        }\\n      \"),this.userCode=\"\\n      const float initializationValue = 0.0;\\n\\n      float getValue(int batch, int inIdx) {\\n        \"+c+\"\\n        return getX(batch, inIdx);\\n      }\\n\\n      float getSegmentIdAtIndex(int inIdx) {\\n        \"+h+\"\\n        return getSegmentIds(inIdx);\\n      }\\n\\n      void main() {\\n        ivec2 coords = getOutputCoords();\\n        int batch = coords[0];\\n        int outIdx = coords[1];\\n        int inOffset = int(floor(float(outIdx) / float(\\n          \"+o+\")) * float(\"+n+\"));\\n        int currentSeg = int(mod(float(outIdx), float(\"+o+\")));\\n\\n        float sumValue = 0.0;\\n\\n        for (int i = 0; i < \"+a+\"; i += 4) {\\n          int inIdx = inOffset + i;\\n          vec4 values = vec4(\\n            getValue(batch, inIdx),\\n            getValue(batch, inIdx + 1),\\n            getValue(batch, inIdx + 2),\\n            getValue(batch, inIdx + 3)\\n          );\\n\\n          vec4 filter = vec4(\\n            int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\\n            int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\\n            int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\\n            int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\\n          );\\n\\n          \"+l+\"\\n        }\\n\\n        int inIdx = inOffset + \"+a+\";\\n        if (\"+(1===u)+\") {\\n          vec4 values = vec4(\\n            getValue(batch, inIdx),\\n            initializationValue,\\n            initializationValue,\\n            initializationValue\\n          );\\n\\n          int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\\n\\n          vec4 filter = vec4(\\n            int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\\n            0,\\n            0,\\n            0\\n          );\\n\\n          \"+l+\"\\n        } else if (\"+(2===u)+\") {\\n          vec4 values = vec4(\\n            getValue(batch, inIdx),\\n            getValue(batch, inIdx + 1),\\n            initializationValue,\\n            initializationValue\\n          );\\n\\n          vec4 filter = vec4(\\n            int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\\n            int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\\n              0,\\n              0\\n          );\\n\\n          \"+l+\"\\n        } else if (\"+(3===u)+\") {\\n          vec4 values = vec4(\\n            getValue(batch, inIdx),\\n            getValue(batch, inIdx + 1),\\n            getValue(batch, inIdx + 2),\\n            initializationValue\\n          );\\n\\n          vec4 filter = vec4(\\n            int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\\n            int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\\n            int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\\n            0\\n          );\\n\\n          \"+l+\"\\n        }\\n        setOutput(sumValue);\\n      }\\n    \"},Ar=function(e,t,n){var r,i;if(this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=t,n>4)throw Error(\"Where for rank \"+n+\" is not yet supported\");if(1===n)i=\"resRC\",r=\"resRC\";else{for(var o=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],s=[],a=[],u=0;u<t.length;u++)a.push(\"\"+o[u]),u<e&&s.push(\"\"+o[u]);r=s.join(),i=a.join()}var l=Ht(n);this.userCode=\"\\n      void main() {\\n        \"+l+\" resRC = getOutputCoords();\\n        float cVal = getC(\"+r+\");\\n        if (cVal >= 1.0) {\\n          setOutput(getA(\"+i+\"));\\n        } else {\\n          setOutput(getB(\"+i+\"));\\n        }\\n      }\\n    \"},Sr=function(){function e(e){this.variableNames=[\"source\"],this.outputShape=e,this.rank=e.length;var t=Ht(this.rank),n=function(e){if(1===e)return\"sourceLoc\";if(2===e)return\"sourceLoc.x, sourceLoc.y\";if(3===e)return\"sourceLoc.x, sourceLoc.y, sourceLoc.z\";if(4===e)return\"sourceLoc.x, sourceLoc.y, sourceLoc.z, sourceLoc.w\";throw Error(\"Slicing for rank \"+e+\" is not yet supported\")}(this.rank);this.userCode=\"\\n      uniform \"+t+\" start;\\n\\n      void main() {\\n        \"+t+\" sourceLoc = start + getOutputCoords();\\n        setOutput(getSource(\"+n+\"));\\n      }\\n    \"}return e.prototype.getCustomSetupFunc=function(e){var t=this;if(e.length!==this.rank)throw Error(\"The rank (\"+this.rank+\") of the program must match the length of start (\"+e.length+\")\");return function(n,r){if(null!=t.startLoc||(t.startLoc=n.getUniformLocationNoThrow(r,\"start\"),null!=t.startLoc))if(1===t.rank)n.gl.uniform1i(t.startLoc,e[0]);else if(2===t.rank)n.gl.uniform2i(t.startLoc,e[0],e[1]);else if(3===t.rank)n.gl.uniform3i(t.startLoc,e[0],e[1],e[2]);else{if(4!==t.rank)throw Error(\"Slicing for rank \"+t.rank+\" is not yet supported\");n.gl.uniform4i(t.startLoc,e[0],e[1],e[2],e[3])}}},e}();var xr=function(e,t,n){this.variableNames=[\"x\"],this.outputShape=n,this.rank=n.length;var r,i=Ht(this.rank);r=1===this.rank?\"coords * strides + begin\":n.map(function(e,t){return\"coords[\"+t+\"] * strides[\"+t+\"] + begin[\"+t+\"]\"}).join(\",\"),this.userCode=\"\\n      \"+i+\" begin = \"+i+\"(\"+e+\");\\n      \"+i+\" strides = \"+i+\"(\"+t+\");\\n\\n      void main() {\\n        \"+i+\" coords = getOutputCoords();\\n        setOutput(getX(\"+r+\"));\\n      }\\n    \"},Mr=function(){function e(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}return e.prototype.acquireTexture=function(e,t){var n,r=Nr(t),i=Ir(e,r);if(i in this.freeTextures||(this.freeTextures[i]=[]),i in this.usedTextures||(this.usedTextures[i]=[]),this.freeTextures[i].length>0){this.numFreeTextures--,this.numUsedTextures++,this.log();var o=this.freeTextures[i].shift();return this.usedTextures[i].push(o),o}return this.numUsedTextures++,this.log(),r===qt.FLOAT32?n=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):r===qt.FLOAT16?n=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):r===qt.UNSIGNED_BYTE&&(n=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[i].push(n),n},e.prototype.releaseTexture=function(e,t,n){var r=Ir(t,Nr(n));r in this.freeTextures||(this.freeTextures[r]=[]),this.freeTextures[r].push(e),this.numFreeTextures++,this.numUsedTextures--;var i=this.usedTextures[r],o=i.indexOf(e);if(o<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");i.splice(o,1),this.log()},e.prototype.log=function(){if(this.logEnabled){var e=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",this.numFreeTextures+\" / \"+this.numUsedTextures,\"(\"+e+\")\")}},e.prototype.getNumUsedTextures=function(){return this.numUsedTextures},e.prototype.getNumFreeTextures=function(){return this.numFreeTextures},e.prototype.dispose=function(){var e=this;if(null!=this.freeTextures){for(var t in this.freeTextures)this.freeTextures[t].forEach(function(t){e.gpgpu.deleteMatrixTexture(t)});for(var t in this.usedTextures)this.usedTextures[t].forEach(function(t){e.gpgpu.deleteMatrixTexture(t)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0}},e}();function Nr(e){if(e===Kt.DOWNLOAD||e===Kt.PIXELS)return qt.UNSIGNED_BYTE;if(e===Kt.UPLOAD)return qt.FLOAT32;if(e===Kt.RENDER)return me.get(\"WEBGL_RENDER_FLOAT32_ENABLED\")?qt.FLOAT32:qt.FLOAT16;throw new Error(\"Unknown logical texture type \"+e)}function Ir(e,t){return e[0]+\"_\"+e[1]+\"_\"+t}var Lr=function(e,t){this.variableNames=[\"A\"];for(var n=new Array(e.length),r=0;r<n.length;r++)n[r]=e[r]*t[r];this.outputShape=n,this.rank=n.length;var i=Ht(this.rank),o=function(e){var t=e.length;if(t>5)throw Error(\"Tile for rank \"+t+\" is not yet supported\");if(1===t)return\"imod(resRC, \"+e[0]+\")\";for(var n=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],r=[],i=0;i<e.length;i++)r.push(\"imod(\"+n[i]+\", \"+e[i]+\")\");return r.join()}(e);this.userCode=\"\\n      void main() {\\n        \"+i+\" resRC = getOutputCoords();\\n        setOutput(getA(\"+o+\"));\\n      }\\n    \"};var kr=function(e,t){this.variableNames=[\"A\"];for(var n=new Array(e.length),r=0;r<n.length;r++)n[r]=e[t[r]];this.outputShape=n,this.rank=n.length;var i=Ht(this.rank),o=function(e){var t=e.length;if(t>6)throw Error(\"Transpose for rank \"+t+\" is not yet supported\");for(var n=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],r=new Array(t),i=0;i<e.length;i++)r[e[i]]=n[i];return r.join()}(t);this.userCode=\"\\n    void main() {\\n      \"+i+\" resRC = getOutputCoords();\\n      setOutput(getA(\"+o+\"));\\n    }\\n    \"};var Tr=1.7580993408473768,Fr=1.0507009873554805,Or=function(){function e(e,t){this.variableNames=[\"A\"],this.outputShape=e,this.userCode=\"\\n      uniform float NAN;\\n      float unaryOperation(float x) {\\n        \"+t+\"\\n      }\\n\\n      void main() {\\n        float x = getAAtOutCoords();\\n        float y = unaryOperation(x);\\n\\n        setOutput(y);\\n      }\\n    \"}return e.prototype.getCustomSetupFunc=function(){var e=this;return function(t,n){null==e.startLoc&&(e.startLoc=t.getUniformLocationNoThrow(n,\"NAN\"),null==e.startLoc)||t.gl.uniform1f(e.startLoc,NaN)}},e}(),Pr=\"if (isNaN(x)) return x;\",Br=Pr+\"\\n  return (x < 0.0) ? 0.0 : x;\\n\",Rr=\"\\n  // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\\n  // see: https://arxiv.org/abs/1706.02515\\n  float scaleAlpha = \"+Tr+\";\\n  float scale = \"+Fr+\";\\n  return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\\n\";var jr=Pr+\"\\n  return sin(x);\\n\",zr=Pr+\"\\n  return cos(x);\\n\",Wr=Pr+\"\\n  return atan(x);\\n\",Vr=Pr+\"\\n  if (x < 1.0) return NAN;\\n  return log(x + sqrt(x * x - 1.0));\",Hr=Pr+\"\\n  if ((x < -1.0) || (x > 1.0)) return NAN;\\n  return (log(1.0 + x) - log(1.0 - x)) / 2.0;\";function Ur(e,t,n){!function(e,t,n){var r=e.length,i=t.length;f(e.length===t.length,\"Error in concat\"+r+\"D: rank of x1 (\"+r+\") and x2 (\"+i+\") must be the same.\"),f(n>=0&&n<r,\"Error in concat\"+r+\"D: axis must be between 0 and \"+(r-1)+\".\");for(var o=0;o<r;o++)f(o===n||e[o]===t[o],\"Error in concat\"+r+\"D: Shape (\"+e+\") does not match (\"+t+\") along the non-concatenated axis \"+o+\".\")}(e.shape,t.shape,n);var r=It(e.shape,t.shape,n),i=e.as2D(-1,b(e.shape.slice(n))),o=t.as2D(-1,b(t.shape.slice(n))),s=function(e,t){return{aBegin:[0,0],aSize:e,bBegin:[0,e[1]],bSize:t}}(i.shape,o.shape),a=s.aBegin,u=s.aSize,l=s.bBegin,c=s.bSize;return me.engine.runKernel(function(e){return e.concat(i,o)},{a:i,b:o},function(e){return{a:function(){return e.slice(a,u)},b:function(){return e.slice(l,c)}}}).reshape(r)}var Yr=Ze({concat_:function(e,t){void 0===t&&(t=0),f(e.length>=1,\"Pass at least one tensor to concat\");var n=Ye(e,\"tensors\",\"concat\"),r=n[0];if(1===n.length)return r;for(var i=xe(t,r.shape),o=1;o<n.length;++o)r=Ur(r,n[o],i[0]);return r}}),Zr=Ze({concat1d_:function(e){return Yr(e,0)}}),Gr=Ze({concat2d_:function(e,t){return Yr(e,t)}}),Kr=Ze({concat3d_:function(e,t){return Yr(e,t)}}),qr=Ze({concat4d_:function(e,t){return Yr(e,t)}});\"undefined\"!=typeof window?window:void 0!==r||\"undefined\"!=typeof self&&self;function Qr(e,t){return e(t={exports:{}},t.exports),t.exports}var Xr=Qr(function(e){!function(e,t,n){function r(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function i(e,t){var n=new function(e){var t,n=this,r=(t=4022871197,function(e){e=e.toString();for(var n=0;n<e.length;n++){var r=.02519603282416938*(t+=e.charCodeAt(n));r-=t=r>>>0,t=(r*=t)>>>0,t+=4294967296*(r-=t)}return 2.3283064365386963e-10*(t>>>0)});n.next=function(){var e=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=e-(n.c=0|e)},n.c=1,n.s0=r(\" \"),n.s1=r(\" \"),n.s2=r(\" \"),n.s0-=r(e),n.s0<0&&(n.s0+=1),n.s1-=r(e),n.s1<0&&(n.s1+=1),n.s2-=r(e),n.s2<0&&(n.s2+=1),r=null}(e),i=t&&t.state,o=n.next;return o.int32=function(){return 4294967296*n.next()|0},o.double=function(){return o()+1.1102230246251565e-16*(2097152*o()|0)},o.quick=o,i&&(\"object\"==typeof i&&r(i,n),o.state=function(){return r(n,{})}),o}t&&t.exports?t.exports=i:this.alea=i}(0,e)}),Jr=Qr(function(e){!function(e,t,n){function r(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function i(e,t){var n=new function(e){var t=this,n=\"\";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=0|n.charCodeAt(r),t.next()}(e),i=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},o.int32=n.next,o.quick=o,i&&(\"object\"==typeof i&&r(i,n),o.state=function(){return r(n,{})}),o}t&&t.exports?t.exports=i:this.xor128=i}(0,e)}),$r=Qr(function(e){!function(e,t,n){function r(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function i(e,t){var n=new function(e){var t=this,n=\"\";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=0|n.charCodeAt(r),r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}(e),i=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},o.int32=n.next,o.quick=o,i&&(\"object\"==typeof i&&r(i,n),o.state=function(){return r(n,{})}),o}t&&t.exports?t.exports=i:this.xorwow=i}(0,e)}),ei=Qr(function(e){!function(e,t,n){function r(e,t){return t.x=e.x.slice(),t.i=e.i,t}function i(e,t){null==e&&(e=+new Date);var n=new function(e){var t=this;t.next=function(){var e,n,r=t.x,i=t.i;return e=r[i],n=(e^=e>>>7)^e<<24,n^=(e=r[i+1&7])^e>>>10,n^=(e=r[i+3&7])^e>>>3,n^=(e=r[i+4&7])^e<<7,e=r[i+7&7],n^=(e^=e<<13)^e<<9,r[i]=n,t.i=i+1&7,n},function(e,t){var n,r=[];if(t===(0|t))r[0]=t;else for(t=\"\"+t,n=0;n<t.length;++n)r[7&n]=r[7&n]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&0===r[n];++n);for(8==n?r[7]=-1:r[n],e.x=r,e.i=0,n=256;n>0;--n)e.next()}(t,e)}(e),i=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},o.int32=n.next,o.quick=o,i&&(i.x&&r(i,n),o.state=function(){return r(n,{})}),o}t&&t.exports?t.exports=i:this.xorshift7=i}(0,e)}),ti=Qr(function(e){!function(e,t,n){function r(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function i(e,t){null==e&&(e=+new Date);var n=new function(e){var t=this;t.next=function(){var e,n,r=t.w,i=t.X,o=t.i;return t.w=r=r+1640531527|0,n=i[o+34&127],e=i[o=o+1&127],n^=n<<13,e^=e<<17,n^=n>>>15,e^=e>>>12,n=i[o]=n^e,t.i=o,n+(r^r>>>16)|0},function(e,t){var n,r,i,o,s,a=[],u=128;for(t===(0|t)?(r=t,t=null):(t+=\"\\0\",r=0,u=Math.max(u,t.length)),i=0,o=-32;o<u;++o)t&&(r^=t.charCodeAt((o+32)%t.length)),0===o&&(s=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,o>=0&&(s=s+1640531527|0,i=0==(n=a[127&o]^=r+s)?i+1:0);for(i>=128&&(a[127&(t&&t.length||0)]=-1),i=127,o=512;o>0;--o)r=a[i+34&127],n=a[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,a[i]=r^n;e.w=s,e.X=a,e.i=i}(t,e)}(e),i=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},o.int32=n.next,o.quick=o,i&&(i.X&&r(i,n),o.state=function(){return r(n,{})}),o}t&&t.exports?t.exports=i:this.xor4096=i}(0,e)}),ni=Qr(function(e){!function(e,t,n){function r(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function i(e,t){var n=new function(e){var t=this,n=\"\";t.next=function(){var e=t.b,n=t.c,r=t.d,i=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):n+=e;for(var r=0;r<n.length+20;r++)t.b^=0|n.charCodeAt(r),t.next()}(e),i=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},o.int32=n.next,o.quick=o,i&&(\"object\"==typeof i&&r(i,n),o.state=function(){return r(n,{})}),o}t&&t.exports?t.exports=i:this.tychei=i}(0,e)}),ri=Qr(function(e){!function(t,r){var i,o=this,s=256,a=6,u=\"random\",l=r.pow(s,a),c=r.pow(2,52),h=2*c,d=s-1;function p(e,n,p){var v=[],y=g(function e(t,n){var r,i=[],o=typeof t;if(n&&\"object\"==o)for(r in t)try{i.push(e(t[r],n-1))}catch(e){}return i.length?i:\"string\"==o?t:t+\"\\0\"}((n=1==n?{entropy:!0}:n||{}).entropy?[e,m(t)]:null==e?function(){try{var e;return i&&(e=i.randomBytes)?e=e(s):(e=new Uint8Array(s),(o.crypto||o.msCrypto).getRandomValues(e)),m(e)}catch(e){var n=o.navigator,r=n&&n.plugins;return[+new Date,o,r,o.screen,m(t)]}}():e,3),v),b=new function(e){var t,n=e.length,r=this,i=0,o=r.i=r.j=0,a=r.S=[];for(n||(e=[n++]);i<s;)a[i]=i++;for(i=0;i<s;i++)a[i]=a[o=d&o+e[i%n]+(t=a[i])],a[o]=t;(r.g=function(e){for(var t,n=0,i=r.i,o=r.j,a=r.S;e--;)t=a[i=d&i+1],n=n*s+a[d&(a[i]=a[o=d&o+t])+(a[o]=t)];return r.i=i,r.j=o,n})(s)}(v),_=function(){for(var e=b.g(a),t=l,n=0;e<c;)e=(e+n)*s,t*=s,n=b.g(1);for(;e>=h;)e/=2,t/=2,n>>>=1;return(e+n)/t};return _.int32=function(){return 0|b.g(4)},_.quick=function(){return b.g(4)/4294967296},_.double=_,g(m(b.S),t),(n.pass||p||function(e,t,n,i){return i&&(i.S&&f(i,b),e.state=function(){return f(b,{})}),n?(r[u]=e,t):e})(_,y,\"global\"in n?n.global:this==r,n.state)}function f(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function g(e,t){for(var n,r=e+\"\",i=0;i<r.length;)t[d&i]=d&(n^=19*t[d&i])+r.charCodeAt(i++);return m(t)}function m(e){return String.fromCharCode.apply(0,e)}if(r[\"seed\"+u]=p,g(r.random(),t),e.exports){e.exports=p;try{i=n(418)}catch(e){}}}([],Math)});ri.alea=Xr,ri.xor128=Jr,ri.xorwow=$r,ri.xorshift7=ei,ri.xor4096=ti,ri.tychei=ni;var ii=ri.alea,oi=function(){function e(e,t,n,r,i){this.mean=e,this.stdDev=t,this.dtype=n,this.nextVal=NaN,this.truncated=r,this.truncated&&(this.upper=this.mean+2*this.stdDev,this.lower=this.mean-2*this.stdDev);var o=i||Math.random();this.random=ii(o.toString())}return e.prototype.nextValue=function(){if(!isNaN(this.nextVal)){var e=this.nextVal;return this.nextVal=NaN,e}for(var t,n,r=!1;!r;){var i=void 0,o=void 0,s=void 0;do{s=(i=2*this.random()-1)*i+(o=2*this.random()-1)*o}while(s>=1||0===s);var a=Math.sqrt(-2*Math.log(s)/s);t=this.mean+this.stdDev*i*a,n=this.mean+this.stdDev*o*a,this.truncated&&!this.isValidTruncated(t)||(r=!0)}return this.truncated&&!this.isValidTruncated(n)||(this.nextVal=this.convertValue(n)),this.convertValue(t)},e.prototype.convertValue=function(e){return null==this.dtype||\"float32\"===this.dtype?e:Math.round(e)},e.prototype.isValidTruncated=function(e){return e<=this.upper&&e>=this.lower},e}();function si(e,t){return l(this,void 0,void 0,function(){var n,r,i,o,s,a,u,l,h,d,p,f,g,m,v,y,b,_,C,w;return c(this,function(c){switch(c.label){case 0:if(2!==(n=Ue(e,\"img\",\"toPixels\",\"int32\")).rank&&3!==n.rank)throw new Error(\"toPixels only supports rank 2 or 3 tensors, got rank \"+n.rank+\".\");if(r=n.shape.slice(0,2),i=r[0],o=r[1],(s=2===n.rank?1:n.shape[2])>4||2===s)throw new Error(\"toPixels only supports depth of size 1, 3 or 4 but got \"+s);return a=n.min(),u=n.max(),[4,a.data()];case 1:return l=c.sent()[0],[4,u.data()];case 2:if(h=c.sent()[0],a.dispose(),u.dispose(),\"float32\"===n.dtype){if(l<0||h>1)throw new Error(\"Tensor values for a float32 Tensor must be in the range [0 - 1] but got range [\"+l+\" - \"+h+\"].\")}else{if(\"int32\"!==n.dtype)throw new Error(\"Unsupported type for toPixels: \"+n.dtype+\". Please use float32 or int32 tensors.\");if(l<0||h>255)throw new Error(\"Tensor values for a int32 Tensor must be in the range [0 - 255] but got range [\"+l+\" - \"+h+\"].\")}return[4,n.data()];case 3:for(d=c.sent(),p=\"float32\"===n.dtype?255:1,f=new Uint8ClampedArray(o*i*4),g=0;g<i*o;++g)m=void 0,v=void 0,y=void 0,b=void 0,1===s?(m=d[g]*p,v=d[g]*p,y=d[g]*p,b=255):3===s?(m=d[3*g]*p,v=d[3*g+1]*p,y=d[3*g+2]*p,b=255):4===s&&(m=d[4*g]*p,v=d[4*g+1]*p,y=d[4*g+2]*p,b=d[4*g+3]*p),f[0+(_=4*g)]=Math.round(m),f[_+1]=Math.round(v),f[_+2]=Math.round(y),f[_+3]=Math.round(b);return null!=t&&(t.width=o,t.height=i,C=t.getContext(\"2d\"),w=new ImageData(f,o,i),C.putImageData(w,0,0)),n!==e&&n.dispose(),[2,f]}})})}function ai(e,t,n){return void 0===t&&(t=\"float32\"),new q(e,t,n)}function ui(e,t){void 0===t&&(t=!1),console.log(e.toString(t))}var li=Ze({cast_:function(e,t){var n=Ue(e,\"x\",\"cast\");return me.engine.runKernel(function(e){return e.cast(n,t)},{$x:n},function(e){return{$x:function(){return e.clone()}}})}}),ci=Ze({clone_:function(e){var t=Ue(e,\"x\",\"clone\");return me.engine.runKernel(function(e){return $.make(t.shape,{dataId:t.dataId},t.dtype)},{$x:t},function(e){return{$x:function(){return e.toFloat()}}})}}),hi=Ze({cumsum_:function(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=!1),void 0===r&&(r=!1);var i=Ue(e,\"x\",\"cumsum\"),o=Ne([t|=0],i.rank),s=i;null!=o&&(s=i.transpose(o));var a=Le(1,i.rank)[0],u=me.engine.runKernel(function(e){return e.cumsum(s,a,n,r)},{permutedX:s},function(e){return{permutedX:function(){return e.cumsum(t,n,!r)}}});return null!=o&&(u=u.transpose(o)),u}}),di=Ze({expandDims_:function(e,t){void 0===t&&(t=0);var n=Ue(e,\"x\",\"expandDims\");f(t<=n.rank,\"Axis must be <= rank of the tensor\");var r=n.shape.slice();return t<0&&(f(-(n.rank+1)<=t,\"Axis must be in the interval [\"+-(n.rank+1)+\", \"+n.rank+\"]\"),t=n.rank+t+1),r.splice(t,0,1),Ai(n,r)}}),pi=Ze({eye_:function(e,t,n,r){void 0===r&&(r=\"float32\"),null==t&&(t=e);for(var i=ai([e,t],r),o=e<=t?e:t,s=0;s<o;++s)i.set(1,s,s);var a=i.toTensor().as2D(e,t);if(null==n)return a;if(1===n.length)return Ni(di(a,0),[n[0],1,1]);if(2===n.length)return Ni(di(di(a,0),0),[n[0],n[1],1,1]);if(3===n.length)return Ni(di(di(di(a,0),0),0),[n[0],n[1],n[2],1,1]);throw new Error(\"eye() currently supports only 1D and 2D batchShapes, but received \"+n.length+\"D.\")}}),fi=Ze({fromPixels_:function(e,t){if(void 0===t&&(t=3),t>4)throw new Error(\"Cannot construct Tensor with more than 4 channels from pixels.\");return me.engine.fromPixels(e,t)}}),gi=Ze({multinomial_:function(e,t,n,r){void 0===r&&(r=!1);var i=Ue(e,\"logits\",\"multinomial\"),o=i.size,s=i.rank;if(o<2)throw new Error(\"Error in multinomial: you need at least 2 outcomes, but got \"+o+\".\");if(s>2)throw new Error(\"Rank of probabilities must be 1 or 2, but is \"+s);n=n||Math.random();var a=1===s?i.as2D(1,-1):i,u=me.engine.runKernel(function(e){return e.multinomial(a,r,t,n)},{logits2D:a});return 1===s?u.as1D():u}}),mi=Ze({oneHot_:function(e,t,n,r){void 0===n&&(n=1),void 0===r&&(r=0);var i=Ue(e,\"indices\",\"oneHot\",\"int32\");if(f(\"int32\"===i.dtype,\"Indices must be of dtype `int32`\"),t<2)throw new Error(\"Error in oneHot: depth must be >=2, but it is \"+t);return me.engine.runKernel(function(e){return e.oneHot(i,t,n,r)},{$indices:i})}}),vi=Ze({pad_:function(e,t,n){void 0===n&&(n=0);var r=Ue(e,\"x\",\"pad\");if(0===r.rank)throw new Error(\"pad(scalar) is not defined. Pass non-scalar to pad\");var i=t.map(function(e){return e[0]});return me.engine.runKernel(function(e){return e.pad(r,t,n)},{$x:r},function(e){return{$x:function(){return e.slice(i,r.shape)}}})}}),yi=Ze({pad1d_:function(e,t,n){return void 0===n&&(n=0),f(2===t.length,\"Invalid number of paddings. Must be length of 2.\"),vi(e,[t],n)}}),bi=Ze({pad2d_:function(e,t,n){return void 0===n&&(n=0),f(2===t.length&&2===t[0].length&&2===t[1].length,\"Invalid number of paddings. Must be length of 2 each.\"),vi(e,t,n)}}),_i=Ze({pad3d_:function(e,t,n){return void 0===n&&(n=0),f(3===t.length&&2===t[0].length&&2===t[1].length&&2===t[2].length,\"Invalid number of paddings. Must be length of 2 each.\"),vi(e,t,n)}}),Ci=Ze({pad4d_:function(e,t,n){return void 0===n&&(n=0),f(4===t.length&&2===t[0].length&&2===t[1].length&&2===t[2].length&&2===t[3].length,\"Invalid number of paddings. Must be length of 2 each.\"),vi(e,t,n)}}),wi=Ze({rand_:function(e,t,n){var r=b(e),i=null;if(null==n||\"float32\"===n)i=new Float32Array(r);else if(\"int32\"===n)i=new Int32Array(r);else{if(\"bool\"!==n)throw new Error(\"Unknown data type \"+n);i=new Uint8Array(r)}for(var o=0;o<r;o++)i[o]=t();return $.make(e,{values:i},n)}}),Di=Ze({randomNormal_:function(e,t,n,r,i){if(void 0===t&&(t=0),void 0===n&&(n=1),null!=r&&\"bool\"===r)throw new Error(\"Unsupported data type \"+r);for(var o=new oi(t,n,r,!1,i),s=ai(e,r),a=0;a<s.values.length;a++)s.values[a]=o.nextValue();return s.toTensor()}}),Ei=Ze({randomUniform_:function(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=1),void 0===r&&(r=\"float32\");for(var i=ai(e,r),o=0;o<i.values.length;o++)i.values[o]=p(t,n);return i.toTensor()}}),Ai=Ze({reshape_:function(e,t){var n=Ue(e,\"x\",\"reshape\");return t=S(t,n.size),f(n.size===b(t),\"new shape and old shape must have the same number of elements.\"),me.engine.runKernel(function(e){return e.reshape(n,t)},{$x:n},function(e){return{$x:function(){return e.reshape(n.shape)}}})}}),Si=Ze({split_:function(e,t,n){void 0===n&&(n=0);var r,i=Ue(e,\"x\",\"split\");n=xe(n,i.shape)[0],\"number\"==typeof t?(f(i.shape[n]%t==0,\"Number of splits must evenly divide the axis.\"),r=Array(t).fill(i.shape[n]/t)):(f(i.shape[n]===t.reduce(function(e,t){return e+t}),\"The sum of sizes must match the size of the axis dimension.\"),r=t);var o=Array(i.rank).fill(0),s=i.shape.slice();return r.map(function(e){s[n]=e;var t=i.slice(o,s);return o[n]+=e,t})}}),xi=Ze({squeeze_:function(e,t){var n=Ue(e,\"x\",\"squeeze\");return Ai(n,x(n.shape,t).newShape)}}),Mi=Ze({stack_:function(e,t){void 0===t&&(t=0);var n=Ye(e,\"tensors\",\"stack\");if(f(n.length>=1,\"Pass at least one tensor to tf.stack\"),1===n.length)return n[0].expandDims(t);var r=n[0].rank,i=n[0].shape,o=n[0].dtype;f(t<=r,\"Axis must be <= rank of the tensor\"),n.forEach(function(e){g(i,e.shape,\"All tensors passed to stack must have matching shapes\")}),n.forEach(function(e){f(o===e.dtype,\"All tensors passed to stack must have matching dtypes\")});var s=n.map(function(e){return e.expandDims(t)});return Yr(s,t)}}),Ni=Ze({tile_:function(e,t){var n=Ue(e,\"x\",\"tile\");return f(n.rank===t.length,\"Error in transpose: rank of input \"+n.rank+\" must match length of reps \"+t+\".\"),me.engine.runKernel(function(e){return e.tile(n,t)},{$x:n},function(e){return{$x:function(){var r=pt(n);if(1===n.rank)for(var i=0;i<t[0];++i)r=r.add(e.slice([i*n.shape[0]],[n.shape[0]]));else if(2===n.rank)for(i=0;i<t[0];++i)for(var o=0;o<t[1];++o)r=r.add(e.slice([i*n.shape[0],o*n.shape[1]],[n.shape[0],n.shape[1]]));else if(3===n.rank)for(i=0;i<t[0];++i)for(o=0;o<t[1];++o)for(var s=0;s<t[2];++s)r=r.add(e.slice([i*n.shape[0],o*n.shape[1],s*n.shape[2]],[n.shape[0],n.shape[1],n.shape[2]]));else{if(4!==n.rank)throw new Error(\"Gradient for tile operation is not implemented for rank-\"+n.rank+\" tensors yet.\");for(i=0;i<t[0];++i)for(o=0;o<t[1];++o)for(s=0;s<t[2];++s)for(var a=0;a<t[3];++a)r=r.add(e.slice([i*n.shape[0],o*n.shape[1],s*n.shape[2],a*n.shape[3]],[n.shape[0],n.shape[1],n.shape[2],n.shape[3]]))}return r}}})}}),Ii=Ze({truncatedNormal_:function(e,t,n,r,i){if(void 0===t&&(t=0),void 0===n&&(n=1),null!=r&&\"bool\"===r)throw new Error(\"Unsupported data type \"+r);for(var o=new oi(t,n,r,!0,i),s=ai(e,r),a=0;a<s.values.length;a++)s.values[a]=o.nextValue();return s.toTensor()}}),Li=Ze({unstack_:function(e,t){void 0===t&&(t=0);for(var n,r=Ue(e,\"x\",\"unstack\"),i=r.shape[t],o=Array(r.rank-1).fill(0),s=0,a=0;a<r.rank;a++)a!==t&&(o[s]=r.shape[a],s++);n=Array(i).fill(1);var u=Array(r.rank).fill(0),l=r.shape.slice();return n.map(function(e){l[t]=e;var n=r.slice(u,l);return u[t]+=e,n.reshape(o)})}}),ki=Ze({batchToSpaceND_:function(e,t,n){var r=Ue(e,\"x\",\"batchToSpaceND\"),i=t.reduce(function(e,t){return e*t});return f(r.rank>=1+t.length,\"input rank should be > than [blockShape] but got \"+r.rank),f(n.length===t.length,\"crops.shape[0] must be equal to [blockShape] but got \"+n.length),f(r.shape[0]%i==0,\"input tensor batch must be divisible by prod( blockShape )\"),me.engine.runKernel(function(e){return e.batchToSpaceND(r,t,n)},{})}}),Ti=Ze({spaceToBatchND_:function(e,t,n){var r=Ue(e,\"x\",\"spaceToBatchND\");return f(r.rank>=1+t.length,\"input rank should be > than [blockShape] but got \"+r.rank),f(n.length===t.length,\"paddings.shape[0] must be equal to [blockShape], got \"+n.length),f(r.shape.reduce(function(e,n,r){return r>0&&r<=t.length?e&&n%t[r-1]==0:e},!0),\"input spatial dimensions must be divisible by blockShapes\"),me.engine.runKernel(function(e){return e.spaceToBatchND(r,t,n)},{})}});function Fi(e,t){for(var n=[],r=0;r<t.length;r++)t[r]&&n.push(r);var i=ai(e,\"int32\"),o=ai([n.length,e.length],\"int32\");for(r=0;r<n.length;r++){var s=i.indexToLoc(n[r]),a=r*e.length;o.values.set(s,a)}return o.toTensor()}var Oi=300,Pi=function(){function e(e,t){if(void 0===t&&(t=!0),this.gpgpu=e,this.delayedStorage=t,this.texData=new WeakMap,this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.lruDataGPU=[],this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.binaryCache={},this.disposed=!1,me.get(\"WEBGL_VERSION\")<1)throw new Error(\"WebGL is not supported on this device\");me.get(\"IS_BROWSER\")&&(this.canvas=document.createElement(\"canvas\")),null==e?(this.gpgpu=new ur(Wn(this.canvas)),this.gpgpuCreatedLocally=!0):this.gpgpuCreatedLocally=!1,this.NUM_BYTES_BEFORE_PAGING=window.screen.height*window.screen.width*window.devicePixelRatio*Oi,this.textureManager=new Mr(this.gpgpu)}return e.prototype.register=function(e,t,n){if(this.texData.has(e))throw new Error(\"Data buffer is already registered\");this.texData.set(e,{shape:t,dtype:n,values:null,texture:null,texShape:null,usage:Kt.RENDER})},e.prototype.fromPixels=function(e,t){if(null==e)throw new Error(\"pixels passed to tf.fromPixels() can not be null\");var n=[e.height,e.width],r=[e.height,e.width,t];if(!(e instanceof HTMLVideoElement||e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof ImageData))throw new Error(\"pixels passed to tf.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement or ImageData, but was \"+e.constructor.name);if(e instanceof HTMLVideoElement){if(null==this.fromPixelsCanvas){if(!me.get(\"IS_BROWSER\"))throw new Error(\"Can't read pixels from HTMLImageElement outside the browser.\");if(\"complete\"!==document.readyState)throw new Error(\"The DOM is not ready yet. Please call tf.fromPixels() once the DOM is ready. One way to do that is to add an event listener for `DOMContentLoaded` on the document object\");this.fromPixelsCanvas=document.createElement(\"canvas\")}this.fromPixelsCanvas.width=e.width,this.fromPixelsCanvas.height=e.height,this.fromPixelsCanvas.getContext(\"2d\").drawImage(e,0,0,e.width,e.height),e=this.fromPixelsCanvas}var i=$.make(n,{},\"int32\");this.texData.get(i.dataId).usage=Kt.PIXELS,this.gpgpu.uploadPixelDataToTexture(this.getTexture(i.dataId),e);var o=new Xt(r),s=this.compileAndRun(o,[i]);return i.dispose(),s},e.prototype.write=function(e,t){if(null==t)throw new Error(\"MathBackendWebGL.write(): values can not be null\");this.throwIfNoData(e);var n=this.texData.get(e),r=n.texture,i=n.texShape,o=n.usage;null!=r&&(this.releaseTexture(e,r,i,o),n.texture=null,n.texShape=null),n.usage=Kt.UPLOAD,n.values=t,this.delayedStorage||this.uploadToGPU(e)},e.prototype.readSync=function(e){this.throwIfNoData(e);var t=this.texData.get(e),n=t.shape,r=t.texture,i=t.values,o=t.texShape,s=t.dtype;if(null!=i)return this.cacheOnCPU(e),i;var a,u=null!=this.activeTimers;u&&(a=performance.now());var l=this.getValuesFromTexture(r,e,s,o,n);return u&&(this.downloadWaitMs+=performance.now()-a),this.cacheOnCPU(e,l),t.values},e.prototype.read=function(e){return l(this,void 0,void 0,function(){var t,n,r,i,o,s,a,u,l,h;return c(this,function(c){switch(c.label){case 0:if(this.pendingRead.has(e))return t=this.pendingRead.get(e),[2,new Promise(function(e){return t.push(e)})];if(this.throwIfNoData(e),n=this.texData.get(e),r=n.shape,i=n.texture,o=n.values,s=n.texShape,a=n.dtype,null!=o)return this.cacheOnCPU(e),[2,o];if(this.pendingRead.set(e,[]),!me.get(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&2===me.get(\"WEBGL_VERSION\"))throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");return u=this.gpgpu.maybeCreateBufferFromTexture(i,s[0],s[1]),[4,this.gpgpu.createAndWaitForFence()];case 1:return c.sent(),l=u instanceof WebGLTexture?this.getValuesFromTexture(i,e,a,s,r):this.gpgpu.downloadFloat32MatrixFromBuffer(u,s[0],s[1]),this.cacheOnCPU(e,l),h=this.pendingRead.get(e),this.pendingRead.delete(e),h.forEach(function(e){return e(l)}),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)),[2,l]}})})},e.prototype.getValuesFromTexture=function(e,t,n,r,i){if(me.get(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\"))return this.gpgpu.downloadFloat32MatrixFromOutputTexture(e,r[0],r[1]);var o=$.make(i,{});this.texData.get(o.dataId).usage=Kt.DOWNLOAD;var s=$.make(i,{dataId:t},n),a=new Qt(i);this.compileAndRun(a,[s],o,null,!1);var u=this.texData.get(o.dataId),l=this.gpgpu.downloadByteEncodedFloatMatrixFromOutputTexture(u.texture,u.texShape[0],u.texShape[1]);return s.dispose(),o.dispose(),l},e.prototype.time=function(e){return l(this,void 0,void 0,function(){var t,n,r,i,o,s;return c(this,function(a){switch(a.label){case 0:return t=this.activeTimers,n=[],r=!1,null==this.programTimersStack?(this.programTimersStack=n,r=!0):this.activeTimers.push(n),this.activeTimers=n,e(),i=v(this.activeTimers),this.activeTimers=t,r&&(this.programTimersStack=null),[4,Promise.all(i).then(function(e){var t=0;return e.forEach(function(e){return t+=e}),t})];case 1:return o=a.sent(),s={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:o,wallMs:null},this.uploadWaitMs=0,this.downloadWaitMs=0,[2,s]}})})},e.prototype.memory=function(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU}},e.prototype.startTimer=function(){return me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?this.gpgpu.beginQuery():{startMs:performance.now(),endMs:null}},e.prototype.endTimer=function(e){return me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(this.gpgpu.endQuery(),e):(e.endMs=performance.now(),e)},e.prototype.getQueryTime=function(e){return l(this,void 0,void 0,function(){var t;return c(this,function(n){return me.get(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?[2,this.gpgpu.waitForQueryAndGetTime(e)]:[2,(t=e).endMs-t.startMs]})})},e.prototype.disposeData=function(e){if(!this.pendingDisposal.has(e))if(this.pendingRead.has(e))this.pendingDisposal.add(e);else if(this.texData.has(e)){var t=this.texData.get(e),n=t.texture,r=t.texShape,i=t.usage;null!=n&&this.releaseTexture(e,n,r,i),this.texData.delete(e)}},e.prototype.getTexture=function(e){return this.uploadToGPU(e),this.texData.get(e).texture},e.prototype.getGPGPUContext=function(){return this.gpgpu},e.prototype.getCanvas=function(){return this.canvas},e.prototype.slice=function(e,t,n){var r=new Sr(n),i=r.getCustomSetupFunc(t);return this.compileAndRun(r,[e],null,i)},e.prototype.stridedSlice=function(e,t,n,r,i,o){var s=Fe(e.shape,t,n,r,i,o),a=s[0],u=s[1];if(u.some(function(e){return 0===e}))return Ke([],u);var l=new xr(a,r,u);return this.compileAndRun(l,[e])},e.prototype.reverse=function(e,t){var n=new Dr(e.shape,t);return this.compileAndRun(n,[e])},e.prototype.concat=function(e,t){var n=new Lt(e.shape,t.shape);return this.compileAndRun(n,[e,t])},e.prototype.neg=function(e){var t=new Or(e.shape,\"return -x;\");return this.compileAndRun(t,[e])},e.prototype.matMul=function(e,t,n,r){var i=new pr(e.shape,t.shape,n,r);return this.compileAndRun(i,[e,t])},e.prototype.multiply=function(e,t){var n=new Mt(\"return a * b;\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,gt(e.dtype,t.dtype));return this.compileAndRun(n,[e,t],r)},e.prototype.batchNormalization=function(e,t,n,r,i,o){var s=[e,t,n],a=null;null!=o&&(a=o.shape,s.push(o));var u=null;null!=i&&(u=i.shape,s.push(i));var l=new xt(e.shape,t.shape,n.shape,a,u,r);return this.compileAndRun(l,s)},e.prototype.localResponseNormalization4D=function(e,t,n,r,i){var o=new cr(e.shape,t,n,r,i);return this.compileAndRun(o,[e])},e.prototype.LRNGrad=function(e,t,n,r,i,o,s){var a=new hr(t.shape,r,i,o,s);return this.compileAndRun(a,[t,n,e])},e.prototype.tile=function(e,t){var n=new Lr(e.shape,t);return this.compileAndRun(n,[e])},e.prototype.pad=function(e,t,n){var r=new mr(e.shape,t,n);return this.compileAndRun(r,[e])},e.prototype.transpose=function(e,t){var n=new kr(e.shape,t);return this.compileAndRun(n,[e])},e.prototype.gather=function(e,t,n){var r=new Jt(e.shape,t.size,n);return this.compileAndRun(r,[e,t])},e.prototype.batchToSpaceND=function(e,t,n){f(e.rank<=4,\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");var r=t.reduce(function(e,t){return e*t}),i=be(e.shape,t,r),o=_e(i.length,t.length),s=Ce(e.shape,t,r),a=we(n,t.length),u=De(s,n,t.length);return e.reshape(i).transpose(o).reshape(s).slice(a,u)},e.prototype.spaceToBatchND=function(e,t,n){f(e.rank<=4,\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");var r=t.reduce(function(e,t){return e*t}),i=[[0,0]];i.push.apply(i,n);for(var o=1+t.length;o<e.shape.length;++o)i.push([0,0]);var s=e.pad(i),a=be(s.shape,t,r,!1),u=_e(a.length,t.length,!1),l=Ce(s.shape,t,r,!1);return s.reshape(a).transpose(u).reshape(l)},e.prototype.reduce=function(e,t,n){var r=e.shape[0],i=e.shape[1],o=Te(i),s=new yr({windowSize:o,inSize:i,batchSize:r},t),a=s.outputShape,u=a[0],l=a[1],c=this.makeOutputArray([u,l],n);return this.compileAndRun(s,[e],c),1===c.shape[1]?c:this.reduce(c,t,n)},e.prototype.argReduce=function(e,t,n){void 0===n&&(n=null);var r=e.shape[0],i=e.shape[1];null!=n&&(r=n.shape[0],i=n.shape[1]);var o=Te(i),s=new wt({windowSize:o,inSize:i,batchSize:r},t,null==n),a=s.outputShape,u=a[0],l=a[1],c=this.makeOutputArray([u,l],\"int32\"),h=[e];return null!=n&&h.push(n),this.compileAndRun(s,h,c),1===c.shape[1]?c:this.argReduce(e,t,c)},e.prototype.sum=function(e,t){Me(\"sum\",t,e.rank);var n=Ae(e.shape,t),r=n[0],i=b(n[1]),o=e.as2D(-1,i),s=mt(e.dtype);return this.reduce(o,\"sum\",s).reshape(r)},e.prototype.unsortedSegmentSum=function(e,t,n){var r=0,i=Ne([r],e.rank),o=e;null!=i&&(o=e.transpose(i),r=Le(1,e.rank)[0]);var s=function(e,t,n){for(var r=[],i=e.length,o=0;o<i;o++)o!==t?r.push(e[o]):r.push(n);return r}(o.shape,r,n),a=b([o.shape[r]]),u=o.as2D(-1,a),l=mt(e.dtype),c=this.segOpCompute(u,\"unsortedSegmentSum\",t,l,n).reshape(s);return null!=i&&(c=c.transpose(Ie(i))),c},e.prototype.segOpCompute=function(e,t,n,r,i){var o=e.shape[0],s=e.shape[1],a=function(e,t){var n,r=!1;for(e<=ke?(n=e,r=!0):n=O(e,Math.floor(Math.sqrt(e)));!r;){if(n>t||n===e){r=!0;break}n=O(e,n+1)}return n}(s,i),u=new Er({windowSize:a,inSize:s,batchSize:o,numSegments:i},t),l=u.outputShape,c=l[0],h=l[1],d=this.makeOutputArray([c,h],r);return this.compileAndRun(u,[e,n],d),d.shape[1]===i?d:(n=st(0,i).tile([s/a]),this.segOpCompute(d,t,n,r,i))},e.prototype.argMin=function(e,t){var n=[t];Me(\"argMin\",n,e.rank);var r=Ae(e.shape,n),i=r[0],o=b(r[1]),s=e.as2D(-1,o);return this.argReduce(s,\"min\").reshape(i)},e.prototype.argMax=function(e,t){var n=[t];Me(\"argMax\",n,e.rank);var r=Ae(e.shape,n),i=r[0],o=b(r[1]),s=e.as2D(-1,o);return this.argReduce(s,\"max\").reshape(i)},e.prototype.cumsum=function(e,t,n,r){if(t!==e.rank-1)throw new Error(\"WebGL cumsum shader expects an inner-most axis=\"+(e.rank-1)+\" but got axis=\"+t);var i=new Zt(e.shape,n,r);return this.compileAndRun(i,[e])},e.prototype.equal=function(e,t){var n=new Mt(\"return float(a == b);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.notEqual=function(e,t){var n=new Mt(\"return float(a != b);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.less=function(e,t){var n=new Mt(\"return float(a < b);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.lessEqual=function(e,t){var n=new Mt(\"return float(a <= b);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.greater=function(e,t){var n=new Mt(\"return float(a > b);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.greaterEqual=function(e,t){var n=new Mt(\"return float(a >= b);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.logicalNot=function(e){var t=new Or(e.shape,\"return float(!(x >= 1.0));\");return this.compileAndRun(t,[e])},e.prototype.logicalAnd=function(e,t){var n=new Mt(\"return float(a >= 1.0 && b >= 1.0);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.logicalOr=function(e,t){var n=new Mt(\"return float(a >= 1.0 || b >= 1.0);\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"bool\");return this.compileAndRun(n,[e,t],r)},e.prototype.select=function(e,t,n){var r=new Ar(e.rank,t.shape,t.rank),i=this.makeOutputArray(r.outputShape,gt(t.dtype,n.dtype));return this.compileAndRun(r,[e,t,n],i)},e.prototype.where=function(e){ye(\"tf.where() in webgl locks the UI thread. Call tf.whereAsync() instead\");var t=e.dataSync();return Fi(e.shape,t)},e.prototype.topk=function(e,t,n){return Ct(e.dataSync(),e.shape,e.dtype,t)},e.prototype.min=function(e,t){Me(\"min\",t,e.rank);var n=Ae(e.shape,t),r=n[0],i=b(n[1]),o=e.as2D(-1,i);return this.reduce(o,\"min\",o.dtype).reshape(r)},e.prototype.minimum=function(e,t){var n=new Mt(\"\\n  if (isNaN(a)) return a;\\n  if (isNaN(b)) return b;\\n\\n  return min(a, b);\\n\",e.shape,t.shape);return this.compileAndRun(n,[e,t])},e.prototype.mod=function(e,t){var n=new Mt(\"if (b == 0.0) return NAN;\\n  return mod(a, b);\",e.shape,t.shape),r=n.getCustomSetupFunc();return this.compileAndRun(n,[e,t],null,r)},e.prototype.max=function(e,t){Me(\"max\",t,e.rank);var n=Ae(e.shape,t),r=n[0],i=b(n[1]),o=e.as2D(-1,i);return this.reduce(o,\"max\",o.dtype).reshape(r)},e.prototype.maximum=function(e,t){var n=new Mt(\"\\n  if (isNaN(a)) return a;\\n  if (isNaN(b)) return b;\\n\\n  return max(a, b);\\n\",e.shape,t.shape);return this.compileAndRun(n,[e,t])},e.prototype.all=function(e,t){Me(\"all\",t,e.rank);var n=Ae(e.shape,t),r=n[0],i=b(n[1]),o=e.as2D(-1,i);return this.reduce(o,\"all\",o.dtype).reshape(r)},e.prototype.any=function(e,t){Me(\"any\",t,e.rank);var n=Ae(e.shape,t),r=n[0],i=b(n[1]),o=e.as2D(-1,i);return this.reduce(o,\"any\",o.dtype).reshape(r)},e.prototype.squaredDifference=function(e,t){var n=new Mt(\"return (a - b) * (a - b);\",e.shape,t.shape);return this.compileAndRun(n,[e,t])},e.prototype.realDivide=function(e,t){var n=new Mt(\"if (a == b) return 1.0;\\n  return a / b;\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"float32\");return this.compileAndRun(n,[e,t],r)},e.prototype.floorDiv=function(e,t){var n=new Mt(\"\\n  float resultSign = sign(a) * sign(b);\\n  int ia = round(a);\\n  int ib = round(b);\\n  int result = ia / ib;\\n  int amodb = ia - ib * result;\\n\\n  if (resultSign < 0.0 && amodb != 0) {\\n    result -= 1;\\n  }\\n  return float(result);\\n\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,\"int32\");return this.compileAndRun(n,[e,t],r)},e.prototype.add=function(e,t){var n=new Mt(\"return a + b;\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,gt(e.dtype,t.dtype));return this.compileAndRun(n,[e,t],r)},e.prototype.addN=function(e){for(var t=e[0],n=1;n<e.length;n++)t=this.add(t,e[n]);return t},e.prototype.subtract=function(e,t){var n=new Mt(\"return a - b;\",e.shape,t.shape),r=this.makeOutputArray(n.outputShape,gt(e.dtype,t.dtype));return this.compileAndRun(n,[e,t],r)},e.prototype.pow=function(e,t){var n=new Mt(\"\\nif(a < 0.0 && floor(b) < b){\\n  return NAN;\\n}\\nreturn (round(mod(b, 2.0)) == 0 || round(mod(b, 2.0)) == 2) ?\\n    pow(abs(a), b) : sign(a) * pow(abs(a), b);\\n\",e.shape,t.shape),r=n.getCustomSetupFunc(),i=this.makeOutputArray(n.outputShape,gt(e.dtype,t.dtype));return this.compileAndRun(n,[e,t],i,r)},e.prototype.ceil=function(e){var t=new Or(e.shape,\"return ceil(x);\");return this.compileAndRun(t,[e])},e.prototype.floor=function(e){var t=new Or(e.shape,\"return floor(x);\");return this.compileAndRun(t,[e])},e.prototype.sign=function(e){var t=new Or(e.shape,\"\\n  if (isNaN(x)) { return 0.0; }\\n  return sign(x);\\n\");return this.compileAndRun(t,[e])},e.prototype.round=function(e){var t=new Or(e.shape,\"\\n  // OpenGL ES does not support round function.\\n  // The algorithm is based on banker's rounding.\\n  float base = floor(x);\\n  if ((x - base) < 0.5) {\\n    return floor(x);\\n  } else if ((x - base) > 0.5) {\\n    return ceil(x);\\n  } else {\\n    if (mod(base, 2.0) == 0.0) {\\n      return base;\\n    } else {\\n      return base + 1.0;\\n    }\\n  }\\n\");return this.compileAndRun(t,[e])},e.prototype.exp=function(e){var t=new Or(e.shape,\"return exp(x);\");return this.compileAndRun(t,[e])},e.prototype.expm1=function(e){var t=new Or(e.shape,\"return exp(x) - 1.0;\");return this.compileAndRun(t,[e])},e.prototype.log=function(e){var t=new Or(e.shape,\"if (x < 0.0) return NAN;\\n  return log(x);\"),n=t.getCustomSetupFunc();return this.compileAndRun(t,[e],null,n)},e.prototype.log1p=function(e){var t=new Or(e.shape,\"return log(1.0 + x);\");return this.compileAndRun(t,[e])},e.prototype.sqrt=function(e){var t=new Or(e.shape,\"return sqrt(x);\");return this.compileAndRun(t,[e])},e.prototype.rsqrt=function(e){var t=new Or(e.shape,\"return inversesqrt(x);\");return this.compileAndRun(t,[e])},e.prototype.square=function(e){var t=new Or(e.shape,\"return x * x;\");return this.compileAndRun(t,[e])},e.prototype.reciprocal=function(e){var t=new Or(e.shape,\"return 1.0 / x;\");return this.compileAndRun(t,[e])},e.prototype.relu=function(e){var t=new Or(e.shape,Br);return this.compileAndRun(t,[e])},e.prototype.elu=function(e){var t=new Or(e.shape,\"return (x >= 0.0) ? x : (exp(x) - 1.0);\");return this.compileAndRun(t,[e])},e.prototype.eluDer=function(e,t){var n=new Mt(\"return (b >= 1.0) ? a : a * (b + 1.0);\",e.shape,t.shape);return this.compileAndRun(n,[e,t])},e.prototype.selu=function(e){var t=new Or(e.shape,Rr);return this.compileAndRun(t,[e])},e.prototype.int=function(e){var t=new Or(e.shape,\"return float(int(x));\"),n=this.makeOutputArray(t.outputShape,\"int32\");return this.compileAndRun(t,[e],n)},e.prototype.clip=function(e,t,n){var r=new Nt(e.shape,t,n);return this.compileAndRun(r,[e])},e.prototype.abs=function(e){var t=new Or(e.shape,\"return abs(x);\");return this.compileAndRun(t,[e])},e.prototype.sigmoid=function(e){var t=new Or(e.shape,\"return 1.0 / (1.0 + exp(-1.0 * x));\");return this.compileAndRun(t,[e])},e.prototype.softplus=function(e){var t=new Or(e.shape,\"\\n  float epsilon = 1.1920928955078125e-7;\\n  float threshold = log(epsilon) + 2.0;\\n\\n  bool too_large = x > -threshold;\\n  bool too_small = x < threshold;\\n\\n  float result;\\n  float exp_x = exp(x);\\n\\n  if (too_large){\\n    result = x;\\n  }\\n  else if (too_small){\\n    result = exp_x;\\n  }\\n  else{\\n    result = log(exp_x + 1.0);\\n  }\\n  return result;\\n\");return this.compileAndRun(t,[e])},e.prototype.sin=function(e){var t=new Or(e.shape,jr);return this.compileAndRun(t,[e])},e.prototype.cos=function(e){var t=new Or(e.shape,zr);return this.compileAndRun(t,[e])},e.prototype.tan=function(e){var t=new Or(e.shape,\"return tan(x);\");return this.compileAndRun(t,[e])},e.prototype.asin=function(e){var t=new Or(e.shape,\"return asin(x);\");return this.compileAndRun(t,[e])},e.prototype.acos=function(e){var t=new Or(e.shape,\"return acos(x);\");return this.compileAndRun(t,[e])},e.prototype.atan=function(e){var t=new Or(e.shape,Wr);return this.compileAndRun(t,[e])},e.prototype.atan2=function(e,t){var n=new Mt(\"\\n  if (isNaN(a)) return a;\\n  if (isNaN(b)) return b;\\n\\n  return atan(a, b);\\n\",e.shape,t.shape);return this.compileAndRun(n,[e,t])},e.prototype.sinh=function(e){var t=new Or(e.shape,\"\\n  float e2x = exp(x);\\n  return (e2x - 1.0 / e2x) / 2.0;\\n\");return this.compileAndRun(t,[e])},e.prototype.cosh=function(e){var t=new Or(e.shape,\"\\n  float e2x = exp(-x);\\n  return (e2x + 1.0 / e2x) / 2.0;\\n\");return this.compileAndRun(t,[e])},e.prototype.tanh=function(e){var t=new Or(e.shape,\"\\n  float e2x = exp(-2.0 * abs(x));\\n  return sign(x) * (1.0 - e2x) / (1.0 + e2x);\\n\");return this.compileAndRun(t,[e])},e.prototype.asinh=function(e){var t=new Or(e.shape,\"return log(x + sqrt(x * x + 1.0));\");return this.compileAndRun(t,[e])},e.prototype.acosh=function(e){var t=new Or(e.shape,Vr),n=t.getCustomSetupFunc();return this.compileAndRun(t,[e],null,n)},e.prototype.atanh=function(e){var t=new Or(e.shape,Hr),n=t.getCustomSetupFunc();return this.compileAndRun(t,[e],null,n)},e.prototype.erf=function(e){var t=new Or(e.shape,'\\n  // Error function is calculated approximately with elementary function.\\n  // See \"Handbook of Mathematical Functions with Formulas,\\n  // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\\n  float p = 0.3275911;\\n  float a1 = 0.254829592;\\n  float a2 = -0.284496736;\\n  float a3 = 1.421413741;\\n  float a4 = -1.453152027;\\n  float a5 = 1.061405429;\\n\\n  float t = 1.0 / (1.0 + p * x);\\n  return 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x);\\n');return this.compileAndRun(t,[e])},e.prototype.step=function(e,t){var n=new Or(e.shape,function(e){return void 0===e&&(e=0),Pr+\"\\n    return x > 0.0 ? 1.0 : float(\"+e+\");\\n  \"}(t));return this.compileAndRun(n,[e])},e.prototype.conv2d=function(e,t,n){var r=new Pt(n);return this.compileAndRun(r,[e,t])},e.prototype.conv2dDerInput=function(e,t,n){var r=new Tt(n);return this.compileAndRun(r,[e,t])},e.prototype.conv2dDerFilter=function(e,t,n){var r=new kt(n);return this.compileAndRun(r,[e,t])},e.prototype.depthwiseConv2D=function(e,t,n){var r=new Bt(n);return this.compileAndRun(r,[e,t])},e.prototype.depthwiseConv2DDerInput=function(e,t,n){var r=new Ot(n);return this.compileAndRun(r,[e,t])},e.prototype.depthwiseConv2DDerFilter=function(e,t,n){var r=new Ft(n);return this.compileAndRun(r,[e,t])},e.prototype.maxPool=function(e,t){var n=new vr(t,\"max\",!1),r=this.makeOutputArray(n.outputShape,e.dtype);return this.compileAndRun(n,[e],r)},e.prototype.avgPool=function(e,t){var n=new vr(t,\"avg\",!1),r=this.makeOutputArray(n.outputShape,\"float32\");return this.compileAndRun(n,[e],r)},e.prototype.maxPoolBackprop=function(e,t,n,r){var i=new vr(r,\"max\",!0),o=this.compileAndRun(i,[t]),s=new dr(r),a=this.makeOutputArray(s.outputShape,t.dtype),u=this.compileAndRun(s,[e,o],a);return o.dispose(),u},e.prototype.avgPoolBackprop=function(e,t,n){var r=new Dt(n),i=this.makeOutputArray(r.outputShape,t.dtype);return this.compileAndRun(r,[e],i)},e.prototype.cast=function(e,t){return vt(e,t,this)},e.prototype.reshape=function(e,t){return yt(e,t)},e.prototype.resizeBilinear=function(e,t,n,r){var i=new _r(e.shape,t,n,r);return this.compileAndRun(i,[e])},e.prototype.resizeBilinearBackprop=function(e,t,n){var r=new br(e,t,n);return this.compileAndRun(r,[e])},e.prototype.resizeNearestNeighbor=function(e,t,n,r){var i=new wr(e.shape,t,n,r);return this.compileAndRun(i,[e])},e.prototype.resizeNearestNeighborBackprop=function(e,t,n){var r=new Cr(e,t,n);return this.compileAndRun(r,[e])},e.prototype.multinomial=function(e,t,n,r){var i=t?e:Ge(e),o=i.shape[0],s=i.shape[1],a=new fr(o,s,n),u=this.makeOutputArray(a.outputShape,\"int32\"),l=a.getCustomSetupFunc(r);return this.compileAndRun(a,[i],u,l)},e.prototype.oneHot=function(e,t,n,r){var i=new gr(e.size,t,n,r);return this.compileAndRun(i,[e])},e.prototype.nonMaxSuppression=function(e,t,n,r,i){return ye(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\"),bt(e.dataSync(),t.dataSync(),n,r,i)},e.prototype.makeOutputArray=function(e,t){return $.make(e,{},t)},e.prototype.compileAndRun=function(e,t,n,r,i){var o=this;void 0===i&&(i=!0),null==n&&(n=this.makeOutputArray(e.outputShape,t[0].dtype));var s=t.map(function(e){var t=o.texData.get(e.dataId);return null==t.texture&&e.size<=32?{tensor:e,texData:null,isUniform:!0}:(o.uploadToGPU(e.dataId),{tensor:e,texData:t,isUniform:!1})});this.uploadToGPU(n.dataId);var a,u={tensor:n,texData:this.texData.get(n.dataId),isUniform:!1},l=function(e,t,n){var r=\"\";t.concat(n).forEach(function(e){r+=e.tensor.shape+\"_\"+(e.isUniform?\"uniform\":e.texData.texShape)});var i=e.userCode,o=(!0===e.supportsBroadcasting).toString();return e.constructor.name+\"_\"+o+\"_\"+r+\"_\"+i}(e,s,u),c=this.getAndSaveBinary(l,function(){return function(e,t,n,r){for(var i=t.userCode,o=n.map(function(e,n){var r={logicalShape:e.tensor.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform};return{name:t.variableNames[n],shapeInfo:r}}),s=o.map(function(e){return e.shapeInfo}),a={logicalShape:r.tensor.shape,texShape:r.texData.texShape,isUniform:!1},u=Rt(o,a,i,!0===t.supportsBroadcasting),l=e.createProgram(u),c={},h=0;h<t.variableNames.length;h++){var d=t.variableNames[h];c[d]=e.getUniformLocation(l,d,!1)}return{program:t,source:u,webGLProgram:l,uniformLocations:c,gpgpu:e,inShapeInfos:s,outShapeInfo:a}}(o.gpgpu,e,s,u)}),h=null!=this.activeTimers;if(h&&(a=this.startTimer()),function(e,t,n,r){lr(e.inShapeInfos,t),lr([e.outShapeInfo],[n]);var i=n.texData.texture,o=n.texData.texShape,s=e.gpgpu;s.setOutputMatrixTexture(i,o[0],o[1]),s.setProgram(e.webGLProgram),t.forEach(function(t,n){var r=e.program.variableNames[n],i=e.uniformLocations[r];if(null!=i){if(t.isUniform){if(1===t.tensor.size)s.gl.uniform1f(i,t.tensor.dataSync()[0]);else{var o=t.tensor.dataSync();o instanceof Float32Array||(o=new Float32Array(o)),s.gl.uniform1fv(i,o)}return}var a=t.texData.texture;s.setInputMatrixTexture(a,i,n)}}),null!=r&&r(s,e.webGLProgram),s.executeProgram()}(c,s,u,r),i&&this.numBytesInGPU>this.NUM_BYTES_BEFORE_PAGING)for(var d=this.numBytesInGPU-this.NUM_BYTES_BEFORE_PAGING;d>0&&this.lruDataGPU.length>0;){var p=this.lruDataGPU.shift(),f=this.texData.get(p),g=f.shape,m=f.dtype;d-=this.computeBytes(g,m),this.read(p)}return h&&(a=this.endTimer(a),this.activeTimers.push(this.getQueryTime(a))),n},e.prototype.getAndSaveBinary=function(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]},e.prototype.getTextureManager=function(){return this.textureManager},e.prototype.dispose=function(){if(!this.disposed){for(var e in this.binaryCache)this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram);this.textureManager.dispose(),this.canvas.remove(),null!=this.fromPixelsCanvas&&this.fromPixelsCanvas.remove(),this.gpgpuCreatedLocally&&this.gpgpu.dispose(),this.disposed=!0}},e.prototype.throwIfNoData=function(e){if(!this.texData.has(e))throw new Error(\"WebGL backend: No data found for this tensor. Did you change your backend in the middle of the program? New backends can't use Tensors created with previous backends\")},e.prototype.uploadToGPU=function(e){this.throwIfNoData(e);var t=this.texData.get(e),n=t.shape,r=t.values,i=t.texture,o=(t.dtype,t.usage);if(null==i){var s,a=null!=this.activeTimers;a&&(s=performance.now());var u=Rn(this.gpgpu.gl,n);t.texShape=u;var l=this.acquireTexture(e,u,o);t.texture=l,null!=r&&(this.gpgpu.uploadMatrixToTexture(l,u[0],u[1],function(e,t){return e instanceof Float32Array?e:new Float32Array(e)}(r)),t.values=null,a&&(this.uploadWaitMs+=performance.now()-s))}else this.lruDataGPU.indexOf(e)>=0&&(this.lruDataGPU.splice(this.lruDataGPU.indexOf(e),1),this.lruDataGPU.push(e))},e.prototype.cacheOnCPU=function(e,t){var n=this.delayedStorage,r=this.texData.get(e),i=r.texture,o=r.texShape,s=r.dtype,a=r.usage;n&&null!=i&&(this.releaseTexture(e,i,o,a),r.texture=null,r.texShape=null),null!=t&&(r.values=function(e,t){if(\"float32\"===t)return e;if(\"int32\"===t||\"bool\"===t){for(var n=\"int32\"===t?new Int32Array(e.length):new Uint8Array(e.length),r=0;r<n.length;++r)n[r]=Math.round(e[r]);return n}throw new Error(\"Unknown dtype \"+t)}(t,s))},e.prototype.releaseTexture=function(e,t,n,r){var i=this.texData.get(e),o=i.shape,s=i.dtype,a=this.lruDataGPU.indexOf(e);a>=0&&this.lruDataGPU.splice(a,1),this.numBytesInGPU-=this.computeBytes(o,s),this.textureManager.releaseTexture(t,n,r)},e.prototype.acquireTexture=function(e,t,n){var r=this.texData.get(e),i=r.shape,o=r.dtype;return this.lruDataGPU.push(e),this.numBytesInGPU+=this.computeBytes(i,o),this.textureManager.acquireTexture(t,n)},e.prototype.computeBytes=function(e,t){return b(e)*T(t)},e}();me.get(\"IS_BROWSER\")&&me.registerBackend(\"webgl\",function(){return new Pi},2,J);var Bi=Ze({abs_:function(e){var t=Ue(e,\"x\",\"abs\");return me.engine.runKernel(function(e){return e.abs(t)},{$x:t},function(e){return{$x:function(){return e.mulStrict(t.toFloat().step(-1))}}})}}),Ri=Ze({acos_:function(e){var t=Ue(e,\"x\",\"acos\");return me.engine.runKernel(function(e){return e.acos(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(qe(1).sub(t.toFloat().square()).sqrt()).neg()}}})}}),ji=Ze({acosh_:function(e){var t=Ue(e,\"x\",\"acosh\");return me.engine.runKernel(function(e){return e.acosh(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.toFloat().square().sub(qe(1)).sqrt())}}})}}),zi=Ze({asin_:function(e){var t=Ue(e,\"x\",\"asin\");return me.engine.runKernel(function(e){return e.asin(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(qe(1).sub(t.toFloat().square()).sqrt())}}})}}),Wi=Ze({asinh_:function(e){var t=Ue(e,\"x\",\"asinh\");return me.engine.runKernel(function(e){return e.asinh(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(qe(1).add(t.toFloat().square()).sqrt())}}})}}),Vi=Ze({atan_:function(e){var t=Ue(e,\"x\",\"atan\");return me.engine.runKernel(function(e){return e.atan(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(qe(1).add(t.toFloat().square()))}}})}}),Hi=Ze({atanh_:function(e){var t=Ue(e,\"x\",\"atanh\");return me.engine.runKernel(function(e){return e.atanh(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(qe(1).sub(t.toFloat().square()))}}})}}),Ui=Ze({ceil_:function(e){var t=Ue(e,\"x\",\"ceil\");return me.engine.runKernel(function(e){return e.ceil(t)},{$x:t},function(e){return{$x:function(){return pt(e)}}})}}),Yi=Ze({clipByValue_:function(e,t,n){var r=Ue(e,\"x\",\"clipByValue\");return f(t<=n,\"Error in clip: min (\"+t+\") must be less than or equal to max (\"+n+\").\"),me.engine.runKernel(function(e){return e.clip(r,t,n)},{$x:r},function(e){return{$x:function(){return e.where(r.greaterEqual(qe(t)).logicalAnd(r.lessEqual(qe(n))),pt(e))}}})}}),Zi=Ze({cos_:function(e){var t=Ue(e,\"x\",\"cos\");return me.engine.runKernel(function(e){return e.cos(t)},{$x:t},function(e){return{$x:function(){return t.toFloat().sin().neg().mulStrict(e)}}})}}),Gi=Ze({cosh_:function(e){var t=Ue(e,\"x\",\"cosh\");return me.engine.runKernel(function(e){return e.cosh(t)},{$x:t},function(e){return{$x:function(){return t.toFloat().sinh().mulStrict(e)}}})}}),Ki=Ze({erf_:function(e){var t=Ue(e,\"x\",\"erf\");return f(\"int32\"===t.dtype||\"float32\"===t.dtype,\"Input dtype must be `int32` or `float32`.\"),\"int32\"===t.dtype&&(t=t.toFloat()),me.engine.runKernel(function(e){return e.erf(t)},{$x:t},function(e){return{$x:function(){return e.mulStrict(qe(2/Math.sqrt(Math.PI)).mul(t.square().neg().exp()))}}})}}),qi=Ze({exp_:function(e){var t=Ue(e,\"x\",\"exp\");return me.engine.runKernel(function(e,n){return n(e.exp(t))},{$x:t},function(e,t){var n=t[0];return{$x:function(){return e.mulStrict(n)}}})}}),Qi=Ze({expm1_:function(e){var t=Ue(e,\"x\",\"expm1\");return me.engine.runKernel(function(e){return e.expm1(t)},{$x:t},function(e){return{$x:function(){return e.mulStrict(t.exp())}}})}}),Xi=Ze({floor_:function(e){var t=Ue(e,\"x\",\"floor\");return me.engine.runKernel(function(e){return e.floor(t)},{$x:t},function(e){return{$x:function(){return pt(e)}}})}}),Ji=Ze({log_:function(e){var t=Ue(e,\"x\",\"log\");return me.engine.runKernel(function(e){return e.log(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.toFloat())}}})}}),$i=Ze({log1p_:function(e){var t=Ue(e,\"x\",\"log1p\");return me.engine.runKernel(function(e){return e.log1p(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.add(qe(1)))}}})}}),eo=Ze({logSigmoid_:function(e){var t=Ue(e,\"x\",\"logSigmoid\");return me.engine.runKernel(function(e){return e.softplus(t.neg()).neg()},{$x:t},function(e){return{$x:function(){return e.mulStrict(t.neg().sigmoid())}}})}}),to=Ze({neg_:function(e){var t=Ue(e,\"x\",\"neg\");return me.engine.runKernel(function(e){return e.neg(t)},{$x:t},function(e){return{$x:function(){return e.neg()}}})}}),no=Ze({reciprocal_:function(e){var t=Ue(e,\"x\",\"reciprocal\");return me.engine.runKernel(function(e){return e.reciprocal(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.square().neg())}}})}}),ro=Ze({round_:function(e){var t=Ue(e,\"x\",\"round\");return me.engine.runKernel(function(e){return e.round(t)},{$x:t},function(e){return{$x:function(){return pt(e)}}})}}),io=Ze({rsqrt_:function(e){var t=Ue(e,\"x\",\"rsqrt\");return me.engine.runKernel(function(e){return e.rsqrt(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.pow(qe(1.5)).mul(qe(2))).neg()}}})}}),oo=Ze({sigmoid_:function(e){var t=Ue(e,\"x\",\"sigmoid\");return me.engine.runKernel(function(e,n){return n(e.sigmoid(t))},{$x:t},function(e,t){var n=t[0];return{$x:function(){return e.mulStrict(n.mul(qe(1).sub(n)))}}})}}),so=Ze({sign_:function(e){var t=Ue(e,\"x\",\"sign\");return me.engine.runKernel(function(e){return e.sign(t)},{$x:t},function(e){return{$x:function(){return pt(e)}}})}}),ao=Ze({sin_:function(e){var t=Ue(e,\"x\",\"sin\");return me.engine.runKernel(function(e){return e.sin(t)},{$x:t},function(e){return{$x:function(){return t.toFloat().cos().mulStrict(e)}}})}}),uo=Ze({sinh_:function(e){var t=Ue(e,\"x\",\"sinh\");return me.engine.runKernel(function(e){return e.sinh(t)},{$x:t},function(e){return{$x:function(){return t.toFloat().cosh().mulStrict(e)}}})}}),lo=Ze({softplus_:function(e){var t=Ue(e,\"x\",\"softplus\");return me.engine.runKernel(function(e){return e.softplus(t)},{$x:t},function(e){return{$x:function(){return e.mulStrict(t.sigmoid())}}})}}),co=Ze({sqrt_:function(e){var t=Ue(e,\"x\",\"sqrt\");return me.engine.runKernel(function(e){return e.sqrt(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.toFloat().sqrt().mul(qe(2)))}}})}}),ho=Ze({square_:function(e){var t=Ue(e,\"x\",\"square\");return me.engine.runKernel(function(e){return e.square(t)},{$x:t},function(e){return{$x:function(){return e.mulStrict(t.toFloat().mul(qe(2)))}}})}}),po=Ze({step_:function(e,t){void 0===t&&(t=0);var n=Ue(e,\"x\",\"step\");return me.engine.runKernel(function(e){return e.step(n,t)},{$x:n},function(e){return{$x:function(){return pt(e)}}})}}),fo=Ze({tan_:function(e){var t=Ue(e,\"x\",\"tan\");return me.engine.runKernel(function(e){return e.tan(t)},{$x:t},function(e){return{$x:function(){return e.divStrict(t.cos().square())}}})}}),go=Ze({tanh_:function(e){var t=Ue(e,\"x\",\"tanh\");return me.engine.runKernel(function(e,n){return n(e.tanh(t))},{$x:t},function(e,t){var n=t[0];return{$x:function(){return qe(1).sub(n.square()).mulStrict(e)}}})}});function mo(e){return null==e?null:0===e.rank?e.as1D():1===e.rank?e:2===e.rank?e.as4D(1,1,e.shape[0],e.shape[1]):3===e.rank?e.as4D(1,e.shape[0],e.shape[1],e.shape[2]):e}var vo=Ze({batchNormalization2d_:function(e,t,n,r,i,o){void 0===r&&(r=.001);var s,a,u=Ue(e,\"x\",\"batchNormalization\"),l=Ue(t,\"mean\",\"batchNormalization\"),c=Ue(n,\"variance\",\"batchNormalization\");return null!=i&&(s=Ue(i,\"scale\",\"batchNormalization\")),null!=o&&(a=Ue(o,\"offset\",\"batchNormalization\")),f(2===u.rank,\"Error in batchNormalization3D: x must be rank 3 but got rank \"+u.rank+\".\"),f(2===l.rank||1===l.rank,\"Error in batchNormalization2D: mean must be rank 2 or rank 1 but got rank \"+l.rank+\".\"),f(2===c.rank||1===c.rank,\"Error in batchNormalization2D: variance must be rank 2 or rank 1 but got rank \"+c.rank+\".\"),null!=s&&f(2===s.rank||1===s.rank,\"Error in batchNormalization2D: scale must be rank 2 or rank 1 but got rank \"+s.rank+\".\"),null!=a&&f(2===a.rank||1===a.rank,\"Error in batchNormalization2D: offset must be rank 2 or rank 1 but got rank \"+a.rank+\".\"),_o(u,l,c,r,s,a)}}),yo=Ze({batchNormalization3d_:function(e,t,n,r,i,o){void 0===r&&(r=.001);var s,a,u=Ue(e,\"x\",\"batchNormalization\"),l=Ue(t,\"mean\",\"batchNormalization\"),c=Ue(n,\"variance\",\"batchNormalization\");return null!=i&&(s=Ue(i,\"scale\",\"batchNormalization\")),null!=o&&(a=Ue(o,\"offset\",\"batchNormalization\")),f(3===u.rank,\"Error in batchNormalization3D: x must be rank 3 but got rank \"+u.rank+\".\"),f(3===l.rank||1===l.rank,\"Error in batchNormalization3D: mean must be rank 3 or rank 1 but got rank \"+l.rank+\".\"),f(3===c.rank||1===c.rank,\"Error in batchNormalization3D: variance must be rank 3 or rank 1 but got rank \"+c.rank+\".\"),null!=s&&f(3===s.rank||1===s.rank,\"Error in batchNormalization3D: scale must be rank 3 or rank 1 but got rank \"+s.rank+\".\"),null!=a&&f(3===a.rank||1===a.rank,\"Error in batchNormalization3D: offset must be rank 3 or rank 1 but got rank \"+a.rank+\".\"),_o(u,l,c,r,s,a)}}),bo=Ze({batchNormalization4d_:function(e,t,n,r,i,o){void 0===r&&(r=.001);var s,a,u=Ue(e,\"x\",\"batchNormalization\"),l=Ue(t,\"mean\",\"batchNormalization\"),c=Ue(n,\"variance\",\"batchNormalization\");return null!=i&&(s=Ue(i,\"scale\",\"batchNormalization\")),null!=o&&(a=Ue(o,\"offset\",\"batchNormalization\")),f(4===u.rank,\"Error in batchNormalization4D: x must be rank 4 but got rank \"+u.rank+\".\"),f(4===l.rank||1===l.rank,\"Error in batchNormalization4D: mean must be rank 4 or rank 1 but got rank \"+l.rank+\".\"),f(4===c.rank||1===c.rank,\"Error in batchNormalization4D: variance must be rank 4 or rank 1 but got rank \"+c.rank+\".\"),null!=s&&f(4===s.rank||1===s.rank,\"Error in batchNormalization4D: scale must be rank 4 or rank 1 but got rank \"+s.rank+\".\"),null!=a&&f(4===a.rank||1===a.rank,\"Error in batchNormalization4D: offset must be rank 4 or rank 1 but got rank \"+a.rank+\".\"),_o(u,l,c,r,s,a)}}),_o=Ze({batchNormalization_:function(e,t,n,r,i,o){void 0===r&&(r=.001);var s,a,u,l=Ue(e,\"x\",\"batchNormalization\"),c=Ue(t,\"mean\",\"batchNormalization\"),h=Ue(n,\"variance\",\"batchNormalization\");return null!=i&&(s=Ue(i,\"scale\",\"batchNormalization\")),null!=o&&(a=Ue(o,\"offset\",\"batchNormalization\")),f(c.rank===h.rank,\"Batch normalization gradient requires mean and variance to have equal ranks.\"),f(null==a||c.rank===a.rank,\"Batch normalization gradient requires mean and offset to have equal ranks.\"),f(null==s||c.rank===s.rank,\"Batch normalization gradient requires mean and scale to have equal ranks.\"),u=0===l.rank||1===l.rank?l.as4D(1,1,1,l.size):2===l.rank?l.as4D(1,1,l.shape[0],l.shape[1]):3===l.rank?l.as4D(1,l.shape[0],l.shape[1],l.shape[2]):l,me.engine.runKernel(function(e){return e.batchNormalization(u,mo(c),mo(h),r,mo(s),mo(a))},{$x:l,$mean:c,$variance:h,$scale:s,$offset:a},function(e){var t=null==s?qe(1):s,n=At(c.shape,u.shape),i=[];if(1===c.rank){for(var o=0;o<u.shape.length-1;++o)i.push(u.shape[o]);i.push(1)}var a=l.sub(c),d=e.mul(t),p=io(h.add(qe(r))),f=p.mul(p).mul(p).mul(qe(-.5));return{$x:function(){return 1===c.rank?e.mul(Ni(p.as4D(1,1,1,c.shape[0]),i)).mul(t).reshape(l.shape):e.mul(p).mul(t).reshape(l.shape)},$mean:function(){var e=p.mul(qe(-1)).mul(d);return 1===c.rank&&(e=e.sum(n)),e.reshape(c.shape)},$variance:function(){var e=f.mul(a).mul(d);return 1===c.rank&&(e=e.sum(n)),e.reshape(c.shape)},$scale:function(){var t=a.mul(p),r=e.mul(t);return 1===c.rank&&(r=r.sum(n)),r.reshape(c.shape)},$offset:function(){var t=e;return 1===c.rank&&(t=t.sum(n)),t.reshape(c.shape)}}}).reshape(l.shape)}});function Co(e,t,n,r,i,o){void 0===o&&(o=\"channelsLast\");var s,a=Do(t),u=a[0],l=a[1];if(\"channelsLast\"===o)s=[u,l,e[3],e[3]];else{if(\"channelsFirst\"!==o)throw new Error(\"Unknown dataFormat \"+o);s=[u,l,e[1],e[1]]}return wo(e,s,n,1,r,i,!1,o)}function wo(e,t,n,r,i,o,s,a){void 0===s&&(s=!1),void 0===a&&(a=\"channelsLast\");var u=[-1,-1,-1,-1],l=u[0],c=u[1],h=u[2],d=u[3];if(\"channelsLast\"===a)l=e[0],c=e[1],h=e[2],d=e[3];else{if(\"channelsFirst\"!==a)throw new Error(\"Unknown dataFormat \"+a);l=e[0],d=e[1],c=e[2],h=e[3]}var p,g=t[0],m=t[1],v=t[3],y=Do(n),b=y[0],_=y[1],w=Do(r),D=w[0],E=w[1],A=function(e,t,n,r,i,o,s,a){var u,l,c;if(\"number\"==typeof e){u={top:e,bottom:e,left:e,right:e,type:0===e?\"VALID\":\"NUMBER\"};var h=function(e,t,n,r,i,o){null==i&&(i=function(e,t,n,r){void 0===r&&(r=1);var i=Eo(t,r);return Math.floor((e[0]*(n-1)-n+i)/2)}(e,t,r));var s=e[0],a=e[1],u=Ao((s-t+2*i)/r+1,o);f(C(u),\"The output # of rows (\"+u+\") must be an integer. Change the stride and/or zero pad parameters\");var l=Ao((a-t+2*i)/r+1,o);return f(C(l),\"The output # of columns (\"+l+\") must be an integer. Change the stride and/or zero pad parameters\"),[u,l,n]}([t,n,1],o,1,r,e,a);l=h[0],c=h[1]}else if(\"same\"===e){var d=((l=Math.ceil(t/r))-1)*r+o-t,p=((c=Math.ceil(n/i))-1)*i+s-n,g=Math.floor(d/2),m=d-g,v=Math.floor(p/2);u={top:g,bottom:m,left:v,right:p-v,type:\"SAME\"}}else{if(\"valid\"!==e)throw Error(\"Unknown padding parameter: \"+e);u={top:0,bottom:0,left:0,right:0,type:\"VALID\"},l=Math.ceil((t-o+1)/r),c=Math.ceil((n-s+1)/i)}return{padInfo:u,outHeight:l,outWidth:c}}(i,c,h,b,_,Eo(g,D),Eo(m,E),o),S=A.padInfo,x=A.outHeight,M=A.outWidth,N=s?v*d:v;return\"channelsFirst\"===a?p=[l,N,x,M]:\"channelsLast\"===a&&(p=[l,x,M,N]),{batchSize:l,dataFormat:a,inHeight:c,inWidth:h,inChannels:d,outHeight:x,outWidth:M,outChannels:N,padInfo:S,strideHeight:b,strideWidth:_,filterHeight:g,filterWidth:m,dilationHeight:D,dilationWidth:E,inShape:e,outShape:p,filterShape:t}}function Do(e){return\"number\"==typeof e?[e,e]:e}function Eo(e,t){return t<=1?e:e+(e-1)*(t-1)}function Ao(e,t){if(!t)return e;switch(t){case\"round\":return Math.round(e);case\"ceil\":return Math.ceil(e);case\"floor\":return Math.floor(e);default:throw new Error(\"Unknown roundingMode \"+t)}}function So(e,t,n,r,i,o){f(e.length===t.rank,\"Length of inShape (\"+e.length+\") and rank of dy (\"+t.rank+\") must match\");var s=e,a=t,u=!1;3===t.rank&&(u=!0,a=t.as4D(1,t.shape[0],t.shape[1],t.shape[2]),s=[1,e[0],e[1],e[2]]);var l=s[3],c=a.shape[3];f(4===s.length,\"Error in conv2dDerInput: inShape must be length 4, but got length \"+s.length+\".\"),f(4===a.rank,\"Error in conv2dDerInput: dy must be rank 4, but got rank \"+a.rank),f(4===n.rank,\"Error in conv2dDerInput: filter must be rank 4, but got rank \"+n.rank),f(l===n.shape[2],\"Error in conv2dDerInput: depth of input (\"+l+\") must match input depth for filter \"+n.shape[2]+\".\"),f(c===n.shape[3],\"Error in conv2dDerInput: depth of output (\"+c+\") must match output depth for filter \"+n.shape[3]+\".\"),null!=o&&f(C(i),\"Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode \"+o+\" but got pad \"+i+\".\");var h=wo(s,n.shape,r,1,i,o),d=me.engine.runKernel(function(e){return e.conv2dDerInput(a,n,h)},{dy4D:a});return u?d.as3D(d.shape[1],d.shape[2],d.shape[3]):d}function xo(e){var t=function(e){return\"number\"==typeof e?[e,e]:e}(e),n=t[0],r=t[1];return 1===n&&1===r}function Mo(e,t){return xo(e)||xo(t)}var No=Ze({conv1d_:function(e,t,n,r,i,o,s){void 0===i&&(i=\"NWC\"),void 0===o&&(o=1);var a=Ue(e,\"x\",\"conv1d\"),u=Ue(t,\"filter\",\"conv1d\"),l=a,c=!1;2===a.rank&&(c=!0,l=a.as3D(1,a.shape[0],a.shape[1])),f(3===l.rank,\"Error in conv1d: input must be rank 3, but got rank \"+l.rank+\".\"),f(3===u.rank,\"Error in conv1d: filter must be rank 3, but got rank \"+u.rank+\".\"),null!=s&&f(C(r),\"Error in conv1d: pad must be an integer when using, dimRoundingMode \"+s+\" but got pad \"+r+\".\"),f(l.shape[2]===u.shape[1],\"Error in conv1d: depth of input (\"+l.shape[2]+\") must match input depth for filter \"+u.shape[1]+\".\"),f(Mo(n,o),\"Error in conv1D: Either stride or dilation must be 1. Got stride \"+n+\" and dilation '\"+o+\"'\"),f(\"NWC\"===i,\"Error in conv1d: got dataFormat of \"+i+\" but only NWC is currently supported.\");var h=u.as4D(1,u.shape[0],u.shape[1],u.shape[2]),d=l.as4D(l.shape[0],1,l.shape[1],l.shape[2]),p=Io(d,h,[1,n],r,\"NHWC\",[1,o],s);return c?p.as2D(p.shape[2],p.shape[3]):p.as3D(p.shape[0],p.shape[2],p.shape[3])}}),Io=Ze({conv2d_:function(e,t,n,r,i,o,s){void 0===i&&(i=\"NHWC\"),void 0===o&&(o=[1,1]);var a=Ue(e,\"x\",\"conv2d\"),u=Ue(t,\"filter\",\"conv2d\"),l=a,c=!1;3===a.rank&&(c=!0,l=a.as4D(1,a.shape[0],a.shape[1],a.shape[2])),f(4===l.rank,\"Error in conv2d: input must be rank 4, but got rank \"+l.rank+\".\"),f(4===u.rank,\"Error in conv2d: filter must be rank 4, but got rank \"+u.rank+\".\"),null!=s&&f(C(r),\"Error in conv2d: pad must be an integer when using, dimRoundingMode \"+s+\" but got pad \"+r+\".\"),f(l.shape[3]===u.shape[2],\"Error in conv2d: depth of input (\"+l.shape[3]+\") must match input depth for filter \"+u.shape[2]+\".\"),f(Mo(n,o),\"Error in conv2D: Either strides or dilations must be 1. Got strides \"+n+\" and dilations '\"+o+\"'\"),f(\"NHWC\"===i,\"Error in conv2d: got dataFormat of \"+i+\" but only NHWC is currently supported.\");var h=wo(l.shape,u.shape,n,o,r,s),d=me.engine.runKernel(function(e){return e.conv2d(l,u,h)},{x:l,$filter:u},function(e){return f(xo(o),\"Error in gradient of conv2D: dilation rates greater than 1 are notyet supported in gradients. Got dilations '\"+o+\"'\"),{x:function(){return So(l.shape,e,u,n,r)},$filter:function(){return function(e,t,n,r,i,o){var s=e;3===e.rank&&(s=e.as4D(1,e.shape[0],e.shape[1],e.shape[2]));var a=t;3===a.rank&&(a=t.as4D(1,t.shape[0],t.shape[1],t.shape[2])),f(4===s.rank,\"Error in conv2dDerFilter: input must be rank 4, but got shape \"+s.shape+\".\"),f(4===a.rank,\"Error in conv2dDerFilter: dy must be rank 4, but got shape \"+a.shape+\".\"),f(4===n.length,\"Error in conv2dDerFilter: filterShape must be length 4, but got \"+n+\".\"),f(s.shape[3]===n[2],\"Error in conv2dDerFilter: depth of input \"+s.shape[3]+\") must match input depth in filter (\"+n[2]+\".\"),f(a.shape[3]===n[3],\"Error in conv2dDerFilter: depth of dy (\"+a.shape[3]+\") must match output depth for filter (\"+n[3]+\").\"),null!=o&&f(C(i),\"Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode \"+o+\" but got pad \"+i+\".\");var u=wo(s.shape,n,r,1,i,o);return me.engine.runKernel(function(e){return e.conv2dDerFilter(s,a,u)},{x4D:s,dy4D:a})}(l,e,u.shape,n,r)}}});return c?d.as3D(d.shape[1],d.shape[2],d.shape[3]):d}}),Lo=Ze({depthwiseConv2d_:function(e,t,n,r,i,o,s){void 0===i&&(i=\"NHWC\"),void 0===o&&(o=[1,1]);var a=Ue(e,\"x\",\"depthwiseConv2d\"),u=Ue(t,\"filter\",\"depthwiseConv2d\"),l=a,c=!1;3===a.rank&&(c=!0,l=a.as4D(1,a.shape[0],a.shape[1],a.shape[2])),f(4===l.rank,\"Error in depthwiseConv2d: input must be rank 4, but got rank \"+l.rank+\".\"),f(4===u.rank,\"Error in depthwiseConv2d: filter must be rank 4, but got rank \"+u.rank+\".\"),f(l.shape[3]===u.shape[2],\"Error in depthwiseConv2d: number of input channels (\"+l.shape[3]+\") must match the inChannels dimension in filter \"+u.shape[2]+\".\"),null==o&&(o=[1,1]),f(Mo(n,o),\"Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides \"+n+\" and dilations '\"+o+\"'\"),null!=s&&f(C(r),\"Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode \"+s+\" but got pad \"+r+\".\");var h=wo(l.shape,u.shape,n,o,r,s,!0),d=me.engine.runKernel(function(e){return e.depthwiseConv2D(l,u,h)},{x:l,$filter:u},function(e){return f(xo(o),\"Error in gradient of depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '\"+o+\"'\"),{x:function(){return function(e,t,n,r){var i=t,o=!1;3===t.rank&&(o=!0,i=t.as4D(1,t.shape[0],t.shape[1],t.shape[2]));var s=me.engine.runKernel(function(e){return e.depthwiseConv2DDerInput(i,n,r)},{dy4D:i});return o?s.as3D(s.shape[1],s.shape[2],s.shape[3]):s}(l.shape,e,u,h)},$filter:function(){return function(e,t,n,r){var i=e;3===e.rank&&(i=e.as4D(1,e.shape[0],e.shape[1],e.shape[2]));var o=t;return 3===o.rank&&(o=t.as4D(1,t.shape[0],t.shape[1],t.shape[2])),me.engine.runKernel(function(e){return e.depthwiseConv2DDerFilter(i,o,r)},{x4D:i,dy4D:o})}(l,e,u.shape,h)}}});return c?d.as3D(d.shape[1],d.shape[2],d.shape[3]):d}}),ko=Ze({separableConv2d_:function(e,t,n,r,i,o,s){void 0===o&&(o=[1,1]),void 0===s&&(s=\"NHWC\");var a=Ue(e,\"x\",\"separableConv2d\"),u=Ue(t,\"depthwiseFilter\",\"separableConv2d\"),l=Ue(n,\"pointwiseFilter\",\"separableConv2d\"),c=a,h=!1;if(3===a.rank&&(h=!0,c=a.as4D(1,a.shape[0],a.shape[1],a.shape[2])),\"NCHW\"===s)throw new Error(\"separableConv2d currently does not support dataFormat NCHW; only NHWC is supported\");f(4===c.rank,\"Error in separableConv2d: input must be rank 4, but got rank \"+c.rank+\".\"),f(4===u.rank,\"Error in separableConv2d: depthwise filter must be rank 4, but got rank \"+u.rank+\".\"),f(4===l.rank,\"Error in separableConv2d: pointwise filter must be rank 4, but got rank \"+u.rank+\".\"),f(1===l.shape[0],\"Error in separableConv2d: the first dimension of pointwise filter  must be 1, but got \"+l.shape[0]+\".\"),f(1===l.shape[1],\"Error in separableConv2d: the second dimension of pointwise filter  must be 1, but got \"+l.shape[1]+\".\");var d=u.shape[2],p=u.shape[3];f(l.shape[2]===d*p,\"Error in separableConv2d: the third dimension of pointwise filter must be \"+d*p+\", but got \"+l.shape[2]+\".\");var g=Lo(c,u,r,i,s,o),m=Io(g,l,1,\"valid\",s);return h?m.as3D(m.shape[1],m.shape[2],m.shape[3]):m}}),To=Ze({conv2dTranspose_:function(e,t,n,r,i,o){return So(n,Ue(e,\"x\",\"conv2dTranspose\"),Ue(t,\"filter\",\"conv2dTranspose\"),r,i,o)}});var Fo=Ze({matMul_:function(e,t,n,r){void 0===n&&(n=!1),void 0===r&&(r=!1);var i=Ue(e,\"a\",\"matMul\"),o=Ue(t,\"b\",\"matMul\"),s=n?i.shape[0]:i.shape[1],a=r?o.shape[1]:o.shape[0];return f(2===i.rank&&2===o.rank,\"Error in matMul: inputs must be rank 2, got ranks \"+i.rank+\" and \"+o.rank+\".\"),f(s===a,\"Error in matMul: inner shapes (\"+s+\") and (\"+a+\") of Tensors with shapes \"+i.shape+\" and \"+o.shape+\" and transposeA=\"+n+\" and transposeB=\"+r+\" must match.\"),me.engine.runKernel(function(e){return e.matMul(i,o,n,r)},{$a:i,$b:o},function(e){return n||r?!n&&r?{$a:function(){return e.matMul(o.toFloat(),!1,!1)},$b:function(){return e.matMul(i.toFloat(),!0,!1)}}:n&&!r?{$a:function(){return o.toFloat().matMul(e,!1,!0)},$b:function(){return i.toFloat().matMul(e,!1,!1)}}:{$a:function(){return o.toFloat().matMul(e,!0,!0)},$b:function(){return e.matMul(i.toFloat(),!0,!0)}}:{$a:function(){return e.matMul(o.toFloat(),!1,!0)},$b:function(){return i.toFloat().matMul(e,!0,!1)}}})}}),Oo=Ze({dot_:function(e,t){var n=Ue(e,\"t1\",\"dot\"),r=Ue(t,\"t2\",\"dot\");f(!(1!==n.rank&&2!==n.rank||1!==r.rank&&2!==r.rank),\"Error in dot: inputs must all be rank 1 or 2, but got ranks \"+n.rank+\" and \"+r.rank+\".\");var i=1===n.rank?n.size:n.shape[1],o=1===r.rank?r.size:r.shape[0];return f(i===o,\"Error in dot: inner dimensions of inputs must match, but got \"+i+\" and \"+o+\".\"),1===n.rank&&1===r.rank?n.as2D(1,-1).matMul(r.as2D(-1,1)).asScalar():1===n.rank&&2===r.rank?n.as2D(1,-1).matMul(r.as2D(r.shape[0],r.shape[1])).as1D():2===n.rank&&1===r.rank?n.matMul(r.as2D(-1,1)).as1D():n.matMul(r.as2D(r.shape[0],r.shape[1]))}}),Po=Ze({outerProduct_:function(e,t){var n=Ue(e,\"v1\",\"outerProduct\"),r=Ue(t,\"v2\",\"outerProduct\");return f(1===n.rank&&1===r.rank,\"Error in outerProduct: inputs must be rank 1, but got ranks \"+n.rank+\" and \"+r.rank+\".\"),n.as2D(-1,1).matMul(r.as2D(1,-1))}});var Bo=Ze({reverse_:function(e,t){var n=Ue(e,\"x\",\"reverse\");if(0===n.rank)return n.clone();var r=xe(t,n.shape);return me.engine.runKernel(function(e){return e.reverse(n,r)},{$x:n},function(e){return{$x:function(){return e.reverse(r)}}}).reshapeAs(n)}}),Ro=Ze({reverse1d_:function(e){var t=Ue(e,\"x\",\"reverse\");return f(1===t.rank,\"Error in reverse1D: x must be rank 1 but got\\n             rank \"+t.rank+\".\"),Bo(t,0)}}),jo=Ze({reverse2d_:function(e,t){var n=Ue(e,\"x\",\"reverse\");return f(2===n.rank,\"Error in reverse2D: x must be rank 2 but got\\n             rank \"+n.rank+\".\"),Bo(n,t)}}),zo=Ze({reverse3d_:function(e,t){var n=Ue(e,\"x\",\"reverse\");return f(3===n.rank,\"Error in reverse3D: x must be rank 3 but got\\n             rank \"+n.rank+\".\"),Bo(n,t)}}),Wo=Ze({reverse4d_:function(e,t){var n=Ue(e,\"x\",\"reverse\");return f(4===n.rank,\"Error in reverse4D: x must be rank 4 but got\\n             rank \"+n.rank+\".\"),Bo(n,t)}});var Vo=Ze({maxPool_:function(e,t,n,r,i){var o=Ue(e,\"x\",\"maxPool\"),s=o,a=!1;3===o.rank&&(a=!0,s=o.as4D(1,o.shape[0],o.shape[1],o.shape[2])),f(4===s.rank,\"Error in maxPool: input must be rank 4 but got rank \"+s.rank+\".\"),null!=i&&f(C(r),\"Error in maxPool: pad must be an integer when using, dimRoundingMode \"+i+\" but got pad \"+r+\".\");var u=Co(s.shape,t,n,r,i),l=me.engine.runKernel(function(e,t){return t(e.maxPool(s,u))},{x:s},function(e,i){var o=i[0];return{x:function(){return function(e,t,n,r,i,o,s){var a=Ue(e,\"dy\",\"maxPoolBackprop\"),u=Ue(t,\"input\",\"maxPoolBackprop\"),l=Ue(n,\"output\",\"maxPoolBackprop\");f(u.rank===a.rank,\"Rank of input (\"+u.rank+\") does not match rank of dy (\"+a.rank+\")\"),f(4===a.rank,\"Error in maxPoolBackprop: dy must be rank 4 but got rank \"+a.rank+\".\"),f(4===u.rank,\"Error in maxPoolBackprop: input must be rank 4 but got rank \"+u.rank+\".\"),null!=s&&f(C(o),\"Error in maxPoolBackprop: pad must be an integer when using, dimRoundingMode \"+s+\" but got pad \"+o+\".\");var c=Co(u.shape,r,i,o,s);return me.engine.runKernel(function(e){return e.maxPoolBackprop(a,u,l,c)},{$dy:a,$input:u})}(e,s,o,t,n,r)}}});return a?l.as3D(l.shape[1],l.shape[2],l.shape[3]):l}}),Ho=Ze({avgPool_:function(e,t,n,r,i){var o=Ue(e,\"x\",\"avgPool\");f(\"float32\"===o.dtype,\"The input dtype to avgPool must be float32\");var s=o,a=!1;3===o.rank&&(a=!0,s=o.as4D(1,o.shape[0],o.shape[1],o.shape[2])),f(4===s.rank,\"Error in avgPool: x must be rank 4 but got rank \"+s.rank+\".\"),null!=i&&f(C(r),\"Error in avgPool: pad must be an integer when using, dimRoundingMode \"+i+\" but got pad \"+r+\".\");var u=Co(s.shape,t,n,r),l=me.engine.runKernel(function(e){return e.avgPool(s,u)},{x:s},function(e){return{x:function(){return function(e,t,n,r,i){var o=Ue(e,\"dy\",\"avgPoolBackprop\"),s=Ue(t,\"input\",\"avgPoolBackprop\");f(s.rank===o.rank,\"Rank of input (\"+s.rank+\") does not match rank of dy (\"+o.rank+\")\");var a=s,u=o,l=!1;3===s.rank&&(l=!0,a=s.as4D(1,s.shape[0],s.shape[1],s.shape[2]),u=o.as4D(1,o.shape[0],o.shape[1],o.shape[2])),f(4===u.rank,\"Error in avgPoolBackprop: dy must be rank 4 but got rank \"+u.rank+\".\"),f(4===a.rank,\"Error in avgPoolBackprop: input must be rank 4 but got rank \"+a.rank+\".\");var c=Co(a.shape,n,r,i),h=me.engine.runKernel(function(e){return e.avgPoolBackprop(u,a,c)},{dy4D:u,input4D:a});return l?h.as3D(h.shape[1],h.shape[2],h.shape[3]):h}(e,s,t,n,r)}}});return l=l.cast(o.dtype),a?l.as3D(l.shape[1],l.shape[2],l.shape[3]):l}});var Uo=Ze({slice_:function(e,t,n){var r,i,o=Ue(e,\"x\",\"slice\");if(0===o.rank)throw new Error(\"Slicing scalar is not possible\");r=\"number\"==typeof t?[t].concat(new Array(o.rank-1).fill(0)):t.length<o.rank?t.concat(new Array(o.rank-t.length).fill(0)):t,i=(i=null==n?new Array(o.rank).fill(-1):\"number\"==typeof n?[n].concat(new Array(o.rank-1).fill(-1)):n.length<o.rank?n.concat(new Array(o.rank-n.length).fill(-1)):n).map(function(e,t){return e>=0?e:(f(-1===e,\"Bad value in size\"),o.shape[t]-r[t])}),function(e,t,n){f(e.rank===t.length,\"Error in slice\"+e.rank+\"D: Length of begin \"+t+\" must match the rank of the array (\"+e.rank+\").\"),f(e.rank===n.length,\"Error in slice\"+e.rank+\"D: Length of size \"+n+\" must match the rank of the array (\"+e.rank+\").\");for(var r=0;r<e.rank;++r)f(t[r]+n[r]<=e.shape[r],\"Error in slice\"+e.rank+\"D: begin[\"+r+\"] + size[\"+r+\"] (\"+(t[r]+n[r])+\") would overflow input.shape[\"+r+\"] (\"+e.shape[r]+\")\")}(o,r,i);var s=o.shape;return me.engine.runKernel(function(e){return e.slice(o,r,i)},{$x:o},function(e){for(var t=[],n=0;n<e.rank;n++)t.push([r[n],s[n]-r[n]-i[n]]);return{$x:function(){return e.pad(t)}}})}}),Yo=Ze({slice1d_:function(e,t,n){var r=Ue(e,\"x\",\"slice1d\");return f(1===r.rank,\"slice1d expects a rank-1 tensor, but got a rank-\"+r.rank+\" tensor\"),Uo(r,[t],[n])}}),Zo=Ze({slice2d_:function(e,t,n){var r=Ue(e,\"x\",\"slice2d\");return f(2===r.rank,\"slice1d expects a rank-2 tensor, but got a rank-\"+r.rank+\" tensor\"),Uo(r,t,n)}}),Go=Ze({slice3d_:function(e,t,n){var r=Ue(e,\"x\",\"slice3d\");return f(3===r.rank,\"slice1d expects a rank-3 tensor, but got a rank-\"+r.rank+\" tensor\"),Uo(r,t,n)}}),Ko=Ze({slice4d_:function(e,t,n){var r=Ue(e,\"x\",\"slice4d\");return f(4===r.rank,\"slice1d expects a rank-4 tensor, but got a rank-\"+r.rank+\" tensor\"),Uo(r,t,n)}}),qo=ge.tidy,Qo=ge.keep,Xo=ge.dispose,Jo=ge.time;var $o=Ze({all_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"all\",\"bool\");f(\"bool\"===r.dtype,\"Error Tensor must be of type bool. Got: \"+r.dtype);var i=xe(t,r.shape),o=i,s=Ne(o,r.rank);null!=s&&(r=r.transpose(s),o=Le(o.length,r.rank));var a=me.engine.runKernel(function(e){return e.all(r,o)},{$x:r});if(n){var u=Se(a.shape,i);return a.reshape(u)}return a}}),es=Ze({any_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"any\",\"bool\");f(\"bool\"===r.dtype,\"Error Tensor must be of type bool. Got: \"+r.dtype);var i=xe(t,r.shape),o=i,s=Ne(o,r.rank);null!=s&&(r=r.transpose(s),o=Le(o.length,r.rank));var a=me.engine.runKernel(function(e){return e.any(r,o)},{$x:r});if(n){var u=Se(a.shape,i);return a.reshape(u)}return a}}),ts=Ze({argMax_:function(e,t){void 0===t&&(t=0);var n=Ue(e,\"x\",\"argMax\");null==t&&(t=0);var r=xe(t,n.shape),i=Ne(r,n.rank);return null!=i&&(n=n.transpose(i),r=Le(r.length,n.rank)),me.engine.runKernel(function(e){return e.argMax(n,r[0])},{$x:n})}}),ns=Ze({argMin_:function(e,t){void 0===t&&(t=0);var n=Ue(e,\"x\",\"argMin\");null==t&&(t=0);var r=xe(t,n.shape),i=Ne(r,n.rank);return null!=i&&(n=n.transpose(i),r=Le(r.length,n.rank)),me.engine.runKernel(function(e){return e.argMin(n,r[0])},{$x:n})}}),rs=Ze({logSumExp_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"logSumExp\"),i=xe(t,r.shape),o=r.max(i,!0),s=r.sub(o).exp().sum(i).log(),a=o.reshape(s.shape).add(s);if(n){var u=Se(a.shape,i);return a.reshape(u)}return a}}),is=Ze({max_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"max\"),i=xe(t,r.shape),o=i,s=Ne(o,r.rank);null!=s&&(r=r.transpose(s),o=Le(o.length,r.rank));var a=me.engine.runKernel(function(e){return e.max(r,o)},{$x:r});if(n){var u=Se(a.shape,i);return a.reshape(u)}return a}}),os=Ze({mean_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"mean\"),i=xe(t,r.shape),o=b(Ae(r.shape,i)[1]);return Ve(function(e){var r=qe(o);return{value:(r.dtype===e.dtype?e:e.cast(r.dtype)).div(r).sum(t,n),gradFunc:function(t){var n=e.shape.slice();return i.forEach(function(e){n[e]=1}),t.reshape(n).mul(nt(e.shape,\"float32\")).div(r)}}})(r)}}),ss=Ze({min_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"min\"),i=xe(t,r.shape),o=i,s=Ne(o,r.rank);null!=s&&(r=r.transpose(s),o=Le(o.length,r.rank));var a=me.engine.runKernel(function(e){return e.min(r,o)},{$x:r});if(n){var u=Se(a.shape,i);return a.reshape(u)}return a}}),as=Ze({moments_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=xe(t,(e=Ue(e,\"x\",\"moments\")).shape),i=e.mean(r,n),o=i.shape;return n||(o=Se(i.shape,r)),{mean:i,variance:e.toFloat().sub(i.reshape(o)).square().mean(r,n)}}}),us=Ze({sum_:function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);var r=Ue(e,\"x\",\"sum\");\"bool\"===r.dtype&&(r=r.toInt());var i=xe(t,r.shape);return Ve(function(e){var t=Ne(i,e.rank),r=i,o=e;null!=t&&(o=e.transpose(t),r=Le(r.length,e.rank));var s=me.engine.runKernel(function(e){return e.sum(o,r)},{permutedX:o});if(n){var a=Se(s.shape,i);s=s.reshape(a)}return{value:s,gradFunc:function(t){var n=e.shape.slice();return i.forEach(function(e){n[e]=1}),t.reshape(n).mul(nt(e.shape,\"float32\"))}}})(r)}});var ls=Ze({equal_:function(e,t){var n=Ue(e,\"a\",\"equal\"),r=Ue(t,\"b\",\"equal\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.equal(n,r)},{$a:n,$b:r})}}),cs=Ze({equalStrict_:function(e,t){var n=Ue(e,\"a\",\"equalStrict\"),r=Ue(t,\"b\",\"equalStrict\");return g(n.shape,r.shape,\"Error in equalStrict: \"),n.equal(r)}}),hs=Ze({greater_:function(e,t){var n=Ue(e,\"a\",\"greater\"),r=Ue(t,\"b\",\"greater\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.greater(n,r)},{$a:n,$b:r})}}),ds=Ze({greaterEqual_:function(e,t){var n=Ue(e,\"a\",\"greaterEqual\"),r=Ue(t,\"b\",\"greaterEqual\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.greaterEqual(n,r)},{$a:n,$b:r})}}),ps=Ze({greaterEqualStrict_:function(e,t){var n=Ue(e,\"a\",\"greaterEqualStrict\"),r=Ue(t,\"b\",\"greaterEqualStrict\");return g(n.shape,r.shape,\"Error in greaterEqualStrict: \"),n.greaterEqual(r)}}),fs=Ze({greaterStrict_:function(e,t){var n=Ue(e,\"a\",\"greaterStrict\"),r=Ue(t,\"b\",\"greaterStrict\");return g(n.shape,r.shape,\"Error in greaterStrict: \"),n.greater(r)}}),gs=Ze({less_:function(e,t){var n=Ue(e,\"a\",\"less\"),r=Ue(t,\"b\",\"less\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.less(n,r)},{$a:n,$b:r})}}),ms=Ze({lessEqual_:function(e,t){var n=Ue(e,\"a\",\"lessEqual\"),r=Ue(t,\"b\",\"lessEqual\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.lessEqual(n,r)},{$a:n,$b:r})}}),vs=Ze({lessEqualStrict_:function(e,t){var n=Ue(e,\"a\",\"lessEqualStrict\"),r=Ue(t,\"b\",\"lessEqualStrict\");return g(n.shape,r.shape,\"Error in lessEqualStrict: \"),n.lessEqual(r)}}),ys=Ze({lessStrict_:function(e,t){var n=Ue(e,\"a\",\"lessStrict\"),r=Ue(t,\"b\",\"lessStrict\");return g(n.shape,r.shape,\"Error in lessStrict: \"),n.less(r)}}),bs=Ze({notEqual_:function(e,t){var n=Ue(e,\"a\",\"notEqual\"),r=Ue(t,\"b\",\"notEqual\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.notEqual(n,r)},{$a:n,$b:r})}}),_s=Ze({notEqualStrict_:function(e,t){var n=Ue(e,\"a\",\"notEqualStrict\"),r=Ue(t,\"b\",\"notEqualStrict\");return g(n.shape,r.shape,\"Error in notEqualStrict: \"),n.notEqual(r)}});var Cs=Ze({add_:function(e,t){var n=Ue(e,\"a\",\"add\"),r=Ue(t,\"b\",\"add\");ne(n,r);var i=St(n.shape,r.shape);return me.engine.runKernel(function(e){return e.add(n,r)},{$a:n,$b:r},function(e){return{$a:function(){var t=e,r=At(n.shape,i);return r.length>0&&(t=t.sum(r)),t.reshape(n.shape)},$b:function(){var t=e,n=At(r.shape,i);return n.length>0&&(t=t.sum(n)),t.reshape(r.shape)}}})}}),ws=Ze({addN_:function(e){f(Array.isArray(e),function(){return\"The param passed to tf.addN() must be a list of tensors\"}),f(e.length>=1,function(){return\"Must pass at least one tensor to tf.addN(), but got \"+e.length});var t=e.map(function(e,t){return Ue(e,\"tensors\"+t,\"addN\")}),n=t[0];t.forEach(function(e){if(e.dtype!==n.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),t.forEach(function(e){if(!_(e.shape,n.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});var r=t;return me.engine.runKernel(function(e){return e.addN(t)},r,function(e){var n={};return t.forEach(function(t,r){n[r]=function(){return e.clone()}}),n})}}),Ds=Ze({addStrict_:function(e,t){return g(e.shape,t.shape,\"Error in addStrict: \"),e.add(t)}}),Es=Ze({atan2_:function(e,t){var n=Ue(e,\"a\",\"atan2\"),r=Ue(t,\"b\",\"atan2\");ne(n,r);var i=St(n.shape,r.shape);return me.engine.runKernel(function(e){return e.atan2(n,r)},{$a:n,$b:r},function(e){return{$a:function(){var t=Cs(n.square(),r.square()),o=e.mul(r.div(t)),s=At(n.shape,i);return s.length>0&&(o=o.sum(s)),o.reshape(n.shape)},$b:function(){var t=Cs(n.square(),r.square()),o=to(e.mul(n.div(t))),s=At(r.shape,i);return s.length>0&&(o=o.sum(s)),o.reshape(r.shape)}}})}}),As=Ze({div_:function(e,t){var n,r=Ue(e,\"a\",\"div\"),i=Ue(t,\"b\",\"div\");if(ne(r,i),\"int32\"===r.dtype&&\"int32\"===i.dtype)return xs(r,i);n=function(e){return e.realDivide(r,i)};var o=St(r.shape,i.shape);return me.engine.runKernel(n,{$a:r,$b:i},function(e){return{$a:function(){var t=e.div(i.toFloat()),n=At(r.shape,o);return n.length>0?t.sum(n).reshape(r.shape):t},$b:function(){var t=e.mul(r.toFloat()),n=At(i.shape,o);n.length>0&&(t=t.sum(n).reshape(i.shape));var s=i.square();return t.div(s.toFloat()).neg()}}})}}),Ss=Ze({divStrict_:function(e,t){return g(e.shape,t.shape,\"Error in divideStrict: \"),e.div(t)}}),xs=Ze({floorDiv_:function(e,t){var n=Ue(e,\"a\",\"floorDiv\"),r=Ue(t,\"b\",\"floorDiv\");ne(n,r);var i=St(n.shape,r.shape);return me.engine.runKernel(function(e){return e.floorDiv(n,r)},{$a:n,$b:r},function(e){return{$a:function(){var t=e.div(r.toFloat()),o=At(n.shape,i);return o.length>0?t.sum(o).reshape(n.shape):t},$b:function(){var t=e.mul(n.toFloat()),o=At(r.shape,i);o.length>0&&(t=t.sum(o).reshape(r.shape));var s=r.square();return t.div(s.toFloat()).neg()}}})}}),Ms=Ze({maximum_:function(e,t){var n=Ue(e,\"a\",\"maximum\"),r=Ue(t,\"b\",\"maximum\");return ne(n,r),\"bool\"===n.dtype&&(n=n.toInt()),\"bool\"===r.dtype&&(r=r.toInt()),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.maximum(n,r)},{$a:n,$b:r},function(e){return{$a:function(){return e.mul(n.greaterEqual(r).toFloat())},$b:function(){return e.mul(n.less(r).toFloat())}}})}}),Ns=Ze({maximumStrict_:function(e,t){return g(e.shape,t.shape,\"Error in minimumStrict: \"),e.maximum(t)}}),Is=Ze({minimum_:function(e,t){var n=Ue(e,\"a\",\"minimum\"),r=Ue(t,\"b\",\"minimum\");return ne(n,r),\"bool\"===n.dtype&&(n=n.toInt()),\"bool\"===r.dtype&&(r=r.toInt()),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.minimum(n,r)},{$a:n,$b:r},function(e){return{$a:function(){return e.mul(n.lessEqual(r).toFloat())},$b:function(){return e.mul(n.greater(r).toFloat())}}})}}),Ls=Ze({minimumStrict_:function(e,t){return g(e.shape,t.shape,\"Error in minimumStrict: \"),e.minimum(t)}}),ks=Ze({mod_:function(e,t){var n=Ue(e,\"a\",\"mod\"),r=Ue(t,\"b\",\"mod\");ne(n,r);var i=St(n.shape,r.shape);return me.engine.runKernel(function(e){return e.mod(n,r)},{$a:n,$b:r},function(e){return{$a:function(){var t=At(n.shape,i);return t.length>0?e.sum(t).reshape(n.shape):e},$b:function(){var t=e.mul(n.div(r).floor().neg()),o=At(r.shape,i);return o.length>0?t.sum(o).reshape(r.shape):t}}})}}),Ts=Ze({modStrict_:function(e,t){return g(e.shape,t.shape,\"Error in modStrict: \"),e.mod(t)}}),Fs=Ze({mul_:function(e,t){var n=Ue(e,\"a\",\"mul\"),r=Ue(t,\"b\",\"mul\");ne(n,r);var i=St(n.shape,r.shape);return me.engine.runKernel(function(e){return e.multiply(n,r)},{$a:n,$b:r},function(e){return{$a:function(){var t=e.mul(r.toFloat()),o=At(n.shape,i);return o.length>0?t.sum(o).reshape(n.shape):t},$b:function(){var t=e.mul(n.toFloat()),o=At(r.shape,i);return o.length>0?t.sum(o).reshape(r.shape):t}}})}}),Os=Ze({mulStrict_:function(e,t){return g(e.shape,t.shape,\"Error in multiplyStrict: \"),e.mul(t)}}),Ps=Ze({pow_:function(e,t){var n=Ue(e,\"base\",\"pow\"),r=Ue(t,\"exp\",\"pow\"),i=St(n.shape,r.shape);return e=n.cast(gt(n.dtype,r.dtype)),t=r.cast(gt(n.dtype,r.dtype)),me.engine.runKernel(function(e,t){return t(e.pow(n,r))},{$base:n,$exp:r},function(e,t){var o=t[0];return{$base:function(){var t=e.mul(r.toFloat().mul(o.div(n))),s=At(n.shape,i);return s.length>0&&(t=t.sum(s)),t.reshape(n.shape)},$exp:function(){var t=e.mul(o.mul(n.log()).toFloat()),s=At(r.shape,i);return s.length>0&&(t=t.sum(s)),t.reshape(r.shape)}}})}}),Bs=Ze({powStrict_:function(e,t){return g(e.shape,t.shape,\"Error in powStrict: \"),e.pow(t)}}),Rs=Ze({squaredDifference_:function(e,t){var n=Ue(e,\"a\",\"squaredDifference\"),r=Ue(t,\"b\",\"squaredDifference\");return ne(n,r),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.squaredDifference(n,r)},{$a:n,$b:r},function(e){var t=qe(2);return{$a:function(){return e.mul(n.sub(r).mul(t))},$b:function(){return e.mul(r.sub(n).mul(t))}}})}}),js=Ze({squaredDifferenceStrict_:function(e,t){return g(e.shape,t.shape,\"Error in squaredDifferenceStrict: \"),e.squaredDifference(t)}}),zs=Ze({sub_:function(e,t){var n=Ue(e,\"a\",\"sub\"),r=Ue(t,\"b\",\"sub\");ne(n,r);var i=St(n.shape,r.shape);return me.engine.runKernel(function(e){return e.subtract(n,r)},{$a:n,$b:r},function(e){return{$a:function(){var t=e,r=At(n.shape,i);return r.length>0&&(t=t.sum(r)),t.reshape(n.shape)},$b:function(){var t=e,n=At(r.shape,i);return n.length>0&&(t=t.sum(n)),t.neg().reshape(r.shape)}}})}}),Ws=Ze({subStrict_:function(e,t){return g(e.shape,t.shape,\"Error in subStrict: \"),e.sub(t)}});var Vs=Ze({logicalAnd_:function(e,t){var n=Ue(e,\"a\",\"logicalAnd\",\"bool\"),r=Ue(t,\"b\",\"logicalAnd\",\"bool\");return f(\"bool\"===n.dtype&&\"bool\"===r.dtype,\"Error Array must be of type bool.\"),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.logicalAnd(n,r)},{$a:n,$b:r})}}),Hs=Ze({logicalNot_:function(e){var t=Ue(e,\"x\",\"logicalNot\",\"bool\");return f(\"bool\"===t.dtype,\"Error Array must be of type bool.\"),me.engine.runKernel(function(e){return e.logicalNot(t)},{$x:t})}}),Us=Ze({logicalOr_:function(e,t){var n=Ue(e,\"a\",\"logicalOr\",\"bool\"),r=Ue(t,\"b\",\"logicalOr\",\"bool\");return f(\"bool\"===n.dtype&&\"bool\"===r.dtype,\"Error Array must be of type bool.\"),St(n.shape,r.shape),me.engine.runKernel(function(e){return e.logicalOr(n,r)},{$a:n,$b:r})}}),Ys=Ze({logicalXor_:function(e,t){var n=Ue(e,\"a\",\"logicalXor\",\"bool\"),r=Ue(t,\"b\",\"logicalXor\",\"bool\");return f(\"bool\"===n.dtype&&\"bool\"===r.dtype,\"Error Array must be of type bool.\"),St(n.shape,r.shape),Us(e,t).logicalAnd(Vs(e,t).logicalNot())}}),Zs=Ze({where_:function(e,t,n){var r=Ue(t,\"a\",\"where\"),i=Ue(n,\"b\",\"where\"),o=Ue(e,\"condition\",\"where\",\"bool\");return f(\"bool\"===o.dtype,\"Error Condition must be of type bool.\"),g(r.shape,i.shape,\"Error in where: \"),1===o.rank?f(o.shape[0]===r.shape[0],\"The first dimension of `a` must match the size of `condition`.\"):g(o.shape,i.shape,\"Error in where: \"),me.engine.runKernel(function(e){return e.select(o,r,i)},{$condition:o,$a:r,$b:i},function(e){return{$condition:function(){return pt(o)},$a:function(){return e.mul(o.cast(r.dtype))},$b:function(){return e.mul(o.logicalNot().cast(i.dtype))}}})}}),Gs=function(e){return l(this,void 0,void 0,function(){var t,n,r;return c(this,function(i){switch(i.label){case 0:return f(\"bool\"===(t=Ue(e,\"condition\",\"where\",\"bool\")).dtype,\"Condition must be of type bool.\"),[4,t.data()];case 1:return n=i.sent(),r=Fi(t.shape,n),e!==t&&t.dispose(),[2,r]}})})};var Ks=Ze({elu_:function(e){var t=Ue(e,\"x\",\"elu\");return me.engine.runKernel(function(e,n){return n(e.elu(t))},{$x:t},function(e,t){var n=t[0];return{$x:function(){return me.engine.runKernel(function(t){return t.eluDer(e,n)},{dy:e,y:n})}}})}}),qs=Ze({leakyRelu_:function(e,t){void 0===t&&(t=.2);var n=Ue(e,\"x\",\"leakyRelu\");return Ms(qe(t).mul(n),n)}}),Qs=Ze({prelu_:function(e,t){var n=Ue(e,\"x\",\"prelu\"),r=Ue(t,\"alpha\",\"prelu\"),i=qe(0);return Ms(i,n).add(r.mul(Is(i,n)))}}),Xs=Ze({relu_:function(e){var t=Ue(e,\"x\",\"relu\");return\"bool\"===t.dtype?t.toInt():me.engine.runKernel(function(e){return e.relu(t)},{$x:t},function(e){var n=t.step();return{$x:function(){return e.mulStrict(n.toFloat())}}})}}),Js=Ze({selu_:function(e){var t=Ue(e,\"x\",\"selu\");return me.engine.runKernel(function(e){return e.selu(t)},{$x:t},function(e){return{$x:function(){var n=t.greater(qe(0)),r=qe(Tr),i=qe(Fr),o=e.mul(i),s=e.mul(r).mul(t.toFloat().exp());return Zs(n,o,s)}}})}});var $s=Ze({transpose_:function(e,t){var n=Ue(e,\"x\",\"transpose\");return null==t&&(t=n.shape.map(function(e,t){return t}).reverse()),f(n.rank===t.length,\"Error in transpose: rank of input \"+n.rank+\" must match length of perm \"+t+\".\"),t.forEach(function(e){f(e>=0&&e<n.rank,\"All entries in 'perm' must be between 0 and \"+(n.rank-1)+\" but got \"+t)}),n.rank<=1?n.clone():me.engine.runKernel(function(e){return e.transpose(n,t)},{$x:n},function(e){var n=Ie(t);return{$x:function(){return e.transpose(n)}}})}});var ea=Ze({localResponseNormalization_:function(e,t,n,r,i){void 0===t&&(t=5),void 0===n&&(n=1),void 0===r&&(r=1),void 0===i&&(i=.5);var o=Ue(e,\"x\",\"localResponseNormalization\");f(4===o.rank||3===o.rank,\"Error in localResponseNormalization: x must be rank 3 or 4 but got\\n               rank \"+o.rank+\".\"),f(C(t),\"Error in localResponseNormalization: depthRadius must be an integer\\n                     but got depthRadius \"+t+\".\");var s=o,a=!1;3===o.rank&&(a=!0,s=o.as4D(1,o.shape[0],o.shape[1],o.shape[2]));var u=me.engine.runKernel(function(e,o){return o(e.localResponseNormalization4D(s,t,n,r,i))},{x4D:s},function(e,o){var a=o[0];return{x4D:function(){return me.engine.runKernel(function(o){return o.LRNGrad(e,s,a,t,n,r,i)},{})}}});return a?u.as3D(u.shape[1],u.shape[2],u.shape[3]):u}});var ta=Ze({norm_:function(e,t,n,r){void 0===t&&(t=\"euclidean\"),void 0===n&&(n=null),void 0===r&&(r=!1);var i=function e(t,n,r){if(void 0===r&&(r=null),0===t.rank)return t.abs();if(1!==t.rank&&null===r)return e(t.reshape([-1]),n,r);if(1===t.rank||\"number\"==typeof r||r instanceof Array&&1===r.length){if(1===n)return t.abs().sum(r);if(n===1/0)return t.abs().max(r);if(n===-1/0)return t.abs().min(r);if(\"euclidean\"===n||2===n)return t.abs().pow(qe(2,\"int32\")).sum(r).sqrt();throw new Error(\"Error in norm: invalid ord value: \"+n)}if(r instanceof Array&&2===r.length){if(1===n)return t.abs().sum(r[0]).max(r[1]-1);if(n===1/0)return t.abs().sum(r[1]).max(r[0]);if(n===-1/0)return t.abs().sum(r[1]).min(r[0]);if(\"fro\"===n||\"euclidean\"===n)return t.square().sum(r).sqrt();throw new Error(\"Error in norm: invalid ord value: \"+n)}throw new Error(\"Error in norm: invalid axis: \"+r)}(e=Ue(e,\"x\",\"norm\"),t,n),o=i.shape;if(r){var s=xe(n,e.shape);o=Se(i.shape,s)}return i.reshape(o)}});function na(e,t){for(var n=[],r=e;r<t;++r)n.push(r);return n}function ra(e){for(var t=[],n=0;n<e.length;++n)for(var r=0;r<e[n].length;++r)t.push(e[n][r]);return t}var ia=Ze({gather_:function(e,t,n){void 0===n&&(n=0);var r=Ue(e,\"x\",\"gather\"),i=Ue(t,\"indices\",\"gather\",\"int32\");return f(\"int32\"===i.dtype,\"Indices must be of dtype `int32`\"),n=xe(n,r.shape)[0],me.engine.runKernel(function(e){return e.gather(r,i,n)},{$x:r},function(e){return{$x:function(){if(0===n)return oa(e,i,r.shape[n]);var t=r.shape,o=i.size,s=t.slice(0,n),a=s.length,u=t.slice(n,t.length).slice(1),l=u.length,c=na(0,a),h=na(a+1,a+1+l),d=ra([s,[o],u]),p=e.reshape(d),f=i.reshape([o]),g=ra([[a],c,h]),m=p.transpose(g),v=oa(m,f,r.shape[n]),y=Ie(g);return v.transpose(y)}}})}}),oa=Ze({unsortedSegmentSum_:function(e,t,n){var r=Ue(e,\"x\",\"unsortedSegmentSum\"),i=Ue(t,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");return f(\"int32\"===i.dtype,\"segmentIds must be of dtype `int32`\"),f(C(n),\"numSegments must be of dtype int\"),me.engine.runKernel(function(e){return e.unsortedSegmentSum(r,i,n)},{$x:r},function(e){return{$x:function(){return function(e,t){for(var n=Ms(t,pt(t)),r=ia(e,n),i=ds(t,qe(0,\"int32\")),o=r.rank-i.rank,s=0;s<o;++s)i=di(i,s+1);i=Vs(i,nt(r.shape,\"bool\"));var a=pt(r);return Zs(i,r,a)}(e,i)}}})}});var sa=Ze({basicLSTMCell_:function(e,t,n,r,i,o){var s=Ue(e,\"forgetBias\",\"basicLSTMCell\"),a=Ue(t,\"lstmKernel\",\"basicLSTMCell\"),u=Ue(n,\"lstmBias\",\"basicLSTMCell\"),l=Ue(r,\"data\",\"basicLSTMCell\"),c=Ue(i,\"c\",\"basicLSTMCell\"),h=Ue(o,\"h\",\"basicLSTMCell\"),d=l.concat(h,1).matMul(a).add(u),p=d.shape[0],f=d.shape[1]/4,g=[p,f],m=d.slice([0,0],g),v=d.slice([0,f],g),y=d.slice([0,2*f],g),b=d.slice([0,3*f],g),_=m.sigmoid().mulStrict(v.tanh()).addStrict(c.mulStrict(s.add(y).sigmoid()));return[_,_.tanh().mulStrict(b.sigmoid())]}}),aa=Ze({multiRNNCell_:function(e,t,n,r){for(var i=Ue(t,\"data\",\"multiRNNCell\"),o=Ye(n,\"c\",\"multiRNNCell\"),s=Ye(r,\"h\",\"multiRNNCell\"),a=i,u=[],l=0;l<e.length;l++){var c=e[l](a,o[l],s[l]);u.push(c[0]),u.push(c[1]),a=c[1]}var h=[],d=[];for(l=0;l<u.length;l+=2)h.push(u[l]),d.push(u[l+1]);return[h,d]}});var ua=Ze({movingAverage_:function(e,t,n,r,i){void 0===i&&(i=!0);var o=Ue(e,\"v\",\"movingAverage\"),s=Ue(t,\"x\",\"movingAverage\"),a=Ue(n,\"decay\",\"movingAverage\");ne(o,s),f(_(o.shape,s.shape),\"Shape mismatch in v and x\");var u=qe(1),l=u.sub(a),c=s.sub(o).mul(l);if(i){f(null!=r,\"When using zeroDebias: true, step is required.\");var h=Ue(r,\"step\",\"movingAverage\");c=c.div(u.sub(Ps(a,h)))}return o.add(c)}});var la=Ze({stridedSlice_:function(e,t,n,r,i,o){void 0===i&&(i=0),void 0===o&&(o=0);var s=Ue(e,\"x\",\"stridedSlice\");return me.engine.runKernel(function(e){return e.stridedSlice(s,t,n,r,i,o)},{$x:s})}});var ca,ha=Ze({topk_:function(e,t,n){void 0===t&&(t=1),void 0===n&&(n=!0);var r=Ue(e,\"x\",\"topk\");if(0===r.rank)throw new Error(\"topk() expects the input to be of rank 1 or higher\");var i=r.shape[r.shape.length-1];if(t>i)throw new Error(\"'k' passed to topk() must be <= the last dimension (\"+i+\") but got \"+t);var o=me.engine.runKernel(function(e){return e.topk(r,t,n)},{$x:r});return{values:o[0],indices:o[1]}}});!function(e){e[e.NONE=0]=\"NONE\",e[e.MEAN=1]=\"MEAN\",e[e.SUM=2]=\"SUM\",e[e.SUM_BY_NONZERO_WEIGHTS=3]=\"SUM_BY_NONZERO_WEIGHTS\"}(ca||(ca={}));var da=Ze({absoluteDifference_:function(e,t,n,r){void 0===r&&(r=ca.SUM_BY_NONZERO_WEIGHTS);var i=Ue(e,\"labels\",\"absoluteDifference\"),o=Ue(t,\"predictions\",\"absoluteDifference\"),s=null;null!=n&&(s=Ue(n,\"weights\",\"absoluteDifference\")),g(i.shape,o.shape,\"Error in absoluteDifference: \");var a=i.sub(o).abs();return pa(a,s,r)}}),pa=Ze({computeWeightedLoss_:function(e,t,n){void 0===n&&(n=ca.SUM_BY_NONZERO_WEIGHTS);var r=Ue(e,\"losses\",\"computeWeightedLoss\"),i=null;null!=t&&(i=Ue(t,\"weights\",\"computeWeightedLoss\"));var o=null==i?r:r.mul(i);if(n===ca.NONE)return o;if(n===ca.SUM)return o.sum();if(n===ca.MEAN){if(null==i)return o.mean();var s=b(r.shape)/b(i.shape),a=o.sum().div(i.sum());return s>1?a.div(qe(s)):a}if(n===ca.SUM_BY_NONZERO_WEIGHTS){if(null==i)return o.sum().div(qe(r.size));var u=i.mul(nt(r.shape)).notEqual(qe(0)).sum().toFloat();return o.sum().div(u)}throw Error(\"Unknown reduction: \"+n)}}),fa=Ze({cosineDistance_:function(e,t,n,r,i){void 0===i&&(i=ca.SUM_BY_NONZERO_WEIGHTS);var o=Ue(e,\"labels\",\"cosineDistance\"),s=Ue(t,\"predictions\",\"cosineDistance\"),a=null;null!=r&&(a=Ue(r,\"weights\",\"cosineDistance\")),g(o.shape,s.shape,\"Error in cosineDistance: \");var u=qe(1).sub(o.mul(s).sum(n,!0));return pa(u,a,i)}}),ga=Ze({hingeLoss_:function(e,t,n,r){void 0===r&&(r=ca.SUM_BY_NONZERO_WEIGHTS);var i=Ue(e,\"labels\",\"hingeLoss\"),o=Ue(t,\"predictions\",\"hingeLoss\"),s=null;null!=n&&(s=Ue(n,\"weights\",\"hingeLoss\")),g(i.shape,o.shape,\"Error in hingeLoss: \");var a=qe(1);i=qe(2).mul(i).sub(a);var u=a.sub(i.mul(o)).relu();return pa(u,s,r)}}),ma=Ze({huberLoss_:function(e,t,n,r,i){void 0===r&&(r=1),void 0===i&&(i=ca.SUM_BY_NONZERO_WEIGHTS);var o=Ue(e,\"labels\",\"huberLoss\"),s=Ue(t,\"predictions\",\"huberLoss\"),a=null;null!=n&&(a=Ue(n,\"weights\",\"huberLoss\")),g(o.shape,s.shape,\"Error in huberLoss: \");var u=qe(r),l=s.sub(o).abs(),c=Is(l,u),h=l.sub(c),d=qe(.5).mul(c.square()).add(u.mul(h));return pa(d,a,i)}}),va=Ze({logLoss_:function(e,t,n,r,i){void 0===r&&(r=1e-7),void 0===i&&(i=ca.SUM_BY_NONZERO_WEIGHTS);var o=Ue(e,\"labels\",\"logLoss\"),s=Ue(t,\"predictions\",\"logLoss\"),a=null;null!=n&&(a=Ue(n,\"weights\",\"logLoss\")),g(o.shape,s.shape,\"Error in logLoss: \");var u=qe(1),l=qe(r),c=o.mul(s.add(l).log()).neg().sub(u.sub(o).mul(u.sub(s).add(l).log()));return pa(c,a,i)}}),ya=Ze({meanSquaredError_:function(e,t,n,r){void 0===r&&(r=ca.SUM_BY_NONZERO_WEIGHTS);var i=Ue(e,\"labels\",\"meanSquaredError\"),o=Ue(t,\"predictions\",\"meanSquaredError\"),s=null;null!=n&&(s=Ue(n,\"weights\",\"meanSquaredError\")),g(i.shape,o.shape,\"Error in meanSquaredError: \");var a=i.squaredDifference(o);return pa(a,s,r)}}),ba=Ze({sigmoidCrossEntropy_:function(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=ca.SUM_BY_NONZERO_WEIGHTS);var o=Ue(e,\"multiClassLabels\",\"sigmoidCrossEntropy\"),s=Ue(t,\"logits\",\"sigmoidCrossEntropy\"),a=null;if(null!=n&&(a=Ue(n,\"weights\",\"sigmoidCrossEntropy\")),g(o.shape,s.shape,\"Error in sigmoidCrossEntropy: \"),r>0){var u=qe(r),l=qe(1),c=qe(.5);o=o.mul(l.sub(u)).add(c.mul(u))}var h=function(e,t){var n=Ue(e,\"labels\",\"sigmoidCrossEntropyWithLogits\"),r=Ue(t,\"logits\",\"sigmoidCrossEntropyWithLogits\");g(n.shape,r.shape,\"Error in sigmoidCrossEntropyWithLogits: \");var i=r.relu(),o=r.mul(n),s=r.abs().neg().exp().log1p();return i.sub(o).add(s)}(o,s);return pa(h,a,i)}}),_a=Ze({softmaxCrossEntropy_:function(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=ca.SUM_BY_NONZERO_WEIGHTS);var o=Ue(e,\"onehotLabels\",\"softmaxCrossEntropy\"),s=Ue(t,\"logits\",\"softmaxCrossEntropy\"),a=null;if(null!=n&&(a=Ue(n,\"weights\",\"softmaxCrossEntropy\")),g(o.shape,s.shape,\"Error in softmaxCrossEntropy: \"),r>0){var u=qe(r),l=qe(1),c=qe(o.shape[1]);o=o.mul(l.sub(u)).add(u.div(c))}var h=function(e,t,n){if(void 0===n&&(n=-1),-1===n&&(n=t.rank-1),n!==t.rank-1)throw Error(\"Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank \"+t.rank+\" and dim was \"+n);return Ve(function(e,t){var r=t.logSumExp([n],!0),i=t.toFloat().sub(r);return{value:i.mul(e).neg().sum([n]),gradFunc:function(t){var r=Se(t.shape,[n]);return[t.reshape(r).mul(e.toFloat().sub(i.exp())),t.reshape(r).mul(i.exp().sub(e.toFloat()))]}}})(e,t)}(o,s);return pa(h,a,i)}}),Ca=Object.freeze({get Reduction(){return ca},absoluteDifference:da,computeWeightedLoss:pa,cosineDistance:fa,hingeLoss:ga,huberLoss:ma,logLoss:va,meanSquaredError:ya,sigmoidCrossEntropy:ba,softmaxCrossEntropy:_a});function wa(e,t){return void 0===t&&(t=!1),me.engine.tidy(function(){if(2!==e.shape.length)throw new Error(\"qr2d() requires a 2D Tensor, but got a \"+e.shape.length+\"D Tensor.\");for(var n=e.shape[0],r=e.shape[1],i=pi(n),o=e.clone(),s=Xe([[1]],[1,1]),a=s.clone(),u=n>=r?r:n,l=function(e){var t,u=o,l=a,c=i;t=me.engine.tidy(function(){var t=o.slice([e,e],[n-e,1]),u=t.norm(),l=o.slice([e,e],[1,1]),c=l.sign().neg(),h=l.sub(c.mul(u)),d=t.div(h);a=1===d.shape[0]?s.clone():s.concat(d.slice([1,0],[d.shape[0]-1,d.shape[1]]),0);var p=c.matMul(h).div(u).neg(),f=o.slice([e,0],[n-e,r]),g=p.mul(a);o=0===e?f.sub(g.matMul(a.transpose().matMul(f))):o.slice([0,0],[e,r]).concat(f.sub(g.matMul(a.transpose().matMul(f))),0);var m=i.slice([0,e],[n,i.shape[1]-e]);return i=0===e?m.sub(m.matMul(a).matMul(g.transpose())):i.slice([0,0],[n,e]).concat(m.sub(m.matMul(a).matMul(g.transpose())),1),[a,o,i]}),a=t[0],o=t[1],i=t[2],Xo([u,l,c])},c=0;c<u;++c)l(c);return!t&&n>r&&(i=i.slice([0,0],[n,r]),o=o.slice([0,0],[r,r])),[i,o]})}var Da=Ze({gramSchmidt_:function(e){var t;if(Array.isArray(e)){t=!1,f(null!=e&&e.length>0,\"Gram-Schmidt process: input must not be null, undefined, or empty\");for(var n=e[0].shape[0],r=1;r<e.length;++r)f(e[r].shape[0]===n,\"Gram-Schmidt: Non-unique lengths found in the input vectors: (\"+e[r].shape[0]+\" vs. \"+n+\")\")}else t=!0,e=Si(e,e.shape[0],0).map(function(e){return xi(e,[0])});f(e.length<=e[0].shape[0],\"Gram-Schmidt: Number of vectors (\"+e.length+\") exceeds number of dimensions (\"+e[0].shape[0]+\").\");var i=[],o=e,s=function(e){i.push(me.engine.tidy(function(){var t=o[e];if(e>0)for(var n=0;n<e;++n){var r=us(i[n].mulStrict(t)).mul(i[n]);t=t.sub(r)}return t.div(ta(t,\"euclidean\"))}))};for(r=0;r<e.length;++r)s(r);return t?Mi(i,0):i}}),Ea=Ze({qr_:function(e,t){if(void 0===t&&(t=!1),e.rank<2)throw new Error(\"qr() requires input tensor to have a rank >= 2, but got rank \"+e.rank);if(2===e.rank)return wa(e,t);var n=e.shape.slice(0,e.shape.length-2).reduce(function(e,t){return e*t}),r=[],i=[];return Li(e.reshape([n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0).forEach(function(e){var n=wa(e,t),o=n[0],s=n[1];r.push(o),i.push(s)}),[Mi(r,0).reshape(e.shape),Mi(i,0).reshape(e.shape)]}}),Aa=Object.freeze({gramSchmidt:Da,qr:Ea});function Sa(e,t,n,r,i){null==r&&(r=.5),null==i&&(i=Number.NEGATIVE_INFINITY);var o=e.shape[0];return n=Math.min(n,o),f(0<=r&&r<=1,\"iouThreshold must be in [0, 1], but was '\"+r+\"'\"),f(2===e.rank,\"boxes must be a 2D tensor, but was of rank '\"+e.rank+\"'\"),f(4===e.shape[1],\"boxes must have 4 columns, but 2nd dimension was \"+e.shape[1]),f(1===t.rank,\"scores must be a 1D tensor\"),f(t.shape[0]===o,\"scores has incompatible shape with boxes. Expected \"+o+\", but was \"+t.shape[0]),{maxOutputSize:n,iouThreshold:r,scoreThreshold:i}}var xa=Ze({resizeBilinear_:function(e,t,n){void 0===n&&(n=!1);var r=Ue(e,\"images\",\"resizeBilinear\");f(3===r.rank||4===r.rank,\"Error in resizeBilinear: x must be rank 3 or 4, but got rank \"+r.rank+\".\"),f(2===t.length,\"Error in resizeBilinear: new shape must 2D, but got shape \"+t+\".\");var i=r,o=!1;3===r.rank&&(o=!0,i=r.as4D(1,r.shape[0],r.shape[1],r.shape[2]));var s=t[0],a=t[1],u=me.engine.runKernel(function(e,t){return e.resizeBilinear(i,s,a,n)},{batchImages:i},function(e,t){return{batchImages:function(){return me.engine.runKernel(function(t){return t.resizeBilinearBackprop(e,i,n)},{})}}});return o?u.as3D(u.shape[1],u.shape[2],u.shape[3]):u}}),Ma=Ze({resizeNearestNeighbor_:function(e,t,n){void 0===n&&(n=!1);var r=Ue(e,\"images\",\"resizeNearestNeighbor\");f(3===r.rank||4===r.rank,\"Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank \"+r.rank+\".\"),f(2===t.length,\"Error in resizeNearestNeighbor: new shape must 2D, but got shape \"+t+\".\"),f(\"float32\"===r.dtype||\"int32\"===r.dtype,\"`images` must have `int32` or `float32` as dtype\");var i=r,o=!1;3===r.rank&&(o=!0,i=r.as4D(1,r.shape[0],r.shape[1],r.shape[2]));var s=t[0],a=t[1],u=me.engine.runKernel(function(e,t){return e.resizeNearestNeighbor(i,s,a,n)},{batchImages:i},function(e,t){return{batchImages:function(){return me.engine.runKernel(function(t){return t.resizeNearestNeighborBackprop(e,i,n)},{})}}});return o?u.as3D(u.shape[1],u.shape[2],u.shape[3]):u}}),Na=Ze({nonMaxSuppression_:function(e,t,n,r,i){void 0===r&&(r=.5),void 0===i&&(i=Number.NEGATIVE_INFINITY);var o=Ue(e,\"boxes\",\"nonMaxSuppression\"),s=Ue(t,\"scores\",\"nonMaxSuppression\"),a=Sa(o,s,n,r,i);return n=a.maxOutputSize,r=a.iouThreshold,i=a.scoreThreshold,me.engine.runKernel(function(e){return e.nonMaxSuppression(o,s,n,r,i)},{$boxes:o})}}),Ia=function(e,t,n,r,i){return void 0===r&&(r=.5),void 0===i&&(i=Number.NEGATIVE_INFINITY),l(this,void 0,void 0,function(){var o,s,a,u,l,h;return c(this,function(c){switch(c.label){case 0:return o=Ue(e,\"boxes\",\"nonMaxSuppressionAsync\"),s=Ue(t,\"scores\",\"nonMaxSuppressionAsync\"),a=Sa(o,s,n,r,i),n=a.maxOutputSize,r=a.iouThreshold,i=a.scoreThreshold,[4,o.data()];case 1:return u=c.sent(),[4,s.data()];case 2:return l=c.sent(),h=bt(u,l,n,r,i),o!==e&&o.dispose(),s!==t&&s.dispose(),[2,h]}})})},La=Object.freeze({resizeBilinear:xa,resizeNearestNeighbor:Ma,nonMaxSuppression:Na,nonMaxSuppressionAsync:Ia}),ka=Object.freeze({image:La,linalg:Aa,losses:Ca,op:Ze,batchNormalization2d:vo,batchNormalization3d:yo,batchNormalization4d:bo,batchNormalization:_o,concat:Yr,concat1d:Zr,concat2d:Gr,concat3d:Kr,concat4d:qr,conv1d:No,conv2d:Io,depthwiseConv2d:Lo,separableConv2d:ko,conv2dTranspose:To,matMul:Fo,dot:Oo,outerProduct:Po,reverse:Bo,reverse1d:Ro,reverse2d:jo,reverse3d:zo,reverse4d:Wo,maxPool:Vo,avgPool:Ho,slice:Uo,slice1d:Yo,slice2d:Zo,slice3d:Go,slice4d:Ko,abs:Bi,acos:Ri,acosh:ji,asin:zi,asinh:Wi,atan:Vi,atanh:Hi,ceil:Ui,clipByValue:Yi,cos:Zi,cosh:Gi,erf:Ki,exp:qi,expm1:Qi,floor:Xi,log:Ji,log1p:$i,logSigmoid:eo,neg:to,reciprocal:no,round:ro,rsqrt:io,sigmoid:oo,sign:so,sin:ao,sinh:uo,softplus:lo,sqrt:co,square:ho,step:po,tan:fo,tanh:go,all:$o,any:es,argMax:ts,argMin:ns,logSumExp:rs,max:is,mean:os,min:ss,moments:as,sum:us,equal:ls,equalStrict:cs,greater:hs,greaterEqual:ds,greaterEqualStrict:ps,greaterStrict:fs,less:gs,lessEqual:ms,lessEqualStrict:vs,lessStrict:ys,notEqual:bs,notEqualStrict:_s,add:Cs,addN:ws,addStrict:Ds,atan2:Es,div:As,divStrict:Ss,floorDiv:xs,maximum:Ms,maximumStrict:Ns,minimum:Is,minimumStrict:Ls,mod:ks,modStrict:Ts,mul:Fs,mulStrict:Os,pow:Ps,powStrict:Bs,squaredDifference:Rs,squaredDifferenceStrict:js,sub:zs,subStrict:Ws,elu:Ks,leakyRelu:qs,prelu:Qs,relu:Xs,selu:Js,logicalAnd:Vs,logicalNot:Hs,logicalOr:Us,logicalXor:Ys,where:Zs,whereAsync:Gs,buffer:ai,toPixels:si,print:ui,cast:li,clone:ci,cumsum:hi,expandDims:di,eye:pi,fromPixels:fi,multinomial:gi,oneHot:mi,pad:vi,pad1d:yi,pad2d:bi,pad3d:_i,pad4d:Ci,rand:wi,randomNormal:Di,randomUniform:Ei,reshape:Ai,split:Si,squeeze:xi,stack:Mi,tile:Ni,truncatedNormal:Ii,unstack:Li,batchToSpaceND:ki,spaceToBatchND:Ti,fill:it,linspace:ot,ones:nt,range:st,scalar:qe,tensor:Ke,tensor1d:Qe,tensor2d:Xe,tensor3d:Je,tensor4d:$e,tensor5d:et,tensor6d:tt,zeros:rt,onesLike:dt,zerosLike:pt,transpose:$s,softmax:Ge,localResponseNormalization:ea,norm:ta,gather:ia,unsortedSegmentSum:oa,basicLSTMCell:sa,multiRNNCell:aa,movingAverage:ua,stridedSlice:la,topk:ha}),Ta=function(){function e(){this.data=new WeakMap,this.firstUse=!0,me.get(\"IS_BROWSER\")&&(this.canvas=document.createElement(\"canvas\"))}return e.prototype.register=function(e,t,n){if(this.firstUse&&(this.firstUse=!1,me.get(\"IS_NODE\")&&ye(\"\\n============================\\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\\n============================\\n\")),this.data.has(e))throw new Error(\"Data buffer is already registered\");this.data.set(e,null)},e.prototype.write=function(e,t){if(null==t)throw new Error(\"MathBackendCPU.write(): values can not be null\");this.throwIfNoData(e),this.data.set(e,t)},e.prototype.fromPixels=function(e,t){if(null==e)throw new Error(\"pixels passed to tf.fromPixels() can not be null\");var n,r;if(me.get(\"IS_NODE\")&&null==e.getContext)throw new Error(\"When running in node, pixels must be an HTMLCanvasElement like the one returned by the `canvas` npm package\");if(null!=e.getContext)n=e.getContext(\"2d\").getImageData(0,0,e.width,e.height).data;else if(e instanceof ImageData)n=e.data;else{if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement))throw new Error(\"pixels passed to tf.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement or ImageData, but was \"+e.constructor.name);if(null==this.canvas)throw new Error(\"Can't read pixels from HTMLImageElement outside the browser.\");this.canvas.width=e.width,this.canvas.height=e.height,this.canvas.getContext(\"2d\").drawImage(e,0,0,e.width,e.height),n=this.canvas.getContext(\"2d\").getImageData(0,0,e.width,e.height).data}if(4===t)r=new Int32Array(n);else{var i=e.width*e.height;r=new Int32Array(i*t);for(var o=0;o<i;o++)for(var s=0;s<t;++s)r[o*t+s]=n[4*o+s]}return Je(r,[e.height,e.width,t],\"int32\")},e.prototype.read=function(e){return l(this,void 0,void 0,function(){return c(this,function(t){return[2,this.readSync(e)]})})},e.prototype.readSync=function(e){return this.throwIfNoData(e),this.data.get(e)},e.prototype.disposeData=function(e){this.data.has(e)&&this.data.delete(e)},e.prototype.time=function(e){return l(this,void 0,void 0,function(){var t;return c(this,function(n){return t=z(),e(),[2,{kernelMs:z()-t}]})})},e.prototype.memory=function(){return{unreliable:!0}},e.prototype.throwIfNoData=function(e){if(!this.data.has(e))throw new Error(\"CPU backend: No data found for this tensor. Did you change your backend in the middle of the program? New backends can't use Tensors created with previous backends\")},e.prototype.slice=function(e,t,n){for(var r=ai(n,e.dtype),i=0;i<r.size;++i){var o=r.indexToLoc(i),s=o.map(function(e,n){return e+t[n]});r.set.apply(r,[e.get.apply(e,s)].concat(o))}return r.toTensor()},e.prototype.stridedSlice=function(e,t,n,r,i,o){var s=Fe(e.shape,t,n,r,i,o),a=s[0],u=s[1];if(u.some(function(e){return 0===e}))return Ke([],u);for(var l=ai(u,e.dtype),c=0;c<l.size;c++){for(var h=l.indexToLoc(c),d=new Array(h.length),p=0;p<d.length;p++)d[p]=h[p]*r[p]+a[p];l.set.apply(l,[e.get.apply(e,d)].concat(h))}return l.toTensor()},e.prototype.reverse=function(e,t){for(var n=ai(e.shape,e.dtype),r=e.buffer(),i=function(i){var o=n.indexToLoc(i),s=o.slice();t.forEach(function(t){return s[t]=e.shape[t]-1-s[t]}),n.set.apply(n,[r.get.apply(r,s)].concat(o))},o=0;o<n.size;o++)i(o);return n.toTensor()},e.prototype.concat=function(e,t){var n=It(e.shape,t.shape,1),r=ai(n,e.dtype);if(1===e.shape[0]&&1===t.shape[0]){var i=e.dataSync(),o=t.dataSync(),s=r.values;return s.set(i,0),s.set(o,e.size),r.toTensor()}for(var a=0;a<n[0];++a){for(var u=0;u<e.shape[1];++u)r.set(e.get(a,u),a,u);for(u=0;u<t.shape[1];++u)r.set(t.get(a,u),a,u+e.shape[1])}return r.toTensor()},e.prototype.neg=function(e){return this.multiply(qe(-1),e)},e.prototype.add=function(e,t){return this.broadcastedBinaryOp(e,t,gt(e.dtype,t.dtype),function(e,t){return e+t})},e.prototype.addN=function(e){for(var t=e.map(function(e){return e.dataSync()}),n=ai(e[0].shape,e[0].dtype),r=n.values,i=0;i<e.length;i++)for(var o=t[i],s=0;s<r.length;s++)r[s]+=o[s];return n.toTensor()},e.prototype.subtract=function(e,t){return this.broadcastedBinaryOp(e,t,gt(e.dtype,t.dtype),function(e,t){return e-t})},e.prototype.pow=function(e,t){return this.broadcastedBinaryOp(e,t,e.dtype,function(e,t){return Math.pow(e,t)})},e.prototype.matMul=function(e,t,n,r){for(var i=n?e.shape[0]:e.shape[1],o=n?e.shape[1]:e.shape[0],s=r?t.shape[0]:t.shape[1],a=e.dataSync(),u=t.dataSync(),l=n?[1,e.strides[0]]:[e.strides[0],1],c=l[0],h=l[1],d=r?[t.strides[0],1]:[1,t.strides[0]],p=d[0],f=d[1],g=o*c,m=s*p,v=new Float32Array(o*s),y=0,b=0;b<g;b+=c)for(var _=0;_<m;_+=p){for(var C=b,w=_,D=0,E=0;E<i;++E)D+=a[C]*u[w],C+=h,w+=f;v[y++]=D}return Xe(v,[o,s])},e.prototype.multiply=function(e,t){return this.broadcastedBinaryOp(e,t,gt(e.dtype,t.dtype),function(e,t){return e*t})},e.prototype.realDivide=function(e,t){return this.broadcastedBinaryOp(e,t,\"float32\",function(e,t){return e/t})},e.prototype.floorDiv=function(e,t){return this.broadcastedBinaryOp(e,t,\"int32\",function(e,t){return Math.floor(e/t)})},e.prototype.sum=function(e,t){Me(\"sum\",t,e.rank);for(var n=Ae(e.shape,t),r=n[0],i=n[1],o=rt(r,gt(e.dtype,\"int32\")),s=b(i),a=o.dataSync(),u=e.dataSync(),l=0;l<a.length;++l){for(var c=l*s,h=0,d=0;d<s;++d)h+=u[c+d];a[l]=h}return o},e.prototype.unsortedSegmentSum=function(e,t,n){for(var r=[],i=e.rank-t.rank,o=0;o<i;++o)t=t.expandDims(o+1);for(o=0;o<n;++o){var s=qe(o,\"int32\"),a=ls(s,t).asType(\"float32\").mul(e).sum(0);r.push(a)}return Mi(r)},e.prototype.argMin=function(e,t){var n=[t];Me(\"argMin\",n,e.rank);for(var r=Ae(e.shape,n),i=r[0],o=r[1],s=rt(i,\"int32\"),a=b(o),u=s.dataSync(),l=e.dataSync(),c=0;c<u.length;++c){for(var h=c*a,d=l[h],p=0,f=0;f<a;++f){var g=l[h+f];g<d&&(d=g,p=f)}u[c]=p}return s},e.prototype.argMax=function(e,t){var n=[t];Me(\"argMax\",n,e.rank);for(var r=Ae(e.shape,n),i=r[0],o=r[1],s=rt(i,\"int32\"),a=b(o),u=s.dataSync(),l=e.dataSync(),c=0;c<u.length;++c){for(var h=c*a,d=l[h],p=0,f=0;f<a;++f){var g=l[h+f];g>d&&(d=g,p=f)}u[c]=p}return s},e.prototype.cumsum=function(e,t,n,r){if(t!==e.rank-1)throw new Error(\"backend.cumsum in CPU expects an inner-most axis=\"+(e.rank-1)+\" but got axis=\"+t);for(var i=gt(e.dtype,\"int32\"),o=rt(e.shape,i),s=o.dataSync(),a=e.dataSync(),u=e.shape[e.rank-1],l=r?function(e,t){return e+u-t-1}:function(e,t){return e+t},c=0;c<a.length;c+=u)for(var h=0;h<u;h++){var d=l(c,h);if(0===h)s[d]=n?0:a[d];else{var p=l(c,h-1);s[d]=n?a[p]+s[p]:a[d]+s[p]}}return o},e.prototype.equal=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e===t?1:0})},e.prototype.notEqual=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e!==t?1:0})},e.prototype.less=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e<t?1:0})},e.prototype.lessEqual=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e<=t?1:0})},e.prototype.greater=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e>t?1:0})},e.prototype.greaterEqual=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e>=t?1:0})},e.prototype.logicalNot=function(e){for(var t=e.dataSync(),n=new Int32Array(t.length),r=0;r<t.length;++r)n[r]=t[r]?0:1;return $.make(e.shape,{values:n},\"bool\")},e.prototype.logicalAnd=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e&&t})},e.prototype.logicalOr=function(e,t){return this.broadcastedBinaryOp(e,t,\"bool\",function(e,t){return e||t})},e.prototype.select=function(e,t,n){for(var r=e.dataSync(),i=t.dataSync(),o=n.dataSync(),s=rt(t.shape,gt(t.dtype,n.dtype)),a=s.dataSync(),u=0,l=0===e.rank||e.rank>1||1===t.rank?1:t.shape[1],c=0;c<r.length;c++)for(var h=0;h<l;h++)1===r[c]?a[u++]=i[c]:a[u++]=o[c];return s},e.prototype.where=function(e){var t=e.dataSync();return Fi(e.shape,t)},e.prototype.topk=function(e,t,n){return Ct(e.dataSync(),e.shape,e.dtype,t)},e.prototype.min=function(e,t){Me(\"min\",t,e.rank);for(var n=Ae(e.shape,t),r=n[0],i=n[1],o=rt(r,e.dtype),s=b(i),a=o.dataSync(),u=e.dataSync(),l=0;l<a.length;++l){for(var c=l*s,h=u[c],d=0;d<s;++d){var p=u[c+d];p<h&&(h=p)}a[l]=h}return o},e.prototype.minimum=function(e,t){return this.broadcastedBinaryOp(e,t,e.dtype,function(e,t){return Math.min(e,t)})},e.prototype.mod=function(e,t){return this.broadcastedBinaryOp(e,t,e.dtype,function(e,t){var n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t})},e.prototype.max=function(e,t){Me(\"max\",t,e.rank);for(var n=Ae(e.shape,t),r=n[0],i=n[1],o=rt(r,e.dtype),s=b(i),a=o.dataSync(),u=e.dataSync(),l=0;l<a.length;++l){for(var c=l*s,h=u[c],d=0;d<s;++d){var p=u[c+d];p>h&&(h=p)}a[l]=h}return o},e.prototype.maximum=function(e,t){return this.broadcastedBinaryOp(e,t,e.dtype,function(e,t){return Math.max(e,t)})},e.prototype.all=function(e,t){Me(\"all\",t,e.rank);for(var n=Ae(e.shape,t),r=n[0],i=n[1],o=rt(r,e.dtype),s=b(i),a=o.dataSync(),u=e.dataSync(),l=0;l<a.length;++l){for(var c=l*s,h=u[c],d=0;d<s;++d){var p=u[c+d];h=h&&p}a[l]=h}return o},e.prototype.any=function(e,t){Me(\"any\",t,e.rank);for(var n=Ae(e.shape,t),r=n[0],i=n[1],o=rt(r,e.dtype),s=b(i),a=o.dataSync(),u=e.dataSync(),l=0;l<a.length;++l){for(var c=l*s,h=u[c],d=0;d<s;++d){var p=u[c+d];h=h||p}a[l]=h}return o},e.prototype.squaredDifference=function(e,t){return this.broadcastedBinaryOp(e,t,e.dtype,function(e,t){var n=e-t;return n*n})},e.prototype.ceil=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r)n[r]=Math.ceil(t[r]);return $.make(e.shape,{values:n})},e.prototype.floor=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r)n[r]=Math.floor(t[r]);return $.make(e.shape,{values:n})},e.prototype.sign=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r)t[r]<0?n[r]=-1:t[r]>0?n[r]=1:n[r]=0;return $.make(e.shape,{values:n})},e.prototype.round=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r){var i=Math.floor(t[r]);t[r]-i<.5?n[r]=Math.floor(t[r]):t[r]-i>.5?n[r]=Math.ceil(t[r]):n[r]=i%2==0?i:i+1}return $.make(e.shape,{values:n})},e.prototype.exp=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r)n[r]=Math.exp(t[r]);return $.make(e.shape,{values:n})},e.prototype.expm1=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r)n[r]=Math.expm1(t[r]);return $.make(e.shape,{values:n})},e.prototype.log=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r){var i=t[r];n[r]=Math.log(i)}return $.make(e.shape,{values:n})},e.prototype.log1p=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r){var i=t[r];n[r]=Math.log1p(i)}return $.make(e.shape,{values:n})},e.prototype.sqrt=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r){var i=t[r];n[r]=Math.sqrt(i)}return $.make(e.shape,{values:n})},e.prototype.rsqrt=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r){var i=t[r];n[r]=1/Math.sqrt(i)}return $.make(e.shape,{values:n})},e.prototype.square=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r){var i=t[r];n[r]=i*i}return $.make(e.shape,{values:n})},e.prototype.reciprocal=function(e){for(var t=e.dataSync(),n=new Float32Array(t.length),r=0;r<t.length;++r)n[r]=1/t[r];return $.make(e.shape,{values:n})},e.prototype.relu=function(e){for(var t=rt(e.shape,e.dtype),n=t.dataSync(),r=e.dataSync(),i=0;i<r.length;++i)n[i]=Math.max(0,r[i]);return t},e.prototype.elu=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r){var i=n[r];t[r]=i>=0?i:Math.exp(i)-1}return $.make(e.shape,{values:t})},e.prototype.eluDer=function(e,t){for(var n=new Float32Array(t.size),r=t.dataSync(),i=e.dataSync(),o=0;o<r.length;++o){var s=r[o];n[o]=s>=1?i[o]:i[o]*(s+1)}return $.make(t.shape,{values:n})},e.prototype.selu=function(e){for(var t=Tr,n=Fr,r=new Float32Array(e.size),i=e.dataSync(),o=0;o<i.length;++o){var s=i[o];r[o]=s>=0?n*s:t*(Math.exp(s)-1)}return $.make(e.shape,{values:r})},e.prototype.clip=function(e,t,n){for(var r=new Float32Array(e.size),i=e.dataSync(),o=0;o<i.length;++o)r[o]=Math.min(n,Math.max(t,i[o]));return $.make(e.shape,{values:r})},e.prototype.abs=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.abs(n[r]);return $.make(e.shape,{values:t})},e.prototype.int=function(e){for(var t=new Int32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=n[r];return $.make(e.shape,{values:t},\"int32\")},e.prototype.sigmoid=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=1/(1+Math.exp(-n[r]));return $.make(e.shape,{values:t})},e.prototype.softplus=function(e){for(var t=Math.log(1.1920928955078125e-7)+2,n=new Float32Array(e.size),r=e.dataSync(),i=0;i<r.length;++i){var o,s=r[i]>-t,a=r[i]<t,u=Math.exp(r[i]);o=a?u:s?r[i]:Math.log(1+u),n[i]=o}return $.make(e.shape,{values:n})},e.prototype.sin=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.sin(n[r]);return $.make(e.shape,{values:t})},e.prototype.cos=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.cos(n[r]);return $.make(e.shape,{values:t})},e.prototype.tan=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.tan(n[r]);return $.make(e.shape,{values:t})},e.prototype.asin=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.asin(n[r]);return $.make(e.shape,{values:t})},e.prototype.acos=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.acos(n[r]);return $.make(e.shape,{values:t})},e.prototype.atan=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.atan(n[r]);return $.make(e.shape,{values:t})},e.prototype.atan2=function(e,t){return this.broadcastedBinaryOp(e,t,e.dtype,function(e,t){return Math.atan2(e,t)})},e.prototype.sinh=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.sinh(n[r]);return $.make(e.shape,{values:t})},e.prototype.cosh=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.cosh(n[r]);return $.make(e.shape,{values:t})},e.prototype.tanh=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=w(n[r]);return $.make(e.shape,{values:t})},e.prototype.asinh=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.asinh(n[r]);return $.make(e.shape,{values:t})},e.prototype.acosh=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.acosh(n[r]);return $.make(e.shape,{values:t})},e.prototype.atanh=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r)t[r]=Math.atanh(n[r]);return $.make(e.shape,{values:t})},e.prototype.erf=function(e){for(var t=new Float32Array(e.size),n=e.dataSync(),r=0;r<n.length;++r){var i=n[r],o=1/(1+.3275911*i);t[r]=1-((((1.061405429*o-1.453152027)*o+1.421413741)*o-.284496736)*o+.254829592)*o*Math.exp(-i*i)}return $.make(e.shape,{values:t})},e.prototype.step=function(e,t){void 0===t&&(t=0);for(var n=new Float32Array(e.size),r=e.dataSync(),i=0;i<r.length;++i){var o=r[i];isNaN(o)?n[i]=NaN:n[i]=o>0?1:t}return $.make(e.shape,{values:n})},e.prototype.conv2d=function(e,t,n){for(var r=n.filterHeight,i=n.filterWidth,o=n.dilationHeight,s=n.dilationWidth,a=n.padInfo.left,u=n.padInfo.top,l=ai(n.outShape,e.dtype),c=0;c<n.batchSize;++c)for(var h=0;h<n.outChannels;++h)for(var d=0;d<n.outHeight;++d)for(var p=d*n.strideHeight-a,f=0;f<n.outWidth;++f){for(var g=f*n.strideWidth-u,m=0,v=0;v<r;v++){var y=p+v*o;if(!(y<0||y>=n.inHeight))for(var b=0;b<i;b++){var _=g+b*s;if(!(_<0||_>=n.inWidth))for(var C=0;C<n.inChannels;++C)m+=e.get(c,y,_,C)*t.get(v,b,C,h)}}l.set(m,c,d,f,h)}return l.toTensor()},e.prototype.conv2dDerInput=function(e,t,n){for(var r=ai(n.inShape,\"float32\"),i=r.values,o=r.strides,s=o[0],a=o[1],u=o[2],l=e.dataSync(),c=e.strides,h=c[0],d=c[1],p=c[2],f=t.dataSync(),g=t.strides,m=g[0],v=g[1],y=g[2],b=n.batchSize,_=n.filterHeight,C=n.filterWidth,w=n.inChannels,D=n.inHeight,E=n.inWidth,A=n.outChannels,S=n.outHeight,x=n.outWidth,M=n.strideHeight,N=n.strideWidth,I=_-1-n.padInfo.top,L=C-1-n.padInfo.left,k=0;k<b;++k)for(var T=0;T<w;++T)for(var F=0;F<D;++F)for(var O=F-I,P=Math.max(0,Math.ceil(O/M)),B=Math.min(S,(_+O)/M),R=0;R<E;++R){for(var j=R-L,z=Math.max(0,Math.ceil(j/N)),W=Math.min(x,(C+j)/N),V=0,H=P;H<B;++H)for(var U=H*M-O,Y=z;Y<W;++Y)for(var Z=h*k+d*H+p*Y,G=m*(_-1-U)+v*(C-1-(Y*N-j))+y*T,K=0;K<A;++K)V+=l[Z+K]*f[G+K];i[s*k+a*F+u*R+T]=V}return r.toTensor()},e.prototype.conv2dDerFilter=function(e,t,n){for(var r=n.strideHeight,i=n.strideWidth,o=n.filterHeight,s=n.filterWidth,a=ai(n.filterShape,\"float32\"),u=n.padInfo.left,l=n.padInfo.top,c=0;c<o;++c)for(var h=Math.max(0,Math.ceil((l-c)/r)),d=Math.min(n.outHeight,(n.inHeight+l-c)/r),p=0;p<s;++p)for(var f=Math.max(0,Math.ceil((u-p)/i)),g=Math.min(n.outWidth,(n.inWidth+u-p)/i),m=0;m<n.inChannels;++m)for(var v=0;v<n.outChannels;++v){for(var y=0,b=0;b<n.batchSize;++b)for(var _=h;_<d;++_)for(var C=c+_*r-l,w=f;w<g;++w){var D=p+w*i-u;y+=e.get(b,C,D,m)*t.get(b,_,w,v)}a.set(y,c,p,m,v)}return a.toTensor()},e.prototype.depthwiseConv2D=function(e,t,n){for(var r=n.filterHeight,i=n.filterWidth,o=n.dilationHeight,s=n.dilationWidth,a=n.padInfo.left,u=n.padInfo.top,l=n.outChannels/n.inChannels,c=ai(n.outShape,e.dtype),h=0;h<n.batchSize;++h)for(var d=0;d<n.inChannels;++d)for(var p=0;p<n.outHeight;++p)for(var f=p*n.strideHeight-a,g=0;g<n.outWidth;++g)for(var m=g*n.strideWidth-u,v=0;v<l;++v){for(var y=0,b=0;b<r;++b){var _=f+b*o;if(!(_<0||_>=n.inHeight))for(var C=0;C<i;++C){var w=m+C*s;w<0||w>=n.inWidth||(y+=e.get(h,_,w,d)*t.get(b,C,d,v))}}c.set(y,h,p,g,d*l+v)}return c.toTensor()},e.prototype.depthwiseConv2DDerInput=function(e,t,n){for(var r=ai(n.inShape,\"float32\"),i=r.values,o=r.strides,s=o[0],a=o[1],u=o[2],l=e.dataSync(),c=e.strides,h=c[0],d=c[1],p=c[2],f=t.dataSync(),g=t.strides,m=g[0],v=g[1],y=g[2],b=n.batchSize,_=n.filterHeight,C=n.filterWidth,w=n.inChannels,D=n.inHeight,E=n.inWidth,A=n.outChannels,S=n.outHeight,x=n.outWidth,M=n.strideHeight,N=n.strideWidth,I=_-1-n.padInfo.top,L=C-1-n.padInfo.left,k=A/w,T=0;T<b;++T)for(var F=0;F<w;++F)for(var O=0;O<D;++O)for(var P=O-I,B=Math.max(0,Math.ceil(P/M)),R=Math.min(S,(_+P)/M),j=0;j<E;++j){for(var z=j-L,W=Math.max(0,Math.ceil(z/N)),V=Math.min(x,(C+z)/N),H=0,U=B;U<R;++U)for(var Y=U*M-P,Z=W;Z<V;++Z)for(var G=h*T+d*U+p*Z,K=m*(_-1-Y)+v*(C-1-(Z*N-z))+y*F,q=0;q<k;++q)H+=l[G+(F*k+q)]*f[K+q];i[s*T+a*O+u*j+F]=H}return r.toTensor()},e.prototype.depthwiseConv2DDerFilter=function(e,t,n){for(var r=n.strideHeight,i=n.strideWidth,o=n.filterHeight,s=n.filterWidth,a=ai(n.filterShape,\"float32\"),u=n.padInfo.left,l=n.padInfo.top,c=n.outChannels/n.inChannels,h=0;h<o;++h)for(var d=Math.max(0,Math.ceil((l-h)/r)),p=Math.min(n.outHeight,(n.inHeight+l-h)/r),f=0;f<s;++f)for(var g=Math.max(0,Math.ceil((u-f)/i)),m=Math.min(n.outWidth,(n.inWidth+u-f)/i),v=0;v<n.outChannels;++v){for(var y=Math.trunc(v/c),b=v%c,_=0,C=0;C<n.batchSize;++C)for(var w=d;w<p;++w)for(var D=h+w*r-l,E=g;E<m;++E){var A=f+E*i-u;_+=e.get(C,D,A,y)*t.get(C,w,E,v)}a.set(_,h,f,y,b)}return a.toTensor()},e.prototype.tile=function(e,t){for(var n=new Array(e.rank),r=0;r<n.length;r++)n[r]=e.shape[r]*t[r];var i=ai(n,e.dtype),o=e.buffer();for(r=0;r<i.values.length;++r){for(var s=i.indexToLoc(r),a=new Array(e.rank),u=0;u<a.length;u++)a[u]=s[u]%e.shape[u];var l=o.locToIndex(a);i.values[r]=o.values[l]}return i.toTensor()},e.prototype.pad=function(e,t,n){var r=t.map(function(t,n){return t[0]+e.shape[n]+t[1]}),i=t.map(function(e){return e[0]}),o=e.buffer(),s=ai(r,e.dtype);0!==n&&s.values.fill(n);for(var a=0;a<e.size;a++){var u=o.indexToLoc(a),l=u.map(function(e,t){return e+i[t]});s.set.apply(s,[e.get.apply(e,u)].concat(l))}return s.toTensor()},e.prototype.transpose=function(e,t){for(var n=new Array(e.rank),r=0;r<n.length;r++)n[r]=e.shape[t[r]];var i=e.dataSync(),o=ai(n,e.dtype),s=e.buffer();for(r=0;r<e.size;++r){for(var a=s.indexToLoc(r),u=new Array(a.length),l=0;l<u.length;l++)u[l]=a[t[l]];var c=o.locToIndex(u);o.values[c]=i[r]}return o.toTensor()},e.prototype.gather=function(e,t,n){var r=e.shape.slice(),i=t.dataSync();r[n]=i.length;for(var o=ai(r,e.dtype),s=e.buffer(),a=0;a<o.size;++a){var u=o.indexToLoc(a),l=u.slice();l[n]=i[u[n]];var c=s.locToIndex(l);o.values[a]=s.values[c]}return o.toTensor()},e.prototype.batchToSpaceND=function(e,t,n){var r=t.reduce(function(e,t){return e*t}),i=be(e.shape,t,r),o=_e(i.length,t.length),s=Ce(e.shape,t,r),a=we(n,t.length),u=De(s,n,t.length);return e.reshape(i).transpose(o).reshape(s).slice(a,u)},e.prototype.spaceToBatchND=function(e,t,n){var r=t.reduce(function(e,t){return e*t}),i=[[0,0]];i.push.apply(i,n);for(var o=1+t.length;o<e.shape.length;++o)i.push([0,0]);var s=e.pad(i),a=be(s.shape,t,r,!1),u=_e(a.length,t.length,!1),l=Ce(s.shape,t,r,!1);return s.reshape(a).transpose(u).reshape(l)},e.prototype.pool=function(e,t,n){for(var r=t.strideHeight,i=t.strideWidth,o=t.filterHeight,s=t.filterWidth,a=ai(t.outShape,\"float32\"),u=t.padInfo.top,l=t.padInfo.left,c=0;c<t.batchSize;++c)for(var h=0;h<t.inChannels;++h)for(var d=0;d<t.outHeight;++d)for(var p=d*r-u,f=Math.max(0,p),g=Math.min(t.inHeight,o+p),m=0;m<t.outWidth;++m){for(var v=m*i-l,y=Math.max(0,v),b=Math.min(t.inWidth,s+v),_=\"max\"===n?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,C=0,w=0,D=f;D<g;++D){for(var E=y;E<b;++E){var A=e.get(c,D,E,h);\"max\"===n&&A>_?_=A:\"avg\"===n&&(C+=A,w++)}if(isNaN(_))break}a.set(\"avg\"===n?C/w:_,c,d,m,h)}return a.toTensor()},e.prototype.maxPool=function(e,t){return this.pool(e,t,\"max\")},e.prototype.maxPoolPositions=function(e,t){for(var n=ai(t.outShape,\"int32\"),r=t.strideHeight,i=t.strideWidth,o=t.filterHeight,s=t.filterWidth,a=t.padInfo.top,u=t.padInfo.left,l=0;l<t.batchSize;++l)for(var c=0;c<t.inChannels;++c)for(var h=0;h<t.outHeight;++h)for(var d=h*r-a,p=Math.max(0,d),f=Math.min(t.inHeight,o+d),g=0;g<t.outWidth;++g){for(var m=g*i-u,v=Math.max(0,m),y=Math.min(t.inWidth,s+m),b=Number.NEGATIVE_INFINITY,_=-1,C=p;C<f;++C)for(var w=C-d,D=v;D<y;++D){var E=D-m,A=e.get(l,C,D,c);A>b&&(b=A,_=w*s+E)}n.set(_,l,h,g,c)}return n.toTensor()},e.prototype.maxPoolBackprop=function(e,t,n,r){for(var i=this.maxPoolPositions(t,r),o=r.strideHeight,s=r.strideWidth,a=r.filterHeight,u=r.filterWidth,l=u-1-r.padInfo.left,c=a-1-r.padInfo.top,h=ai(t.shape,\"float32\"),d=0;d<r.batchSize;++d)for(var p=0;p<r.inChannels;++p)for(var f=0;f<r.inHeight;++f)for(var g=0;g<r.inWidth;++g){for(var m=f-c,v=g-l,y=0,b=0;b<a;++b){var _=(m+b)/o;if(!(_<0||_>=r.outHeight||Math.floor(_)!==_))for(var C=0;C<u;++C){var w=(v+C)/s;if(!(w<0||w>=r.outWidth||Math.floor(w)!==w)){var D=a*u-1-i.get(d,_,w,p)===b*u+C?1:0;0!==D&&(y+=e.get(d,_,w,p)*D)}}}h.set(y,d,f,g,p)}return h.toTensor()},e.prototype.avgPoolBackprop=function(e,t,n){for(var r=n.strideHeight,i=n.strideWidth,o=n.filterHeight,s=n.filterWidth,a=s-1-n.padInfo.left,u=o-1-n.padInfo.top,l=ai(t.shape,\"float32\"),c=1/(o*s),h=0;h<n.batchSize;++h)for(var d=0;d<n.inChannels;++d)for(var p=0;p<n.inHeight;++p)for(var f=0;f<n.inWidth;++f){for(var g=p-u,m=f-a,v=0,y=0;y<o;++y){var b=(g+y)/r;if(!(b<0||b>=n.outHeight||Math.floor(b)!==b))for(var _=0;_<s;++_){var C=(m+_)/i;C<0||C>=n.outWidth||Math.floor(C)!==C||(v+=e.get(h,b,C,d))}}l.set(v*c,h,p,f,d)}return l.toTensor()},e.prototype.cast=function(e,t){return vt(e,t,this)},e.prototype.reshape=function(e,t){return yt(e,t)},e.prototype.avgPool=function(e,t){return this.pool(e,t,\"avg\").toFloat()},e.prototype.resizeBilinear=function(e,t,n,r){for(var i=e.shape,o=i[0],s=i[1],a=i[2],u=i[3],l=ai([o,t,n,u],e.dtype),c=[r&&t>1?s-1:s,r&&n>1?a-1:a],h=[r&&t>1?t-1:t,r&&n>1?n-1:n],d=0;d<o;d++)for(var p=0;p<t;p++)for(var f=0;f<n;f++)for(var g=0;g<u;g++){var m=c[0]*p/h[0],v=c[1]*f/h[1],y=Math.floor(m),b=Math.min(s-1,Math.ceil(m)),_=Math.floor(v),C=Math.min(a-1,Math.ceil(v)),w=e.get(d,y,_,g),D=e.get(d,b,_,g),E=v-_,A=w+(e.get(d,y,C,g)-w)*E,S=A+(D+(e.get(d,b,C,g)-D)*E-A)*(m-y);l.set(S,d,p,f,g)}return l.toTensor()},e.prototype.resizeBilinearBackprop=function(e,t,n){for(var r=t.shape,i=r[0],o=r[1],s=r[2],a=r[3],u=e.shape,l=u[1],c=u[2],h=ai([i,o,s,a],t.dtype),d=[n&&l>1?o-1:o,n&&c>1?s-1:s],p=[n&&l>1?l-1:l,n&&c>1?c-1:c],f=d[0]/p[0],g=d[1]/p[1],m=0;m<i;m++)for(var v=0;v<l;v++)for(var y=v*f,b=Math.floor(y),_=Math.min(Math.ceil(y),o-1),C=y-b,w=1-C,D=0;D<c;D++)for(var E=D*g,A=Math.floor(E),S=Math.min(Math.ceil(E),s-1),x=E-A,M=1-x,N=0;N<a;N++){var I=e.get(m,v,D,N),L=h.get(m,b,A,N);L+=I*w*M,h.set(L,m,b,A,N);var k=h.get(m,b,S,N);k+=I*w*x,h.set(k,m,b,S,N);var T=h.get(m,_,A,N);T+=I*C*M,h.set(T,m,_,A,N);var F=h.get(m,_,S,N);F+=I*C*x,h.set(F,m,_,S,N)}return h.toTensor()},e.prototype.resizeNearestNeighbor=function(e,t,n,r){for(var i=e.shape,o=i[0],s=i[1],a=i[2],u=i[3],l=ai([o,t,n,u],e.dtype),c=[r&&t>1?s-1:s,r&&n>1?a-1:a],h=[r&&t>1?t-1:t,r&&n>1?n-1:n],d=0;d<o;d++)for(var p=0;p<t;p++)for(var f=0;f<n;f++)for(var g=0;g<u;g++){var m=c[0]*p/h[0],v=c[1]*f/h[1],y=Math.min(s-1,r?Math.round(m):Math.floor(m)),b=Math.min(a-1,r?Math.round(v):Math.floor(v)),_=e.get(d,y,b,g);l.set(_,d,p,f,g)}return l.toTensor()},e.prototype.resizeNearestNeighborBackprop=function(e,t,n){for(var r=t.shape,i=r[0],o=r[1],s=r[2],a=r[3],u=e.shape,l=u[1],c=u[2],h=ai([i,o,s,a],t.dtype),d=[n&&l>1?o-1:o,n&&c>1?s-1:s],p=[n&&l>1?l-1:l,n&&c>1?c-1:c],f=1/(d[0]/p[0]),g=1/(d[1]/p[1]),m=2*Math.ceil(f)+2,v=2*Math.ceil(g)+2,y=0;y<i;y++)for(var b=0;b<o;b++)for(var _=0;_<s;_++)for(var C=Math.floor(b*f),w=Math.floor(C-m/2),D=Math.floor(_*g),E=Math.floor(D-v/2),A=0;A<a;A++){for(var S=0,x=0;x<m;x++){var M=x+w;if(!(M<0||M>=l))for(var N=0;N<v;N++){var I=N+E;if(!(I<0||I>=c)){var L=d[0]*(M/p[0]),k=d[1]*(I/p[1]),T=Math.min(o-1,n?Math.round(L):Math.floor(L)),F=Math.min(s-1,n?Math.round(k):Math.floor(k));b===T&&_===F&&(S+=e.get(y,M,I,A))}}}h.set(S,y,b,_,A)}return h.toTensor()},e.prototype.batchNormalization=function(e,t,n,r,i,o){for(var s=e.dataSync(),a=t.dataSync(),u=n.dataSync(),l=i?i.dataSync():new Float32Array([1]),c=o?o.dataSync():new Float32Array([0]),h=new Float32Array(s.length),d=0;d<s.length;d++)h[d]=c[d%c.length]+(s[d]-a[d%a.length])*l[d%l.length]/Math.sqrt(u[d%u.length]+r);return $e(h,e.shape)},e.prototype.localResponseNormalization4D=function(e,t,n,r,i){var o=ai(e.shape,\"float32\"),s=t,a=o.shape[3]-1;function u(t,n,r,i){for(var o=0,u=Math.max(0,i-s);u<=Math.min(i+s,a);u++){var l=e.get(t,n,r,u);o+=l*l}return o}for(var l=0;l<o.shape[0];l++)for(var c=0;c<=o.shape[1];c++)for(var h=0;h<o.shape[2];h++)for(var d=0;d<o.shape[3];d++){var p=u(l,c,h,d),f=e.get(l,c,h,d)*Math.pow(n+r*p,-i);o.set(f,l,c,h,d)}return o.toTensor()},e.prototype.LRNGrad=function(e,t,n,r,i,o,s){for(var a=e.shape[0],u=e.shape[1],l=e.shape[2],c=e.shape[3],h=ai([a,u,l,c],\"float32\"),d=0;d<a;++d)for(var p=0;p<u;++p)for(var f=0;f<l;++f)for(var g=0;g<c;++g){for(var m=Math.max(0,g-r),v=Math.min(c,g+r+1),y=0,b=m;b<v;++b)y+=t.get(d,p,f,b)*t.get(d,p,f,b);for(y=o*y+i,b=m;b<v;++b){var _=-2*o*s*t.get(d,p,f,b)*n.get(d,p,f,g)/y;g===b&&(_+=Math.pow(y,-s)),_*=e.get(d,p,f,g),h.set(_+h.get(d,p,f,b),d,p,f,b)}}return h.toTensor()},e.prototype.multinomial=function(e,t,n,r){for(var i=t?e:Ge(e),o=i.shape[0],s=i.shape[1],a=rt([o,n],\"int32\"),u=a.dataSync(),l=i.dataSync(),c=0;c<o;++c){var h=c*s,d=new Float32Array(s-1);d[0]=l[h];for(var p=1;p<d.length;++p)d[p]=d[p-1]+l[h+p];for(var f=ii(r.toString()),g=c*n,m=0;m<n;++m){var v=f();u[g+m]=d.length;for(var y=0;y<d.length;y++)if(v<d[y]){u[g+m]=y;break}}}return a},e.prototype.oneHot=function(e,t,n,r){var i=new Float32Array(e.size*t);i.fill(r);for(var o=0;o<e.size;++o)e.get(o)>=0&&e.get(o)<t&&(i[o*t+e.get(o)]=n);return Xe(i,[e.size,t],\"int32\")},e.prototype.nonMaxSuppression=function(e,t,n,r,i){return bt(e.dataSync(),t.dataSync(),n,r,i)},e.prototype.broadcastedBinaryOp=function(e,t,n,r){for(var i=St(e.shape,t.shape),o=ai(i,n),s=e.dataSync(),a=t.dataSync(),u=Et(e.shape,i),l=Et(t.shape,i),c=e.buffer(),h=t.buffer(),d=function(n){var i=o.indexToLoc(n),d=i.slice(-e.rank);u.forEach(function(e){return d[e]=0});var p=c.locToIndex(d),f=i.slice(-t.rank);l.forEach(function(e){return f[e]=0});var g=h.locToIndex(f);o.values[n]=r(s[p],a[g])},p=0;p<o.values.length;++p)d(p);return o.toTensor()},e.prototype.dispose=function(){},e}();me.registerBackend(\"cpu\",function(){return new Ta},1,J);var Fa=\"undefined\"!=typeof requestAnimationFrame?requestAnimationFrame:i;function Oa(){return new Promise(function(e){return Fa(function(){return e()})})}var Pa={float32:4,int32:4,uint16:2,uint8:1,bool:1};var Ba=void 0!==o&&(\"undefined\"==typeof Blob||\"undefined\"==typeof atob||\"undefined\"==typeof btoa);function Ra(e){return Ba?o.byteLength(e):new Blob([e]).size}function ja(e){var t=0;e.forEach(function(e){t+=e.byteLength});var n=new Uint8Array(t),r=0;return e.forEach(function(e){n.set(new Uint8Array(e),r),r+=e.byteLength}),n.buffer}function za(e){for(e=e.trim();e.endsWith(\"/\");)e=e.slice(0,e.length-1);var t=e.split(\"/\");return t[t.length-1]}function Wa(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"Expected JSON model topology, received ArrayBuffer.\");return{dateSaved:new Date,modelTopologyType:\"JSON\",modelTopologyBytes:null==e.modelTopology?0:Ra(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:Ra(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:e.weightData.byteLength}}var Va=function(){function e(){this.saveRouters=[],this.loadRouters=[]}return e.getInstance=function(){return null==e.instance&&(e.instance=new e),e.instance},e.registerSaveRouter=function(t){e.getInstance().saveRouters.push(t)},e.registerLoadRouter=function(t){e.getInstance().loadRouters.push(t)},e.getSaveHandlers=function(t){return e.getHandlers(t,\"save\")},e.getLoadHandlers=function(t){return e.getHandlers(t,\"load\")},e.getHandlers=function(e,t){var n=[];return(\"load\"===t?this.getInstance().loadRouters:this.getInstance().saveRouters).forEach(function(t){var r=t(e);null!==r&&n.push(r)}),n},e}(),Ha=\"://\",Ua=function(){function e(){this.managers={}}return e.getInstance=function(){return null==e.instance&&(e.instance=new e),e.instance},e.registerManager=function(t,n){f(null!=t,\"scheme must not be undefined or null.\"),t.endsWith(Ha)&&(t=t.slice(0,t.indexOf(Ha))),f(t.length>0,\"scheme must not be an empty string.\");var r=e.getInstance();f(null==r.managers[t],\"A model store manager is already registered for scheme '\"+t+\"'.\"),r.managers[t]=n},e.getManager=function(e){var t=this.getInstance().managers[e];if(null==t)throw new Error(\"Cannot find model manager for scheme '\"+e+\"'\");return t},e.getSchemes=function(){return Object.keys(this.getInstance().managers)},e}();function Ya(e){if(-1===e.indexOf(Ha))throw new Error(\"The url string provided does not contain a scheme. Supported schemes are: \"+Ua.getSchemes().join(\",\"));return{scheme:e.split(Ha)[0],path:e.split(Ha)[1]}}function Za(e,t,n){return void 0===n&&(n=!1),l(this,void 0,void 0,function(){var r,i,o,s,a,u,l,h,d;return c(this,function(c){switch(c.label){case 0:return f(e!==t,\"Old path and new path are the same: '\"+e+\"'\"),f((r=Va.getLoadHandlers(e)).length>0,\"Copying failed because no load handler is found for source URL \"+e+\".\"),f(r.length<2,\"Copying failed because more than one (\"+r.length+\") load handlers for source URL \"+e+\".\"),i=r[0],f((o=Va.getSaveHandlers(t)).length>0,\"Copying failed because no save handler is found for destination URL \"+t+\".\"),f(o.length<2,\"Copying failed because more than one (\"+r.length+\") save handlers for destination URL \"+t+\".\"),s=o[0],a=Ya(e).scheme,u=Ya(e).path,l=a===Ya(e).scheme,[4,i.load()];case 1:return h=c.sent(),n&&l?[4,Ua.getManager(a).removeModel(u)]:[3,3];case 2:c.sent(),c.label=3;case 3:return[4,s.save(h)];case 4:return d=c.sent(),!n||l?[3,6]:[4,Ua.getManager(a).removeModel(u)];case 5:c.sent(),c.label=6;case 6:return[2,d.modelArtifactsInfo]}})})}var Ga=\"models_store\",Ka=\"model_info_store\";function qa(){if(!me.get(\"IS_BROWSER\"))throw new Error(\"Failed to obtain IndexedDB factory because the current environmentis not a web browser.\");var e=window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error(\"The current browser does not appear to support IndexedDB.\");return t}function Qa(e){var t=e.result;t.createObjectStore(Ga,{keyPath:\"modelPath\"}),t.createObjectStore(Ka,{keyPath:\"modelPath\"})}var Xa=function(){function e(e){if(this.indexedDB=qa(),null==e||!e)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=e}return e.prototype.save=function(e){return l(this,void 0,void 0,function(){return c(this,function(t){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return[2,this.databaseAction(this.modelPath,e)]})})},e.prototype.load=function(){return l(this,void 0,void 0,function(){return c(this,function(e){return[2,this.databaseAction(this.modelPath)]})})},e.prototype.databaseAction=function(e,t){var n=this;return new Promise(function(e,r){var i=n.indexedDB.open(\"tensorflowjs\",1);i.onupgradeneeded=function(){return Qa(i)},i.onsuccess=function(){var o=i.result;if(null==t){var s=o.transaction(Ga,\"readonly\"),a=s.objectStore(Ga).get(n.modelPath);a.onsuccess=function(){if(null==a.result)return o.close(),r(new Error(\"Cannot find model with path '\"+n.modelPath+\"' in IndexedDB.\"));e(a.result.modelArtifacts)},a.onerror=function(e){return o.close(),r(a.error)},s.oncomplete=function(){return o.close()}}else{var u,l=Wa(t),c=o.transaction(Ka,\"readwrite\"),h=c.objectStore(Ka),d=h.put({modelPath:n.modelPath,modelArtifactsInfo:l});d.onsuccess=function(){var i=(u=o.transaction(Ga,\"readwrite\")).objectStore(Ga).put({modelPath:n.modelPath,modelArtifacts:t,modelArtifactsInfo:l});i.onsuccess=function(){return e({modelArtifactsInfo:l})},i.onerror=function(e){var t=(h=c.objectStore(Ka)).delete(n.modelPath);t.onsuccess=function(){return o.close(),r(i.error)},t.onerror=function(e){return o.close(),r(i.error)}}},d.onerror=function(e){return o.close(),r(d.error)},c.oncomplete=function(){null==u?o.close():u.oncomplete=function(){return o.close()}}}},i.onerror=function(e){return r(i.error)}})},e.URL_SCHEME=\"indexeddb://\",e}(),Ja=function(e){return me.get(\"IS_BROWSER\")&&e.startsWith(Xa.URL_SCHEME)?function(e){return new Xa(e)}(e.slice(Xa.URL_SCHEME.length)):null};Va.registerSaveRouter(Ja),Va.registerLoadRouter(Ja);var $a=function(){function e(){this.indexedDB=qa()}return e.prototype.listModels=function(){return l(this,void 0,void 0,function(){var e=this;return c(this,function(t){return[2,new Promise(function(t,n){var r=e.indexedDB.open(\"tensorflowjs\",1);r.onupgradeneeded=function(){return Qa(r)},r.onsuccess=function(){var e=r.result,i=e.transaction(Ka,\"readonly\"),o=i.objectStore(Ka).getAll();o.onsuccess=function(){for(var e={},n=0,r=o.result;n<r.length;n++){var i=r[n];e[i.modelPath]=i.modelArtifactsInfo}t(e)},o.onerror=function(t){return e.close(),n(o.error)},i.oncomplete=function(){return e.close()}},r.onerror=function(e){return n(r.error)}})]})})},e.prototype.removeModel=function(e){return l(this,void 0,void 0,function(){var t=this;return c(this,function(n){return e=function(e){return e.startsWith(Xa.URL_SCHEME)?e.slice(Xa.URL_SCHEME.length):e}(e),[2,new Promise(function(n,r){var i=t.indexedDB.open(\"tensorflowjs\",1);i.onupgradeneeded=function(){return Qa(i)},i.onsuccess=function(){var t,o=i.result,s=o.transaction(Ka,\"readwrite\"),a=s.objectStore(Ka),u=a.get(e);u.onsuccess=function(){if(null==u.result)return o.close(),r(new Error(\"Cannot find model with path '\"+e+\"' in IndexedDB.\"));var i=a.delete(e),s=function(){var i=(t=o.transaction(Ga,\"readwrite\")).objectStore(Ga).delete(e);i.onsuccess=function(){return n(u.result.modelArtifactsInfo)},i.onerror=function(e){return r(u.error)}};i.onsuccess=s,i.onerror=function(e){return s(),o.close(),r(u.error)}},u.onerror=function(e){return o.close(),r(u.error)},s.oncomplete=function(){null==t?o.close():t.oncomplete=function(){return o.close()}}},i.onerror=function(e){return r(i.error)}})]})})},e}();if(me.get(\"IS_BROWSER\"))try{Ua.registerManager(Xa.URL_SCHEME,new $a)}catch(oe){}var eu=\"/\",tu=\"tensorflowjs_models\",nu=\"info\",ru=\"model_topology\",iu=\"weight_specs\",ou=\"weight_data\";function su(e){return{info:[tu,e,nu].join(eu),topology:[tu,e,ru].join(eu),weightSpecs:[tu,e,iu].join(eu),weightData:[tu,e,ou].join(eu)}}function au(e){var t=e.split(eu);if(t.length<3)throw new Error(\"Invalid key format: \"+e);return t.slice(1,t.length-1).join(eu)}var uu=function(){function e(e){if(!me.get(\"IS_BROWSER\")||void 0===window.localStorage)throw new Error(\"The current environment does not support local storage.\");if(this.LS=window.localStorage,null==e||!e)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=e,this.keys=su(this.modelPath)}return e.prototype.save=function(e){return l(this,void 0,void 0,function(){var t,n,r,i;return c(this,function(s){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Wa(e);try{return this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){return Ba?o.from(e).toString(\"base64\"):btoa(String.fromCharCode.apply(null,new Uint8Array(e)))}(e.weightData)),[2,{modelArtifactsInfo:r}]}catch(e){for(i in this.keys)this.LS.removeItem(this.keys[i]);throw new Error(\"Failed to save model '\"+this.modelPath+\"' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=\"+r.modelTopologyBytes+\", weightSpecsBytes=\"+r.weightSpecsBytes+\", weightDataBytes=\"+r.weightDataBytes+\".\")}return[2]})})},e.prototype.load=function(){return l(this,void 0,void 0,function(){var e,t,n,r,i;return c(this,function(s){if(null==(e=JSON.parse(this.LS.getItem(this.keys.info))))throw new Error(\"In local storage, there is no model with name '\"+this.modelPath+\"'\");if(\"JSON\"!==e.modelTopologyType)throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");if(t={},null==(n=JSON.parse(this.LS.getItem(this.keys.topology))))throw new Error(\"In local storage, the topology of model '\"+this.modelPath+\"' is missing.\");if(t.modelTopology=n,null==(r=JSON.parse(this.LS.getItem(this.keys.weightSpecs))))throw new Error(\"In local storage, the weight specs of model '\"+this.modelPath+\"' are missing.\");if(t.weightSpecs=r,null==(i=this.LS.getItem(this.keys.weightData)))throw new Error(\"In local storage, the binary weight values of model '\"+this.modelPath+\"' are missing.\");return t.weightData=function(e){if(Ba){var t=o.from(e,\"base64\");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}for(var n=atob(e),r=new Uint8Array(n.length),i=0;i<n.length;++i)r.set([n.charCodeAt(i)],i);return r.buffer}(i),[2,t]})})},e.URL_SCHEME=\"localstorage://\",e}(),lu=function(e){return me.get(\"IS_BROWSER\")&&e.startsWith(uu.URL_SCHEME)?function(e){return new uu(e)}(e.slice(uu.URL_SCHEME.length)):null};Va.registerSaveRouter(lu),Va.registerLoadRouter(lu);var cu=function(){function e(){f(me.get(\"IS_BROWSER\"),\"Current environment is not a web browser\"),f(void 0!==window.localStorage,\"Current browser does not appear to support localStorage\"),this.LS=window.localStorage}return e.prototype.listModels=function(){return l(this,void 0,void 0,function(){var e,t,n,r,i,o;return c(this,function(s){for(e={},t=tu+eu,n=eu+nu,r=0;r<this.LS.length;++r)(i=this.LS.key(r)).startsWith(t)&&i.endsWith(n)&&(o=au(i),e[o]=JSON.parse(this.LS.getItem(i)));return[2,e]})})},e.prototype.removeModel=function(e){return l(this,void 0,void 0,function(){var t,n;return c(this,function(r){if(e=function(e){return e.startsWith(uu.URL_SCHEME)?e.slice(uu.URL_SCHEME.length):e}(e),t=su(e),null==this.LS.getItem(t.info))throw new Error(\"Cannot find model at path '\"+e+\"'\");return n=JSON.parse(this.LS.getItem(t.info)),this.LS.removeItem(t.info),this.LS.removeItem(t.topology),this.LS.removeItem(t.weightSpecs),this.LS.removeItem(t.weightData),[2,n]})})},e}();if(me.get(\"IS_BROWSER\"))try{Ua.registerManager(uu.URL_SCHEME,new cu)}catch(oe){}var hu=\"model\",du=\".json\",pu=\".weights.bin\",fu=function(){function e(t){if(!me.get(\"IS_BROWSER\"))throw new Error(\"triggerDownloads() cannot proceed because the current environment is not a browser.\");t.startsWith(e.URL_SCHEME)&&(t=t.slice(e.URL_SCHEME.length)),null!=t&&0!==t.length||(t=hu),this.modelTopologyFileName=t+du,this.weightDataFileName=t+pu}return e.prototype.save=function(e){return l(this,void 0,void 0,function(){var t,n,r,i,o,s;return c(this,function(a){if(t=window.URL.createObjectURL(new Blob([e.weightData],{type:\"application/octet-stream\"})),e.modelTopology instanceof ArrayBuffer)throw new Error(\"DownloadTrigger.save() does not support saving model topology in binary formats yet.\");return n=[{paths:[\"./\"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,weightsManifest:n},i=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:\"application/json\"})),(o=null==this.jsonAnchor?document.createElement(\"a\"):this.jsonAnchor).download=this.modelTopologyFileName,o.href=i,o.click(),null!=e.weightData&&((s=null==this.weightDataAnchor?document.createElement(\"a\"):this.weightDataAnchor).download=this.weightDataFileName,s.href=t,s.click()),[2,{modelArtifactsInfo:Wa(e)}]})})},e.URL_SCHEME=\"downloads://\",e}(),gu=function(){function e(e){if(null==e||e.length<1)throw new Error(\"When calling browserFiles, at least 1 file is required, but received \"+e);this.files=e}return e.prototype.load=function(){return l(this,void 0,void 0,function(){var e,t,n=this;return c(this,function(r){return e=this.files[0],t=this.files.slice(1),[2,new Promise(function(r,i){var o=new FileReader;o.onload=function(o){var s=JSON.parse(o.target.result),a=s.modelTopology;if(null!=a){0===t.length&&r({modelTopology:a});var u=s.weightsManifest;if(null!=u){var l;try{l=n.checkManifestAndWeightFiles(u,t)}catch(e){return void i(e)}var c=[],h=[],d=[];u.forEach(function(e){e.paths.forEach(function(e){h.push(e),d.push(null)}),c.push.apply(c,e.weights)}),u.forEach(function(e){e.paths.forEach(function(e){var t=new FileReader;t.onload=function(t){var n=t.target.result,i=h.indexOf(e);d[i]=n,-1===d.indexOf(null)&&r({modelTopology:a,weightSpecs:c,weightData:ja(d)})},t.onerror=function(t){i(\"Failed to weights data from file of path '\"+e+\"'.\")},t.readAsArrayBuffer(l[e])})})}else i(new Error(\"weightManifest field is missing from file \"+e.name))}else i(new Error(\"modelTopology field is missing from file \"+e.name))},o.onerror=function(t){i(\"Failed to read model topology and weights manifest JSON from file '\"+e.name+\"'. BrowserFiles supports loading Keras-style tf.Model artifacts only.\")},o.readAsText(e)})]})})},e.prototype.checkManifestAndWeightFiles=function(e,t){for(var n=[],r=t.map(function(e){return za(e.name)}),i={},o=0,s=e;o<s.length;o++)s[o].paths.forEach(function(e){var o=za(e);if(-1!==n.indexOf(o))throw new Error(\"Duplicate file basename found in weights manifest: '\"+o+\"'\");if(n.push(o),-1===r.indexOf(o))throw new Error(\"Weight file with basename '\"+o+\"' is not provided.\");i[e]=t[r.indexOf(o)]});if(n.length!==t.length)throw new Error(\"Mismatch in the number of files in weights manifest (\"+n.length+\") and the number of weight files provided (\"+t.length+\").\");return i},e}();function mu(e,t){return l(this,void 0,void 0,function(){var n,r;return c(this,function(i){switch(i.label){case 0:return n=e.map(function(e){return fetch(e,t)}),[4,Promise.all(n)];case 1:return r=i.sent(),[4,Promise.all(r.map(function(e){return e.arrayBuffer()}))];case 2:return[2,i.sent()]}})})}Va.registerSaveRouter(function(e){return me.get(\"IS_BROWSER\")&&e.startsWith(fu.URL_SCHEME)?function(e){return void 0===e&&(e=\"model\"),new fu(e)}(e.slice(fu.URL_SCHEME.length)):null});var vu=function(){function e(e,t){if(this.DEFAULT_METHOD=\"POST\",\"undefined\"==typeof fetch)throw new Error(\"browserHTTPRequest is not supported outside the web browser without a fetch polyfill.\");if(f(null!=e&&e.length>0,\"URL path for browserHTTPRequest must not be null, undefined or empty.\"),this.path=e,null!=t&&null!=t.body)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=t||{}}return e.prototype.save=function(e){return l(this,void 0,void 0,function(){var t,n,r,i;return c(this,function(o){switch(o.label){case 0:if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");return(t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit)).body=new FormData,n=[{paths:[\"./model.weights.bin\"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,weightsManifest:n},t.body.append(\"model.json\",new Blob([JSON.stringify(r)],{type:\"application/json\"}),\"model.json\"),null!=e.weightData&&t.body.append(\"model.weights.bin\",new Blob([e.weightData],{type:\"application/octet-stream\"}),\"model.weights.bin\"),[4,fetch(this.path,t)];case 1:if(200===(i=o.sent()).status)return[2,{modelArtifactsInfo:Wa(e),responses:[i]}];throw new Error(\"BrowserHTTPRequest.save() failed due to HTTP response status \"+i.status+\".\")}})})},e.prototype.load=function(){return l(this,void 0,void 0,function(){var e,t,n,r,i,o,s,a,u,l,h,d;return c(this,function(c){switch(c.label){case 0:return[4,fetch(this.path,this.requestInit)];case 1:return[4,c.sent().json()];case 2:if(e=c.sent(),t=e.modelTopology,n=e.weightsManifest,null==t&&null==n)throw new Error(\"The JSON from HTTP path \"+this.path+\" contains neither model topology or manifest for weights.\");if(null==n)return[3,4];for(o=e.weightsManifest,r=[],s=0,a=o;s<a.length;s++)u=a[s],r.push.apply(r,u.weights);return(l=this.path.substring(0,this.path.lastIndexOf(\"/\"))).endsWith(\"/\")||(l+=\"/\"),h=[],o.forEach(function(e){e.paths.forEach(function(e){h.push(l+e)})}),d=ja,[4,mu(h,this.requestInit)];case 3:i=d.apply(void 0,[c.sent()]),c.label=4;case 4:return[2,{modelTopology:t,weightSpecs:r,weightData:i}]}})})},e.URL_SCHEMES=[\"http://\",\"https://\"],e}(),yu=function(e){if(\"undefined\"==typeof fetch)return null;for(var t=0,n=vu.URL_SCHEMES;t<n.length;t++){var r=n[t];if(e.startsWith(r))return bu(e)}return null};function bu(e,t){return new vu(e,t)}Va.registerSaveRouter(yu),Va.registerLoadRouter(yu);var _u=function(){function e(e,t,n){this.modelTopology=e,this.weightSpecs=t,this.weightData=n}return e.prototype.load=function(){return l(this,void 0,void 0,function(){var e;return c(this,function(t){return e={},null!=this.modelTopology&&(e=u({modelTopology:this.modelTopology},e)),null!=this.weightSpecs&&this.weightSpecs.length>0&&(e=u({weightSpecs:this.weightSpecs},e)),null!=this.weightData&&this.weightData.byteLength>0&&(e=u({weightData:this.weightData},e)),[2,e]})})},e}(),Cu=function(){function e(e){this.saveHandler=e}return e.prototype.save=function(e){return l(this,void 0,void 0,function(){return c(this,function(t){return[2,this.saveHandler(e)]})})},e}();var wu=Va.registerSaveRouter,Du=Va.registerLoadRouter,Eu=Va.getSaveHandlers,Au=Va.getLoadHandlers,Su=Object.freeze({browserFiles:function(e){return new gu(e)},browserHTTPRequest:bu,concatenateArrayBuffers:ja,decodeWeights:function(e,t){for(var n={},r=0,i=0,o=t;i<o.length;i++){var s=o[i],a=s.name,u=s.dtype,l=s.shape;if(null!=s.quantization)throw new Error(\"decodeWeights does not support quantization yet, but encountered weight '\"+a+\" with quantization.'\");var c=b(l),h=void 0;if(\"float32\"===u)h=Ke(new Float32Array(e,r,c),l,\"float32\");else if(\"int32\"===u)h=Ke(new Int32Array(e,r,c),l,\"int32\");else{if(\"bool\"!==u)throw new Error(\"Unsupported dtype in weight '\"+a+\"': \"+u);h=Ke(new Uint8Array(e,r,c),l,\"bool\")}n[a]=h,r+=c*Pa[u]}return n},encodeWeights:function(e){return l(this,void 0,void 0,function(){var t,n,r,i;return c(this,function(o){switch(o.label){case 0:for(r in t=[],n=[],e){if(\"float32\"!==(i=e[r]).dtype&&\"int32\"!==i.dtype&&\"bool\"!==i.dtype)throw new Error(\"Unsupported dtype in weight '\"+r+\"': \"+i.dtype);t.push({name:r,shape:i.shape,dtype:i.dtype}),n.push(i.data())}return[4,Promise.all(n)];case 1:return[2,{data:function(e){if(null===e)throw new Error(\"Invalid input value: \"+JSON.stringify(e));var t=0,n=[];e.forEach(function(e){if(t+=e.byteLength,n.push(e.byteLength===e.buffer.byteLength?e:new e.constructor(e)),!(e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array))throw new Error(\"Unsupported TypedArray subtype: \"+e.constructor.name)});var r=new Uint8Array(t),i=0;return n.forEach(function(e){r.set(new Uint8Array(e.buffer),i),i+=e.byteLength}),r.buffer}(o.sent()),specs:t}]}})})},fromMemory:function(e,t,n){return new _u(e,t,n)},getLoadHandlers:Au,getModelArtifactsInfoForJSON:Wa,getSaveHandlers:Eu,loadWeights:function(e,t,n,r){return void 0===t&&(t=\"\"),l(this,void 0,void 0,function(){var i,o,s,a,u,l,h,d,p,f;return c(this,function(c){switch(c.label){case 0:if(i=e.map(function(){return!1}),o={},s=null!=n?n.map(function(){return!1}):[],a=[],e.forEach(function(e,t){var r=0;e.weights.forEach(function(e){var u=\"quantization\"in e?e.quantization.dtype:e.dtype,l=Pa[u]*b(e.shape),c=function(){i[t]=!0,null==o[t]&&(o[t]=[]),o[t].push({manifestEntry:e,groupOffset:r,sizeBytes:l})};null!=n?n.forEach(function(t,n){t===e.name&&(c(),s[n]=!0)}):c(),a.push(e.name),r+=l})}),!s.every(function(e){return e}))throw u=n.filter(function(e,t){return!s[t]}),new Error(\"Could not find weights in manifest with names: \"+u.join(\", \")+\". \\nManifest JSON has weights with names: \"+a.join(\", \")+\".\");return l=i.reduce(function(e,t,n){return t&&e.push(n),e},[]),h=[],l.forEach(function(n){e[n].paths.forEach(function(e){var n=t+(t.endsWith(\"/\")?\"\":\"/\")+e;h.push(n)})}),[4,mu(h,r)];case 1:return d=c.sent(),p={},f=0,l.forEach(function(t){for(var n=e[t].paths.length,r=0,i=0;i<n;i++)r+=d[f+i].byteLength;for(var s=new ArrayBuffer(r),a=new Uint8Array(s),u=0,l=0;l<n;l++){var c=new Uint8Array(d[f+l]);a.set(c,u),u+=c.byteLength}o[t].forEach(function(e){var t,n=s.slice(e.groupOffset,e.groupOffset+e.sizeBytes),r=e.manifestEntry.dtype;if(\"quantization\"in e.manifestEntry){var i=e.manifestEntry.quantization;if(\"uint8\"!==i.dtype&&\"uint16\"!==i.dtype)throw new Error(\"Weight \"+e.manifestEntry.name+\" has unknown quantization dtype \"+i.dtype+\".\");var o=\"uint8\"===i.dtype?new Uint8Array(n):new Uint16Array(n);if(\"float32\"===r)t=Float32Array.from(o,function(e){return e*i.scale+i.min});else{if(\"int32\"!==r)throw new Error(\"Weight \"+e.manifestEntry.name+\" has a dtype not supported by quantization: \"+r);t=Int32Array.from(o,function(e){return Math.round(e*i.scale+i.min)})}}else if(\"float32\"===r)t=new Float32Array(n);else if(\"int32\"===r)t=new Int32Array(n);else{if(\"bool\"!==r)throw new Error(\"Weight \"+e.manifestEntry.name+\" has unknown dtype \"+r+\".\");t=new Uint8Array(n)}var a=e.manifestEntry.name;if(null!=p[a])throw new Error(\"Duplicate weight with name \"+a+\". Please make sure weights names are unique in the manifest JSON.\");p[a]=Ke(t,e.manifestEntry.shape,e.manifestEntry.dtype)}),f+=n}),[2,p]}})})},registerLoadRouter:Du,registerSaveRouter:wu,withSaveHandler:function(e){return new Cu(e)},copyModel:function(e,t){return l(this,void 0,void 0,function(){return c(this,function(n){switch(n.label){case 0:return[4,Za(e,t,!1)];case 1:return[2,n.sent()]}})})},listModels:function(){return l(this,void 0,void 0,function(){var e,t,n,r,i,o,s;return c(this,function(a){switch(a.label){case 0:e=Ua.getSchemes(),t={},n=0,r=e,a.label=1;case 1:return n<r.length?(i=r[n],[4,Ua.getManager(i).listModels()]):[3,4];case 2:for(s in o=a.sent())t[i+Ha+s]=o[s];a.label=3;case 3:return n++,[3,1];case 4:return[2,t]}})})},moveModel:function(e,t){return l(this,void 0,void 0,function(){return c(this,function(n){switch(n.label){case 0:return[4,Za(e,t,!0)];case 1:return[2,n.sent()]}})})},removeModel:function(e){return l(this,void 0,void 0,function(){var t;return c(this,function(n){switch(n.label){case 0:return t=Ya(e),[4,Ua.getManager(t.scheme).removeModel(t.path)];case 1:return[2,n.sent()]}})})}}),xu=function(){function e(){}return e.prototype.getClassName=function(){return this.constructor.className},e.fromConfig=function(e,t){return new e(t)},e}(),Mu=function(){function e(){this.classNameMap={}}return e.getMap=function(){return null==e.instance&&(e.instance=new e),e.instance},e.register=function(t){e.getMap().classNameMap[t.className]=[t,t.fromConfig]},e}(),Nu=Object.freeze({Serializable:xu,SerializationMap:Mu});function Iu(e,t,n){if(null==n&&(n=me.get(\"TEST_EPSILON\")),e instanceof $||t instanceof $){if(e instanceof $&&t instanceof $){if(e.dtype!==t.dtype)throw new Error(\"Arrays are of different type actual: \"+e.dtype+\" vs expected: \"+t.dtype+\".\");if(!_(e.shape,t.shape))throw new Error(\"Arrays are of different shape actual: \"+e.shape+\" vs expected: \"+t.shape+\".\")}}else{var r=e.constructor.name,i=t.constructor.name;if(r!==i)throw new Error(\"Arrays are of different type actual: \"+r+\" vs expected: \"+i)}var o,s;if(o=e instanceof $?e.dataSync():e,s=t instanceof $?t.dataSync():t,o.length!==s.length)throw new Error(\"Arrays have different lengths actual: \"+o.length+\" vs expected: \"+s.length+\".\\nActual:   \"+o+\".\\nExpected: \"+s+\".\");for(var a=0;a<s.length;++a){var u=o[a],l=s[a];if(!Lu(u,Number(l),n))throw new Error(\"Arrays differ: actual[\"+a+\"] = \"+u+\", expected[\"+a+\"] = \"+l+\".\\nActual:   \"+o+\".\\nExpected: \"+s+\".\")}}function Lu(e,t,n){return!(!isNaN(e)||!isNaN(t))||!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}var ku=Object.freeze({WEBGL_ENVS:{HAS_WEBGL:!0},NODE_ENVS:{IS_NODE:!0},CHROME_ENVS:{IS_CHROME:!0},BROWSER_ENVS:{IS_BROWSER:!0},CPU_ENVS:{HAS_WEBGL:!1},ALL_ENVS:{},expectArraysClose:Iu,expectPromiseToFail:function(e,t){e().then(function(){return t.fail()},function(){return t()})},expectArraysEqual:function(e,t){return Iu(e,t,0)},expectNumbersClose:function(e,t,n){if(null==n&&(n=me.get(\"TEST_EPSILON\")),!Lu(e,t,n))throw new Error(\"Numbers differ: actual === \"+e+\", expected === \"+t)},expectValuesInRange:function(e,t,n){var r;r=e instanceof $?e.dataSync():e;for(var i=0;i<r.length;i++)if(r[i]<t||r[i]>n)throw new Error(\"Value out of range:\"+r[i]+\" low: \"+t+\", high: \"+n)},expectArrayBuffersEqual:function(e,t){expect(new Float32Array(e)).toEqual(new Float32Array(t))}}),Tu=\"0.12.8\",Fu=Object.freeze({gpgpu_util:ar,webgl_util:jn,MathBackendWebGL:Pi,GPGPUContext:ur}),Ou=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a(t,e),t.prototype.minimize=function(e,t,n){void 0===t&&(t=!1);var r=this.computeGradients(e,n),i=r.value,o=r.grads;return this.applyGradients(o),Object.keys(o).forEach(function(e){return o[e].dispose()}),t?i:(i.dispose(),null)},t.prototype.computeGradients=function(e,t){return We(e,t)},t}(xu),Pu=1e-8,Bu=1e-4;function Ru(){return me.get(\"WEBGL_RENDER_FLOAT32_ENABLED\")?Pu:Bu}var ju=function(e){function t(t,n,r){void 0===r&&(r=null);var i=e.call(this)||this;return i.learningRate=t,i.rho=n,i.epsilon=r,i.accumulatedGrads={},i.accumulatedUpdates={},i.c=Qo(qe(-t)),i.rhoScalar=Qo(qe(n)),i.oneMinusRho=Qo(qe(1-n)),null===r&&(r=Ru()),i.epsilonScalar=Qo(qe(r)),i}return a(t,e),t.prototype.applyGradients=function(e){var t=this,n=function(n){var i=me.engine.registeredVariables[n];null==r.accumulatedGrads[n]&&qo(function(){t.accumulatedGrads[n]=pt(i).variable(!1)}),null==r.accumulatedUpdates[n]&&qo(function(){t.accumulatedUpdates[n]=pt(i).variable(!1)});var o=e[n],s=r.accumulatedGrads[n],a=r.accumulatedUpdates[n];qo(function(){var e=t.rhoScalar.mul(s).add(t.oneMinusRho.mul(o.square())),r=a.add(t.epsilonScalar).sqrt().div(s.add(t.epsilonScalar).sqrt()).mul(o),u=t.rhoScalar.mul(a).add(t.oneMinusRho.mul(r.square()));t.accumulatedGrads[n].assign(e),t.accumulatedUpdates[n].assign(u);var l=t.c.mul(r).add(i);i.assign(l)})},r=this;for(var i in e)n(i)},t.prototype.dispose=function(){var e=this;this.c.dispose(),this.epsilonScalar.dispose(),this.rhoScalar.dispose(),this.oneMinusRho.dispose(),null!=this.accumulatedUpdates&&(Object.keys(this.accumulatedUpdates).forEach(function(t){return e.accumulatedUpdates[t].dispose()}),Object.keys(this.accumulatedGrads).forEach(function(t){return e.accumulatedGrads[t].dispose()}))},t.prototype.getConfig=function(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}},t.fromConfig=function(e,t){return new e(t.learningRate,t.rho,t.epsilon)},t.className=\"AdadeltaOptimizer\",t}(Ou);Mu.register(ju);var zu=function(e){function t(t,n){void 0===n&&(n=.1);var r=e.call(this)||this;r.learningRate=t,r.initialAccumulatorValue=n,r.accumulatedGrads={},r.c=Qo(qe(-t));var i=Ru();return r.epsilon=Qo(qe(i)),r}return a(t,e),t.prototype.applyGradients=function(e){var t=this,n=function(n){var i=me.engine.registeredVariables[n];null==r.accumulatedGrads[n]&&qo(function(){t.accumulatedGrads[n]=it(i.shape,t.initialAccumulatorValue).variable(!1)});var o=e[n],s=r.accumulatedGrads[n];qo(function(){var e=s.add(o.square());t.accumulatedGrads[n].assign(e);var r=t.c.mul(o.div(e.add(t.epsilon).sqrt())).add(i);i.assign(r)})},r=this;for(var i in e)n(i)},t.prototype.dispose=function(){var e=this;this.epsilon.dispose(),this.c.dispose(),null!=this.accumulatedGrads&&Object.keys(this.accumulatedGrads).forEach(function(t){return e.accumulatedGrads[t].dispose()})},t.prototype.getConfig=function(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}},t.fromConfig=function(e,t){return new e(t.learningRate,t.initialAccumulatorValue)},t.className=\"AdagradOptimizer\",t}(Ou);Mu.register(zu);var Wu=function(e){function t(t,n,r,i){void 0===i&&(i=null);var o=e.call(this)||this;return o.learningRate=t,o.beta1=n,o.beta2=r,o.epsilon=i,o.accumulatedFirstMoment={},o.accumulatedSecondMoment={},o.c=Qo(qe(-t)),o.beta1Scalar=Qo(qe(n)),o.beta2Scalar=Qo(qe(r)),qo(function(){o.accBeta1=qe(n).variable(),o.accBeta2=qe(r).variable()}),o.oneMinusBeta1=Qo(qe(1-n)),o.oneMinusBeta2=Qo(qe(1-r)),o.one=Qo(qe(1)),null===i&&(i=Ru()),o.epsScalar=Qo(qe(i)),o}return a(t,e),t.prototype.applyGradients=function(e){var t=this;qo(function(){var n=t.one.sub(t.accBeta1),r=t.one.sub(t.accBeta2);for(var i in e){var o=me.engine.registeredVariables[i];if(null==t.accumulatedFirstMoment[i]){var s=!1;t.accumulatedFirstMoment[i]=pt(o).variable(s)}null==t.accumulatedSecondMoment[i]&&(s=!1,t.accumulatedSecondMoment[i]=pt(o).variable(s));var a=e[i],u=t.accumulatedFirstMoment[i],l=t.accumulatedSecondMoment[i],c=t.beta1Scalar.mul(u).add(t.oneMinusBeta1.mul(a)),h=t.beta2Scalar.mul(l).add(t.oneMinusBeta2.mul(a.square())),d=c.div(n),p=h.div(r);t.accumulatedFirstMoment[i].assign(c),t.accumulatedSecondMoment[i].assign(h);var f=t.c.mul(d.div(t.epsScalar.add(p.sqrt()))).add(o);o.assign(f)}t.accBeta1.assign(t.accBeta1.mul(t.beta1Scalar)),t.accBeta2.assign(t.accBeta2.mul(t.beta2Scalar))})},t.prototype.dispose=function(){var e=this;this.c.dispose(),this.epsScalar.dispose(),this.beta1Scalar.dispose(),this.beta2Scalar.dispose(),this.accBeta1.dispose(),this.accBeta2.dispose(),this.oneMinusBeta1.dispose(),this.oneMinusBeta2.dispose(),this.one.dispose(),null!=this.accumulatedFirstMoment&&Object.keys(this.accumulatedFirstMoment).forEach(function(t){return e.accumulatedFirstMoment[t].dispose()}),null!=this.accumulatedSecondMoment&&Object.keys(this.accumulatedSecondMoment).forEach(function(t){return e.accumulatedSecondMoment[t].dispose()})},t.prototype.getConfig=function(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}},t.fromConfig=function(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)},t.className=\"AdamOptimizer\",t}(Ou);Mu.register(Wu);var Vu=function(e){function t(t,n,r,i,o){void 0===i&&(i=null),void 0===o&&(o=0);var s=e.call(this)||this;return s.learningRate=t,s.beta1=n,s.beta2=r,s.epsilon=i,s.decay=o,s.accumulatedFirstMoment={},s.accumulatedWeightedInfNorm={},s.c=Qo(qe(-t)),s.beta1Scalar=Qo(qe(n)),s.beta2Scalar=Qo(qe(r)),s.decayScalar=Qo(qe(o)),qo(function(){s.iteration=qe(0).variable(),s.accBeta1=qe(n).variable()}),s.oneMinusBeta1=Qo(qe(1-n)),s.one=Qo(qe(1)),null===i&&(i=Ru()),s.epsScalar=Qo(qe(i)),s}return a(t,e),t.prototype.applyGradients=function(e){var t=this;qo(function(){var n=t.one.sub(t.accBeta1),r=t.c.div(t.one.add(t.decayScalar.mul(t.iteration)));for(var i in e){var o=me.engine.registeredVariables[i];if(null==t.accumulatedFirstMoment[i]){var s=!1;t.accumulatedFirstMoment[i]=pt(o).variable(s)}null==t.accumulatedWeightedInfNorm[i]&&(s=!1,t.accumulatedWeightedInfNorm[i]=pt(o).variable(s));var a=e[i],u=t.accumulatedFirstMoment[i],l=t.accumulatedWeightedInfNorm[i],c=t.beta1Scalar.mul(u).add(t.oneMinusBeta1.mul(a)),h=t.beta2Scalar.mul(l),d=a.abs(),p=h.maximum(d);t.accumulatedFirstMoment[i].assign(c),t.accumulatedWeightedInfNorm[i].assign(p);var f=r.div(n).mul(c.div(t.epsScalar.add(p))).add(o);o.assign(f)}t.iteration.assign(t.iteration.add(t.one)),t.accBeta1.assign(t.accBeta1.mul(t.beta1Scalar))})},t.prototype.dispose=function(){var e=this;this.c.dispose(),this.epsScalar.dispose(),this.accBeta1.dispose(),this.beta1Scalar.dispose(),this.beta2Scalar.dispose(),this.oneMinusBeta1.dispose(),this.decayScalar.dispose(),this.iteration.dispose(),this.one.dispose(),null!=this.accumulatedFirstMoment&&Object.keys(this.accumulatedFirstMoment).forEach(function(t){return e.accumulatedFirstMoment[t].dispose()}),null!=this.accumulatedWeightedInfNorm&&Object.keys(this.accumulatedWeightedInfNorm).forEach(function(t){return e.accumulatedWeightedInfNorm[t].dispose()})},t.prototype.getConfig=function(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}},t.fromConfig=function(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)},t.className=\"AdamaxOptimizer\",t}(Ou);Mu.register(Vu);var Hu=function(e){function t(t){var n=e.call(this)||this;return n.learningRate=t,n.setLearningRate(t),n}return a(t,e),t.prototype.applyGradients=function(e){var t=this;Object.keys(e).forEach(function(n){var r=e[n],i=me.engine.registeredVariables[n];qo(function(){var e=t.c.mul(r).add(i);i.assign(e)})})},t.prototype.setLearningRate=function(e){this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=Qo(qe(-e))},t.prototype.dispose=function(){this.c.dispose()},t.prototype.getConfig=function(){return{learningRate:this.learningRate}},t.fromConfig=function(e,t){return new e(t.learningRate)},t.className=\"SGDOptimizer\",t}(Ou);Mu.register(Hu);var Uu=function(e){function t(t,n,r){void 0===r&&(r=!1);var i=e.call(this,t)||this;return i.learningRate=t,i.momentum=n,i.useNesterov=r,i.m=qe(i.momentum),i.accumulations={},i}return a(t,e),t.prototype.applyGradients=function(e){var t=this,n=function(n){var i=me.engine.registeredVariables[n];null==r.accumulations[n]&&qo(function(){t.accumulations[n]=pt(i).variable(!1)});var o=r.accumulations[n],s=e[n];qo(function(){var e,r=t.m.mul(o).add(s);e=t.useNesterov?t.c.mul(s.add(r.mul(t.m))).add(i):t.c.mul(r).add(i),t.accumulations[n].assign(r),i.assign(e)})},r=this;for(var i in e)n(i)},t.prototype.dispose=function(){if(e.prototype.dispose.call(this),this.m.dispose(),null!=this.accumulations)for(var t in this.accumulations)this.accumulations[t].dispose()},t.prototype.setMomentum=function(e){this.momentum=e},t.prototype.getConfig=function(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}},t.fromConfig=function(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)},t.className=\"MomentumOptimizer\",t}(Hu);Mu.register(Uu);var Yu=function(e){function t(t,n,r,i,o){void 0===n&&(n=.9),void 0===r&&(r=0),void 0===i&&(i=null),void 0===o&&(o=!1);var s=e.call(this)||this;return s.learningRate=t,s.decay=n,s.momentum=r,s.epsilon=i,s.accumulatedMeanSquares={},s.accumulatedMeanGrads={},s.accumulatedMoments={},s.c=Qo(qe(t)),s.decayScalar=Qo(qe(n)),s.momentumScalar=Qo(qe(r)),s.oneMinusDecay=Qo(qe(1-n)),s.centered=o,null===i&&(i=Ru()),s.epsilonScalar=Qo(qe(i)),s}return a(t,e),t.prototype.applyGradients=function(e){var t=this,n=function(n){var i=me.engine.registeredVariables[n];null==r.accumulatedMeanSquares[n]&&qo(function(){t.accumulatedMeanSquares[n]=pt(i).variable(!1)}),null==r.accumulatedMeanGrads[n]&&r.centered&&qo(function(){t.accumulatedMeanGrads[n]=pt(i).variable(!1)}),null==r.accumulatedMoments[n]&&qo(function(){t.accumulatedMoments[n]=pt(i).variable(!1)});var o=r.accumulatedMeanSquares[n],s=r.accumulatedMeanGrads[n],a=r.accumulatedMoments[n],u=e[n];qo(function(){var e=t.decayScalar.mul(o).add(t.oneMinusDecay.mul(u.square()));if(t.centered){var r=t.decayScalar.mul(s).add(t.oneMinusDecay.mul(u)),l=t.momentumScalar.mul(a).add(t.c.mul(u).div(e.sub(r.square().add(t.epsilonScalar)).sqrt()));t.accumulatedMeanSquares[n].assign(e),t.accumulatedMeanGrads[n].assign(r),t.accumulatedMoments[n].assign(l);var c=i.sub(l);i.assign(c)}else{var h=t.decayScalar.mul(o).add(t.oneMinusDecay.mul(u.square()));l=t.momentumScalar.mul(a).add(t.c.mul(u).div(h.add(t.epsilonScalar).sqrt())),t.accumulatedMeanSquares[n].assign(h),t.accumulatedMoments[n].assign(l),c=i.sub(l),i.assign(c)}})},r=this;for(var i in e)n(i)},t.prototype.dispose=function(){var e=this;this.c.dispose(),this.epsilonScalar.dispose(),this.decayScalar.dispose(),this.momentumScalar.dispose(),this.oneMinusDecay.dispose(),null!=this.accumulatedMeanSquares&&Object.keys(this.accumulatedMeanSquares).forEach(function(t){return e.accumulatedMeanSquares[t].dispose()}),null!=this.accumulatedMeanGrads&&this.centered&&Object.keys(this.accumulatedMeanGrads).forEach(function(t){return e.accumulatedMeanGrads[t].dispose()}),null!=this.accumulatedMoments&&Object.keys(this.accumulatedMoments).forEach(function(t){return e.accumulatedMoments[t].dispose()})},t.prototype.getConfig=function(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}},t.fromConfig=function(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)},t.className=\"RMSPropOptimizer\",t}(Ou);Mu.register(Yu);var Zu=function(){function e(){}return e.sgd=function(e){return new Hu(e)},e.momentum=function(e,t,n){return void 0===n&&(n=!1),new Uu(e,t,n)},e.rmsprop=function(e,t,n,r,i){return void 0===t&&(t=.9),void 0===n&&(n=0),void 0===r&&(r=null),void 0===i&&(i=!1),new Yu(e,t,n,r,i)},e.adam=function(e,t,n,r){return void 0===e&&(e=.001),void 0===t&&(t=.9),void 0===n&&(n=.999),void 0===r&&(r=null),new Wu(e,t,n,r)},e.adadelta=function(e,t,n){return void 0===e&&(e=.001),void 0===t&&(t=.95),void 0===n&&(n=null),new ju(e,t,n)},e.adamax=function(e,t,n,r,i){return void 0===e&&(e=.002),void 0===t&&(t=.9),void 0===n&&(n=.999),void 0===r&&(r=null),void 0===i&&(i=0),new Vu(e,t,n,r,i)},e.adagrad=function(e,t){return void 0===t&&(t=.1),new zu(e,t)},e}(),Gu={sgd:Zu.sgd,momentum:Zu.momentum,adadelta:Zu.adadelta,adagrad:Zu.adagrad,rmsprop:Zu.rmsprop,adamax:Zu.adamax,adam:Zu.adam},Ku=ge.setBackend,qu=ge.getBackend,Qu=ge.disposeVariables,Xu=ge.memory;!function(e){X=e}(ka)}.call(this,n(21),n(17),n(196).setImmediate,n(12).Buffer)},function(e,t,n){\"use strict\";(function(e,r){var i;n.d(t,\"a\",function(){return o}),n.d(t,\"b\",function(){return s}),function(){var t=Object.create(null);t[\"WinJS/Core/_WinJS\"]={};var n=function(e,n,r){var i={},o=!1,s=n.map(function(e){return\"exports\"===e?(o=!0,i):t[e]}),a=r.apply({},s);t[e]=o?i:a};n(\"WinJS/Core/_Global\",[],function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:void 0!==e?e:{}}),n(\"WinJS/Core/_BaseCoreUtils\",[\"WinJS/Core/_Global\"],function(e){var t=null;return{hasWinRT:!!e.Windows,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:function(n){null===t&&(t=e.setImmediate?e.setImmediate.bind(e):void 0!==r&&\"function\"==typeof r.nextTick?r.nextTick.bind(r):e.setTimeout.bind(e)),t(n)}}}),n(\"WinJS/Core/_WriteProfilerMark\",[\"WinJS/Core/_Global\"],function(e){return e.msWriteProfilerMark||function(){}}),n(\"WinJS/Core/_Base\",[\"WinJS/Core/_WinJS\",\"WinJS/Core/_Global\",\"WinJS/Core/_BaseCoreUtils\",\"WinJS/Core/_WriteProfilerMark\"],function(e,t,n,r){function i(e,t,n){var r,i,o,s=Object.keys(t),a=Array.isArray(e);for(i=0,o=s.length;i<o;i++){var u=s[i],l=95!==u.charCodeAt(0),c=t[u];!c||\"object\"!=typeof c||void 0===c.value&&\"function\"!=typeof c.get&&\"function\"!=typeof c.set?l?a?e.forEach(function(e){e[u]=c}):e[u]=c:(r=r||{})[u]={value:c,enumerable:l,configurable:!0,writable:!0}:(void 0===c.enumerable&&(c.enumerable=l),n&&c.setName&&\"function\"==typeof c.setName&&c.setName(n+\".\"+u),(r=r||{})[u]=c)}r&&(a?e.forEach(function(e){Object.defineProperties(e,r)}):Object.defineProperties(e,r))}return function(){var n=e;function o(n,r){var i=n||{};if(r){var o=r.split(\".\");i===t&&\"WinJS\"===o[0]&&(i=e,o.splice(0,1));for(var s=0,a=o.length;s<a;s++){var u=o[s];i[u]||Object.defineProperty(i,u,{value:{},writable:!1,enumerable:!0,configurable:!0}),i=i[u]}}return i}function s(e,t,n){var r=o(e,t);return n&&i(r,n,t||\"<ANONYMOUS>\"),r}n.Namespace||(n.Namespace=Object.create(Object.prototype));var a={uninitialized:1,working:2,initialized:3};Object.defineProperties(n.Namespace,{defineWithParent:{value:s,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,n){return s(t,e,n)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,n,i=a.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case a.initialized:return n;case a.uninitialized:i=a.working;try{r(\"WinJS.Namespace._lazy:\"+t+\",StartTM\"),n=e()}finally{r(\"WinJS.Namespace._lazy:\"+t+\",StopTM\"),i=a.uninitialized}return e=null,i=a.initialized,n;case a.working:throw\"Illegal: reentrancy on initialization\";default:throw\"Illegal\"}},set:function(e){switch(i){case a.working:throw\"Illegal: reentrancy on initialization\";default:i=a.initialized,n=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,n,r){var s=[e],a=null;return n&&(a=o(t,n),s.push(a)),i(s,r,n||\"<ANONYMOUS>\"),a},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,r){return e=e||function(){},n.markSupportedForProcessing(e),t&&i(e.prototype,t),r&&i(e,r),e}e.Namespace.define(\"WinJS.Class\",{define:t,derive:function(e,r,o,s){if(e){r=r||function(){};var a=e.prototype;return r.prototype=Object.create(a),n.markSupportedForProcessing(r),Object.defineProperty(r.prototype,\"constructor\",{value:r,writable:!0,configurable:!0,enumerable:!0}),o&&i(r.prototype,o),s&&i(r,s),r}return t(r,o,s)},mix:function(e){var t,n;for(e=e||function(){},t=1,n=arguments.length;t<n;t++)i(e.prototype,arguments[t]);return e}})}(),{Namespace:e.Namespace,Class:e.Class}}),n(\"WinJS/Core/_ErrorFromName\",[\"WinJS/Core/_Base\"],function(e){var t=e.Class.derive(Error,function(e,t){this.name=e,this.message=t||e},{},{supportedForProcessing:!1});return e.Namespace.define(\"WinJS\",{ErrorFromName:t}),t}),n(\"WinJS/Core/_Events\",[\"exports\",\"WinJS/Core/_Base\"],function(e,t){function n(e){var t=\"_on\"+e+\"state\";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(n){var r=this[t];n?(r||(r={wrapper:function(e){return r.userHandler(e)},userHandler:n},Object.defineProperty(this,t,{value:r,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,r.wrapper,!1)),r.userHandler=n):r&&(this.removeEventListener(e,r.wrapper,!1),this[t]=null)},enumerable:!0}}var r=t.Class.define(function(e,t,n){this.detail=t,this.target=n,this.timeStamp=Date.now(),this.type=e},{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),i={_listeners:null,addEventListener:function(e,t,n){n=n||!1,this._listeners=this._listeners||{};for(var r=this._listeners[e]=this._listeners[e]||[],i=0,o=r.length;i<o;i++){var s=r[i];if(s.useCapture===n&&s.listener===t)return}r.push({listener:t,useCapture:n})},dispatchEvent:function(e,t){var n=this._listeners&&this._listeners[e];if(n){for(var i=new r(e,t,this),o=0,s=(n=n.slice(0,n.length)).length;o<s&&!i._stopImmediatePropagationCalled;o++)n[o].listener(i);return i.defaultPrevented||!1}return!1},removeEventListener:function(e,t,n){n=n||!1;var r=this._listeners&&this._listeners[e];if(r)for(var i=0,o=r.length;i<o;i++){var s=r[i];if(s.listener===t&&s.useCapture===n){r.splice(i,1),0===r.length&&delete this._listeners[e];break}}}};t.Namespace._moduleDefine(e,\"WinJS.Utilities\",{_createEventProperty:n,createEventProperties:function(){for(var e={},t=0,r=arguments.length;t<r;t++){var i=arguments[t];e[\"on\"+i]=n(i)}return e},eventMixin:i})}),n(\"WinJS/Core/_Trace\",[\"WinJS/Core/_Global\"],function(e){function t(e){return e}return{_traceAsyncOperationStarting:e.Debug&&e.Debug.msTraceAsyncOperationStarting&&e.Debug.msTraceAsyncOperationStarting.bind(e.Debug)||t,_traceAsyncOperationCompleted:e.Debug&&e.Debug.msTraceAsyncOperationCompleted&&e.Debug.msTraceAsyncOperationCompleted.bind(e.Debug)||t,_traceAsyncCallbackStarting:e.Debug&&e.Debug.msTraceAsyncCallbackStarting&&e.Debug.msTraceAsyncCallbackStarting.bind(e.Debug)||t,_traceAsyncCallbackCompleted:e.Debug&&e.Debug.msTraceAsyncCallbackCompleted&&e.Debug.msTraceAsyncCallbackCompleted.bind(e.Debug)||t}}),n(\"WinJS/Promise/_StateMachine\",[\"WinJS/Core/_Global\",\"WinJS/Core/_BaseCoreUtils\",\"WinJS/Core/_Base\",\"WinJS/Core/_ErrorFromName\",\"WinJS/Core/_Events\",\"WinJS/Core/_Trace\"],function(e,t,n,r,i,o){e.Debug&&(e.Debug.setNonUserCodeExceptions=!0);var s=new(n.Class.mix(n.Class.define(null,{},{supportedForProcessing:!1}),i.eventMixin));s._listeners={};var a=\"error\",u=\"Canceled\",l=!1,c={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};c.all=c.promise|c.thenPromise|c.errorPromise|c.exceptionPromise|c.completePromise;var h,d,p,f,g,m,v,y,b,_,C=1;function w(){}h={name:\"created\",enter:function(e){e._setState(d)},cancel:w,done:w,then:w,_completed:w,_error:w,_notify:w,_progress:w,_setCompleteValue:w,_setErrorValue:w},d={name:\"working\",enter:w,cancel:function(e){e._setState(g)},done:I,then:z,_completed:E,_error:L,_notify:w,_progress:O,_setCompleteValue:j,_setErrorValue:R},p={name:\"waiting\",enter:function(e){var t=e._value;if(t instanceof V&&t._state!==_&&t._state!==y)P(t,{promise:e});else{var n=function(r){t._errorId?e._chainedError(r,t):(F(e,r,S,t,n),e._error(r))};n.handlesOnError=!0,t.then(e._completed.bind(e),n,e._progress.bind(e))}},cancel:function(e){e._setState(f)},done:I,then:z,_completed:E,_error:L,_notify:w,_progress:O,_setCompleteValue:j,_setErrorValue:R},f={name:\"waiting_canceled\",enter:function(e){e._setState(m);var t=e._value;t.cancel&&t.cancel()},cancel:w,done:I,then:z,_completed:E,_error:L,_notify:w,_progress:O,_setCompleteValue:j,_setErrorValue:R},g={name:\"canceled\",enter:function(e){e._setState(m),e._cancelAction()},cancel:w,done:I,then:z,_completed:E,_error:L,_notify:w,_progress:O,_setCompleteValue:j,_setErrorValue:R},m={name:\"canceling\",enter:function(e){var t=new Error(u);t.name=t.message,e._value=t,e._setState(b)},cancel:w,done:w,then:w,_completed:w,_error:w,_notify:w,_progress:w,_setCompleteValue:w,_setErrorValue:w},v={name:\"complete_notify\",enter:function(e){if(e.done=Y.prototype.done,e.then=Y.prototype.then,e._listeners)for(var t,n=[e];n.length;)(t=n.shift())._state._notify(t,n);e._setState(y)},cancel:w,done:null,then:null,_completed:w,_error:w,_notify:k,_progress:w,_setCompleteValue:w,_setErrorValue:w},y={name:\"success\",enter:function(e){e.done=Y.prototype.done,e.then=Y.prototype.then,e._cleanupAction()},cancel:w,done:null,then:null,_completed:w,_error:w,_notify:k,_progress:w,_setCompleteValue:w,_setErrorValue:w},b={name:\"error_notify\",enter:function(e){if(e.done=H.prototype.done,e.then=H.prototype.then,e._listeners)for(var t,n=[e];n.length;)(t=n.shift())._state._notify(t,n);e._setState(_)},cancel:w,done:null,then:null,_completed:w,_error:w,_notify:T,_progress:w,_setCompleteValue:w,_setErrorValue:w},_={name:\"error\",enter:function(e){e.done=H.prototype.done,e.then=H.prototype.then,e._cleanupAction()},cancel:w,done:null,then:null,_completed:w,_error:w,_notify:T,_progress:w,_setCompleteValue:w,_setErrorValue:w};var D=n.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,n){this._state.done(this,e,t,n)},then:function(e,t,n){return this._state.then(this,e,t,n)},_chainedError:function(e,t){var n=this._state._error(this,e,x,t);return this._run(),n},_completed:function(e){var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,M);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var n=this._state._setErrorValue(this,e,x,t);return this._run(),n},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,N);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1});function E(e,t){var n;n=t&&\"object\"==typeof t&&\"function\"==typeof t.then?p:v,e._value=t,e._setState(n)}function A(e,t,n,r,i,o){return{exception:e,error:t,promise:n,handler:o,id:r,parent:i}}function S(e,t,n,r){var i=n._isException,o=n._errorId;return A(i?t:null,i?null:t,e,o,n,r)}function x(e,t,n){var r=n._isException,i=n._errorId;return B(e,i,r),A(r?t:null,r?null:t,e,i,n)}function M(e,t){var n=++C;return B(e,n),A(null,t,e,n)}function N(e,t){var n=++C;return B(e,n,!0),A(t,null,e,n)}function I(e,t,n,r){P(e,{c:t,e:n,p:r,asyncOpID:o._traceAsyncOperationStarting(\"WinJS.Promise.done\")})}function L(e,t,n,r){e._value=t,F(e,t,n,r),e._setState(b)}function k(t,n){var r,i,s=t._value,a=t._listeners;if(a)for(t._listeners=null,r=0,i=Array.isArray(a)?a.length:1;r<i;r++){var u=1===i?a:a[r],l=u.c,c=u.promise;if(o._traceAsyncOperationCompleted(u.asyncOpID,e.Debug&&e.Debug.MS_ASYNC_OP_STATUS_SUCCESS),c){o._traceAsyncCallbackStarting(u.asyncOpID);try{c._setCompleteValue(l?l(s):s)}catch(e){c._setExceptionValue(e)}finally{o._traceAsyncCallbackCompleted()}c._state!==p&&c._listeners&&n.push(c)}else Y.prototype.done.call(t,l)}}function T(t,n){var r,i,s=t._value,a=t._listeners;if(a)for(t._listeners=null,r=0,i=Array.isArray(a)?a.length:1;r<i;r++){var l=1===i?a:a[r],c=l.e,h=l.promise,d=e.Debug&&(s&&s.name===u?e.Debug.MS_ASYNC_OP_STATUS_CANCELED:e.Debug.MS_ASYNC_OP_STATUS_ERROR);if(o._traceAsyncOperationCompleted(l.asyncOpID,d),h){var f=!1;try{c?(o._traceAsyncCallbackStarting(l.asyncOpID),f=!0,c.handlesOnError||F(h,s,S,t,c),h._setCompleteValue(c(s))):h._setChainedErrorValue(s,t)}catch(e){h._setExceptionValue(e)}finally{f&&o._traceAsyncCallbackCompleted()}h._state!==p&&h._listeners&&n.push(h)}else H.prototype.done.call(t,null,c)}}function F(e,t,n,r,i){if(s._listeners[a]){if(t instanceof Error&&t.message===u)return;s.dispatchEvent(a,n(e,t,r,i))}}function O(e,t){var n,r,i=e._listeners;if(i)for(n=0,r=Array.isArray(i)?i.length:1;n<r;n++){var o=1===r?i:i[n],s=o.p;if(s)try{s(t)}catch(e){}o.c||o.e||!o.promise||o.promise._progress(t)}}function P(e,t){var n=e._listeners;n?(n=Array.isArray(n)?n:[n]).push(t):n=t,e._listeners=n}function B(e,t,n){e._isException=n||!1,e._errorId=t}function R(e,t,n,r){e._value=t,F(e,t,n,r),e._setState(_)}function j(e,t){var n;n=t&&\"object\"==typeof t&&\"function\"==typeof t.then?p:y,e._value=t,e._setState(n)}function z(e,t,n,r){var i=new V(e);return P(e,{promise:i,c:t,e:n,p:r,asyncOpID:o._traceAsyncOperationStarting(\"WinJS.Promise.then\")}),i}var W,V=n.Class.derive(D,function(e){l&&(!0===l||l&c.thenPromise)&&(this._stack=Z._getStack()),this._creator=e,this._setState(h),this._run()},{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),H=n.Class.define(function(e){l&&(!0===l||l&c.errorPromise)&&(this._stack=Z._getStack()),this._value=e,F(this,e,M)},{cancel:function(){},done:function(e,t){var n=this._value;if(t)try{t.handlesOnError||F(null,n,S,this,t);var r=t(n);return void(r&&\"object\"==typeof r&&\"function\"==typeof r.done&&r.done())}catch(e){n=e}n instanceof Error&&n.message===u||Z._doneHandler(n)},then:function(e,t){if(!t)return this;var n,r=this._value;try{t.handlesOnError||F(null,r,S,this,t),n=new Y(t(r))}catch(e){n=e===r?this:new U(e)}return n}},{supportedForProcessing:!1}),U=n.Class.derive(H,function(e){l&&(!0===l||l&c.exceptionPromise)&&(this._stack=Z._getStack()),this._value=e,F(this,e,N)},{},{supportedForProcessing:!1}),Y=n.Class.define(function(e){if(l&&(!0===l||l&c.completePromise)&&(this._stack=Z._getStack()),e&&\"object\"==typeof e&&\"function\"==typeof e.then){var t=new V(null);return t._setCompleteValue(e),t}this._value=e},{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&\"object\"==typeof t&&\"function\"==typeof t.done&&t.done()}catch(e){Z._doneHandler(e)}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new Y(t)}catch(e){return new U(e)}}},{supportedForProcessing:!1});var Z=n.Class.derive(D,function(e,t){l&&(!0===l||l&c.promise)&&(this._stack=Z._getStack()),this._oncancel=t,this._setState(h),this._run();try{e(this._completed.bind(this),this._error.bind(this),this._progress.bind(this))}catch(e){this._setExceptionValue(e)}},{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error(\"Promise did not implement oncancel\");this._oncancel()}catch(e){e.message,e.stack;s.dispatchEvent(\"error\",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,n){s.addEventListener(e,t,n)},any:function(e){return new Z(function(t,n){var r=Object.keys(e);0===r.length&&t();var i=0;r.forEach(function(o){Z.as(e[o]).then(function(){t({key:o,value:e[o]})},function(s){s instanceof Error&&s.name===u?++i===r.length&&t(Z.cancel):n({key:o,value:e[o]})})})},function(){Object.keys(e).forEach(function(t){var n=Z.as(e[t]);\"function\"==typeof n.cancel&&n.cancel()})})},as:function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.then?e:new Y(e)},cancel:{get:function(){return W=W||new H(new r(u))}},dispatchEvent:function(e,t){return s.dispatchEvent(e,t)},is:function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.then},join:function(e){return new Z(function(t,n,r){var i=Object.keys(e),o=Array.isArray(e)?[]:{},s=Array.isArray(e)?[]:{},a=0,l=i.length,c=function(e){if(0==--l){var a=Object.keys(o).length;if(0===a)t(s);else{var c=0;i.forEach(function(e){var t=o[e];t instanceof Error&&t.name===u&&c++}),c===a?t(Z.cancel):n(o)}}else r({Key:e,Done:!0})};i.forEach(function(t){var n=e[t];void 0===n?a++:Z.then(n,function(e){s[t]=e,c(t)},function(e){o[t]=e,c(t)})}),0!==(l-=a)||t(s)},function(){Object.keys(e).forEach(function(t){var n=Z.as(e[t]);\"function\"==typeof n.cancel&&n.cancel()})})},removeEventListener:function(e,t,n){s.removeEventListener(e,t,n)},supportedForProcessing:!1,then:function(e,t,n,r){return Z.as(e).then(t,n,r)},thenEach:function(e,t,n,r){var i=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(o){i[o]=Z.as(e[o]).then(t,n,r)}),Z.join(i)},timeout:function(n,r){var i,o,s=(i=n,new Z(function(n){i?o=e.setTimeout(n,i):t._setImmediate(n)},function(){o&&e.clearTimeout(o)}));return r?function(e,t){var n=function(){e.cancel()};return e.then(function(){t.cancel()}),t.then(n,n),t}(s,r):s},wrap:function(e){return new Y(e)},wrapError:function(e){return new H(e)},_veryExpensiveTagWithStack:{get:function(){return l},set:function(e){l=e}},_veryExpensiveTagWithStack_tag:c,_getStack:function(){if(e.Debug&&e.Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}},_cancelBlocker:function(e,t){if(!Z.is(e))return Z.wrap(e);var n,r,i=new Z(function(e,t){n=e,r=t},function(){n=null,r=null,t&&t()});return e.then(function(e){n&&n(e)},function(e){r&&r(e)}),i}});return Object.defineProperties(Z,i.createEventProperties(a)),Z._doneHandler=function(e){t._setImmediate(function(){throw e})},{PromiseStateMachine:D,Promise:Z,state_created:h}}),n(\"WinJS/Promise\",[\"WinJS/Core/_Base\",\"WinJS/Promise/_StateMachine\"],function(e,t){return e.Namespace.define(\"WinJS\",{Promise:t.Promise}),t.Promise}),(i=t[\"WinJS/Core/_WinJS\"]).TPromise=i.Promise,i.PPromise=i.Promise}();var o=i.Promise,s=i.TPromise;i.PPromise}).call(this,n(17),n(21))},function(e,t,n){\"use strict\";(function(e,r){n.d(t,\"g\",function(){return f}),n.d(t,\"d\",function(){return g}),n.d(t,\"c\",function(){return m}),n.d(t,\"e\",function(){return v}),n.d(t,\"f\",function(){return y}),n.d(t,\"b\",function(){return b}),n.d(t,\"h\",function(){return C}),n.d(t,\"a\",function(){return w});var i,o=!1,s=!1,a=!1,u=!1,l=!1;if(\"object\"==typeof e&&\"function\"==typeof e.nextTick&&\"string\"==typeof e.platform){o=\"win32\"===e.platform,s=\"darwin\"===e.platform,a=\"linux\"===e.platform;var c=e.env.VSCODE_NLS_CONFIG;if(c)try{var h=JSON.parse(c),d=h.availableLanguages[\"*\"];h.locale,d||\"en\",h._translationsConfigFile}catch(e){}u=!0}else if(\"object\"==typeof navigator){var p=navigator.userAgent;o=p.indexOf(\"Windows\")>=0,s=p.indexOf(\"Macintosh\")>=0,a=p.indexOf(\"Linux\")>=0,l=!0,navigator.language}!function(e){e[e.Web=0]=\"Web\",e[e.Mac=1]=\"Mac\",e[e.Linux=2]=\"Linux\",e[e.Windows=3]=\"Windows\"}(i||(i={}));i.Web;u&&(s?i.Mac:o?i.Windows:a&&i.Linux);var f=o,g=s,m=a,v=u,y=l;var b=\"object\"==typeof self?self:\"object\"==typeof r?r:{},_=null;function C(t){return null===_&&(_=b.setImmediate?b.setImmediate.bind(b):void 0!==e&&\"function\"==typeof e.nextTick?e.nextTick.bind(e):b.setTimeout.bind(b)),_(t)}var w=s?2:o?1:3}).call(this,n(21),n(17))},function(e,t,n){\"use strict\";e.exports=n(70)},function(e,t,n){var r=n(289);e.exports=function(e,t,n){return t in e?r(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||\"\",r=e[3];if(!r)return n;if(t&&\"function\"==typeof btoa){var i=(s=r,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+\" */\"),o=r.sources.map(function(e){return\"/*# sourceURL=\"+r.sourceRoot+e+\" */\"});return[n].concat(o).concat([i]).join(\"\\n\")}var s;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];\"number\"==typeof o&&(r[o]=!0)}for(i=0;i<e.length;i++){var s=e[i];\"number\"==typeof s[0]&&r[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]=\"(\"+s[2]+\") and (\"+n+\")\"),t.push(s))}},t}},function(e,t,n){var r,i,o={},s=(r=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===i&&(i=r.apply(this,arguments)),i}),a=function(e){var t={};return function(e){if(\"function\"==typeof e)return e();if(void 0===t[e]){var n=function(e){return document.querySelector(e)}.call(this,e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),u=null,l=0,c=[],h=n(295);function d(e,t){for(var n=0;n<e.length;n++){var r=e[n],i=o[r.id];if(i){i.refs++;for(var s=0;s<i.parts.length;s++)i.parts[s](r.parts[s]);for(;s<r.parts.length;s++)i.parts.push(y(r.parts[s],t))}else{var a=[];for(s=0;s<r.parts.length;s++)a.push(y(r.parts[s],t));o[r.id]={id:r.id,refs:1,parts:a}}}}function p(e,t){for(var n=[],r={},i=0;i<e.length;i++){var o=e[i],s=t.base?o[0]+t.base:o[0],a={css:o[1],media:o[2],sourceMap:o[3]};r[s]?r[s].parts.push(a):n.push(r[s]={id:s,parts:[a]})}return n}function f(e,t){var n=a(e.insertInto);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");var r=c[c.length-1];if(\"top\"===e.insertAt)r?r.nextSibling?n.insertBefore(t,r.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),c.push(t);else if(\"bottom\"===e.insertAt)n.appendChild(t);else{if(\"object\"!=typeof e.insertAt||!e.insertAt.before)throw new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");var i=a(e.insertInto+\" \"+e.insertAt.before);n.insertBefore(t,i)}}function g(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=c.indexOf(e);t>=0&&c.splice(t,1)}function m(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),v(t,e.attrs),f(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var s=l++;n=u||(u=m(t)),r=C.bind(null,n,s,!1),i=C.bind(null,n,s,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",v(t,e.attrs),f(e,t),t}(t),r=function(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=h(r));i&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\");var s=new Blob([r],{type:\"text/css\"}),a=e.href;e.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}.bind(null,n,t),i=function(){g(n),n.href&&URL.revokeObjectURL(n.href)}):(n=m(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute(\"media\",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){g(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=p(e,t);return d(n,t),function(e){for(var r=[],i=0;i<n.length;i++){var s=n[i];(a=o[s.id]).refs--,r.push(a)}e&&d(p(e,t),t);for(i=0;i<r.length;i++){var a;if(0===(a=r[i]).refs){for(var u=0;u<a.parts.length;u++)a.parts[u]();delete o[a.id]}}}};var b,_=(b=[],function(e,t){return b[e]=t,b.filter(Boolean).join(\"\\n\")});function C(e,t,n,r){var i=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){var r=n(268),i=n(273),o=n(286),s=n(4);e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=o(n);\"function\"==typeof i&&(a=a.concat(i(n).filter(function(e){return r(n,e).enumerable}))),a.forEach(function(t){s(e,t,n[t])})}return e}},function(e,t,n){var r=n(12),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),o(i,s),s.from=function(e,t,n){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return i(e,t,n)},s.alloc=function(e,t,n){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var r=i(e);return void 0!==t?\"string\"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i(e)},s.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return r.SlowBuffer(e)}},function(e,t,n){\"use strict\";for(var r=n(140),i={},o=0;o<128;o++)i[o]=String.fromCharCode(o);i[\"'\".charCodeAt(0)]=\"\\\\'\",i['\"'.charCodeAt(0)]='\\\\\"',i[\"\\\\\".charCodeAt(0)]=\"\\\\\\\\\",i[\"\\b\".charCodeAt(0)]=\"\\\\b\",i[\"\\f\".charCodeAt(0)]=\"\\\\f\",i[\"\\n\".charCodeAt(0)]=\"\\\\n\",i[\"\\r\".charCodeAt(0)]=\"\\\\r\",i[\"\\t\".charCodeAt(0)]=\"\\\\t\",i[\"\\v\".charCodeAt(0)]=\"\\\\v\",t.abstract=function(e){var t=e||\"\";return function(){throw new Error(\"this method \"+t+\" is abstract! (it has no implementation in class \"+this.constructor.name+\")\")}},t.assert=function(e,t){if(!e)throw new Error(t)},t.defineLazyProperty=function(e,t,n){var r;Object.defineProperty(e,t,{get:function(){return r||(r=n.call(this)),r}})},t.clone=function(e){return e?r({},e):e},t.extend=r,t.repeatFn=function(e,t){for(var n=[];t-- >0;)n.push(e());return n},t.repeatStr=function(e,t){return new Array(t+1).join(e)},t.repeat=function(e,n){return t.repeatFn(function(){return e},n)},t.getDuplicates=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];e.lastIndexOf(r)!==n&&t.indexOf(r)<0&&t.push(r)}return t},t.copyWithoutDuplicates=function(e){var t=[];return e.forEach(function(e){t.indexOf(e)<0&&t.push(e)}),t},t.isSyntactic=function(e){var t=e[0];return t===t.toUpperCase()},t.isLexical=function(e){return!t.isSyntactic(e)},t.padLeft=function(e,n,r){var i=r||\" \";return e.length<n?t.repeatStr(i,n-e.length)+e:e},t.StringBuffer=function(){this.strings=[]},t.StringBuffer.prototype.append=function(e){this.strings.push(e)},t.StringBuffer.prototype.contents=function(){return this.strings.join(\"\")},t.escapeChar=function(e,n){var r=e.charCodeAt(0);return'\"'!==e&&\"'\"!==e||!n||e===n?r<128?i[r]:128<=r&&r<256?\"\\\\x\"+t.padLeft(r.toString(16),2,\"0\"):\"\\\\u\"+t.padLeft(r.toString(16),4,\"0\"):e},t.unescapeChar=function(e){if(\"\\\\\"!==e.charAt(0))return e;switch(e.charAt(1)){case\"b\":return\"\\b\";case\"f\":return\"\\f\";case\"n\":return\"\\n\";case\"r\":return\"\\r\";case\"t\":return\"\\t\";case\"v\":return\"\\v\";case\"x\":return String.fromCharCode(parseInt(e.substring(2,4),16));case\"u\":return String.fromCharCode(parseInt(e.substring(2,6),16));default:return e.charAt(1)}},t.unexpectedObjToString=function(e){if(null==e)return String(e);var t=Object.prototype.toString.call(e);try{return(e.constructor&&e.constructor.name?e.constructor.name:0===t.indexOf(\"[object \")?t.slice(8,-1):typeof e)+\": \"+JSON.stringify(String(e))}catch(e){return t}}},,function(e,t,n){\"use strict\";(function(e){\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\nvar r=n(292),i=n(293),o=n(186);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError(\"Invalid typed array length\");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,n){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return h(this,e)}return l(this,e,t,n)}function l(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=d(e,t);return e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){\"string\"==typeof n&&\"\"!==n||(n=\"utf8\");if(!u.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|f(t,n),i=(e=a(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(u.isBuffer(t)){var n=0|p(t.length);return 0===(e=a(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?a(e,0):d(e,t);if(\"Buffer\"===t.type&&o(t.data))return d(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function c(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function h(e,t){if(c(t),e=a(e,t<0?0:0|p(t)),!u.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t){var n=t.length<0?0:0|p(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function p(e){if(e>=s())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+s().toString(16)+\" bytes\");return 0|e}function f(e,t){if(u.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return z(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return W(e).length;default:if(r)return z(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function v(e,t,n,r,i){var o,s=1,a=e.length,u=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(o=n;o<a;o++)if(l(e,o)===l(t,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===u)return c*s}else-1!==c&&(o-=o-c),c=-1}else for(n+u>a&&(n=a-u),o=n;o>=0;o--){for(var h=!0,d=0;d<u;d++)if(l(e,o+d)!==l(t,d)){h=!1;break}if(h)return o}return-1}function y(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function b(e,t,n,r){return V(z(t,e.length-n),e,n,r)}function _(e,t,n,r){return V(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function C(e,t,n,r){return _(e,t,n,r)}function w(e,t,n,r){return V(W(t),e,n,r)}function D(e,t,n,r){return V(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)n=e.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function E(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,u,l=e[i],c=null,h=l>239?4:l>223?3:l>191?2:1;if(i+h<=n)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(u=(15&l)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(c=u)}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h}return function(e){var t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=S));return n}(r)}t.Buffer=u,t.SlowBuffer=function(e){+e!=e&&(e=0);return u.alloc(+e)},t.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,n){return l(null,e,t,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,n){return function(e,t,n,r){return c(t),t<=0?a(e,t):void 0!==n?\"string\"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},u.allocUnsafe=function(e){return h(null,e)},u.allocUnsafeSlow=function(e){return h(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},u.concat=function(e,t){if(!o(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=u.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!u.isBuffer(s))throw new TypeError('\"list\" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},u.byteLength=f,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?A(this,0,e):function(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return N(this,t,n);case\"utf8\":case\"utf-8\":return A(this,t,n);case\"ascii\":return x(this,t,n);case\"latin1\":case\"binary\":return M(this,t,n);case\"base64\":return E(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return I(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,s=n-t,a=Math.min(o,s),l=this.slice(r,i),c=e.slice(t,n),h=0;h<a;++h)if(l[h]!==c[h]){o=l[h],s=c[h];break}return o<s?-1:s<o?1:0},u.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},u.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},u.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},u.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return y(this,e,t,n);case\"utf8\":case\"utf-8\":return b(this,e,t,n);case\"ascii\":return _(this,e,t,n);case\"latin1\":case\"binary\":return C(this,e,t,n);case\"base64\":return w(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return D(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function x(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function M(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function N(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=t;o<n;++o)i+=j(e[o]);return i}function I(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function L(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function k(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function T(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function F(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function O(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function P(e,t,n,r,o){return o||O(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function B(e,t,n,r,o){return o||O(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=u.prototype;else{var i=t-e;n=new u(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},u.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},u.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||L(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||L(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||L(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||L(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||L(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||L(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||L(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||L(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||L(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||k(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},u.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||k(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):F(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);k(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);k(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):F(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return P(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return P(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return B(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return B(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},u.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!u.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=u.isBuffer(e)?e:z(new u(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var R=/[^+\\/0-9A-Za-z-_]/g;function j(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function z(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function W(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(R,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function V(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(17))},function(e,t,n){\"use strict\";var r=n(369),i=n(10),o=n(7);function s(){throw new Error(\"PExpr cannot be instantiated -- it's abstract\")}s.prototype.withSource=function(e){return e&&(this.source=e.trimmed()),this};var a=Object.create(s.prototype),u=Object.create(s.prototype);function l(e){this.obj=e}function c(e,t){this.from=e,this.to=t}function h(e){this.index=e}function d(e){this.terms=e}function p(e,t,n){this.superGrammar=e,this.name=t,this.body=n;var r=e.rules[t].body;this.terms=[n,r]}function f(e){this.factors=e}function g(e){this.expr=e}function m(e){this.expr=e}function v(e){this.expr=e}function y(e){this.expr=e}function b(e){this.expr=e}function _(e){this.expr=e}function C(e){this.expr=e}function w(e,t){this.ruleName=e,this.args=t||[]}function D(e){this.category=e,this.pattern=r[e]}o(l,s),o(c,s),o(h,s),o(d,s),o(p,d),o(f,s),o(g,s),o(m,g),o(v,g),o(y,g),m.prototype.operator=\"*\",v.prototype.operator=\"+\",y.prototype.operator=\"?\",m.prototype.minNumMatches=0,v.prototype.minNumMatches=1,y.prototype.minNumMatches=0,m.prototype.maxNumMatches=Number.POSITIVE_INFINITY,v.prototype.maxNumMatches=Number.POSITIVE_INFINITY,y.prototype.maxNumMatches=1,o(b,s),o(_,s),o(C,s),o(w,s),w.prototype.isSyntactic=function(){return i.isSyntactic(this.ruleName)},w.prototype.toMemoKey=function(){return this._memoKey||Object.defineProperty(this,\"_memoKey\",{value:this.toString()}),this._memoKey},o(D,s),t.PExpr=s,t.any=a,t.end=u,t.Terminal=l,t.Range=c,t.Param=h,t.Alt=d,t.Extend=p,t.Seq=f,t.Iter=g,t.Star=m,t.Plus=v,t.Opt=y,t.Not=b,t.Lookahead=_,t.Lex=C,t.Apply=w,t.UnicodeChar=D,n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385)},function(e,t,n){(function(e){!function(e,t){\"use strict\";function r(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function i(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function o(e,t,n){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(\"le\"!==t&&\"be\"!==t||(n=t,t=10),this._init(e||0,t||10,n||\"be\"))}var s;\"object\"==typeof e?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;try{s=n(454).Buffer}catch(e){}function a(e,t,n){for(var r=0,i=Math.min(e.length,n),o=t;o<i;o++){var s=e.charCodeAt(o)-48;r<<=4,r|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return r}function u(e,t,n,r){for(var i=0,o=Math.min(e.length,n),s=t;s<o;s++){var a=e.charCodeAt(s)-48;i*=r,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&\"object\"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if(\"number\"==typeof e)return this._initNumber(e,t,n);if(\"object\"==typeof e)return this._initArray(e,t,n);\"hex\"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;\"-\"===(e=e.toString().replace(/\\s+/g,\"\"))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),\"-\"===e[0]&&(this.negative=1),this.strip(),\"le\"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),\"le\"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r(\"number\"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if(\"be\"===n)for(i=e.length-1,o=0;i>=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if(\"le\"===n)for(i=0,o=0;i<e.length;i+=3)s=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var r,i,o=0;for(n=e.length-6,r=0;n>=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<<o&67108863,this.words[r+1]|=i>>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<<o&67108863,this.words[r+1]|=i>>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,l=0,c=n;c<a;c+=r)l=u(e,c,c+r,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==s){var h=1;for(l=u(e,c,e.length,t),c=0;c<s;c++)h*=t;this.imuln(h),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}},o.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},o.prototype.clone=function(){var e=new o(null);return this.copy(e),e},o.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var l=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var l=1;l<r;l++){for(var c=u>>>26,h=67108863&u,d=Math.min(l,t.length-1),p=Math.max(0,l-e.length+1);p<=d;p++){var f=l-p|0;c+=(s=(i=0|e.words[f])*(o=0|t.words[p])+h)/67108864|0,h=67108863&s}n.words[l]=0|h,u=0|c}return 0!==u?n.words[l]=0|u:n.length--,n.strip()}o.prototype.toString=function(e,t){var n;if(e=e||10,t=0|t||1,16===e||\"hex\"===e){n=\"\";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);n=0!==(o=a>>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n=\"0\"+n;return 0!==this.negative&&(n=\"-\"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=c[e],p=h[e];n=\"\";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[d-g.length]+g+n}for(this.isZero()&&(n=\"0\"+n);n.length%t!=0;)n=\"0\"+n;return 0!==this.negative&&(n=\"-\"+n),n}r(!1,\"Base should be between 2 and 36\")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,\"byte array longer than desired length\"),r(o>0,\"Requested array length <= 0\"),this.strip();var s,a,u=\"le\"===t,l=new e(o),c=this.clone();if(u){for(a=0;!c.isZero();a++)s=c.andln(255),c.iushrn(8),l[a]=s;for(;a<o;a++)l[a]=0}else{for(a=0;a<o-i;a++)l[a]=0;for(a=0;!c.isZero();a++)s=c.andln(255),c.iushrn(8),l[o-a-1]=s}return l},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,26!==n)break}return e},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},o.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},o.prototype.ior=function(e){return r(0==(this.negative|e.negative)),this.iuor(e)},o.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this.strip()},o.prototype.iand=function(e){return r(0==(this.negative|e.negative)),this.iuand(e)},o.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},o.prototype.ixor=function(e){return r(0==(this.negative|e.negative)),this.iuxor(e)},o.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r(\"number\"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r(\"number\"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},o.prototype.iadd=function(e){var t,n,r;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o<r.length;o++)t=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<n.length;o++)t=(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},o.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s<r.length;s++)o=(t=(0|n.words[s])-(0|r.words[s])+o)>>26,this.words[s]=67108863&t;for(;0!==o&&s<n.length;s++)o=(t=(0|n.words[s])+o)>>26,this.words[s]=67108863&t;if(0===o&&s<n.length&&n!==this)for(;s<n.length;s++)this.words[s]=n.words[s];return this.length=Math.max(this.length,s),n!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,n){var r,i,o,s=e.words,a=t.words,u=n.words,l=0,c=0|s[0],h=8191&c,d=c>>>13,p=0|s[1],f=8191&p,g=p>>>13,m=0|s[2],v=8191&m,y=m>>>13,b=0|s[3],_=8191&b,C=b>>>13,w=0|s[4],D=8191&w,E=w>>>13,A=0|s[5],S=8191&A,x=A>>>13,M=0|s[6],N=8191&M,I=M>>>13,L=0|s[7],k=8191&L,T=L>>>13,F=0|s[8],O=8191&F,P=F>>>13,B=0|s[9],R=8191&B,j=B>>>13,z=0|a[0],W=8191&z,V=z>>>13,H=0|a[1],U=8191&H,Y=H>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,q=0|a[3],Q=8191&q,X=q>>>13,J=0|a[4],$=8191&J,ee=J>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,le=ae>>>13,ce=0|a[8],he=8191&ce,de=ce>>>13,pe=0|a[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(l+(r=Math.imul(h,W))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(d,W)|0))<<13)|0;l=((o=Math.imul(d,V))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(f,W),i=(i=Math.imul(f,V))+Math.imul(g,W)|0,o=Math.imul(g,V);var ve=(l+(r=r+Math.imul(h,U)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,U)|0))<<13)|0;l=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(v,W),i=(i=Math.imul(v,V))+Math.imul(y,W)|0,o=Math.imul(y,V),r=r+Math.imul(f,U)|0,i=(i=i+Math.imul(f,Y)|0)+Math.imul(g,U)|0,o=o+Math.imul(g,Y)|0;var ye=(l+(r=r+Math.imul(h,G)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(d,G)|0))<<13)|0;l=((o=o+Math.imul(d,K)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(_,W),i=(i=Math.imul(_,V))+Math.imul(C,W)|0,o=Math.imul(C,V),r=r+Math.imul(v,U)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,U)|0,o=o+Math.imul(y,Y)|0,r=r+Math.imul(f,G)|0,i=(i=i+Math.imul(f,K)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,K)|0;var be=(l+(r=r+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,Q)|0))<<13)|0;l=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(D,W),i=(i=Math.imul(D,V))+Math.imul(E,W)|0,o=Math.imul(E,V),r=r+Math.imul(_,U)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(C,U)|0,o=o+Math.imul(C,Y)|0,r=r+Math.imul(v,G)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,K)|0,r=r+Math.imul(f,Q)|0,i=(i=i+Math.imul(f,X)|0)+Math.imul(g,Q)|0,o=o+Math.imul(g,X)|0;var _e=(l+(r=r+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(d,$)|0))<<13)|0;l=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(S,W),i=(i=Math.imul(S,V))+Math.imul(x,W)|0,o=Math.imul(x,V),r=r+Math.imul(D,U)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(E,U)|0,o=o+Math.imul(E,Y)|0,r=r+Math.imul(_,G)|0,i=(i=i+Math.imul(_,K)|0)+Math.imul(C,G)|0,o=o+Math.imul(C,K)|0,r=r+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,X)|0,r=r+Math.imul(f,$)|0,i=(i=i+Math.imul(f,ee)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,ee)|0;var Ce=(l+(r=r+Math.imul(h,ne)|0)|0)+((8191&(i=(i=i+Math.imul(h,re)|0)+Math.imul(d,ne)|0))<<13)|0;l=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(N,W),i=(i=Math.imul(N,V))+Math.imul(I,W)|0,o=Math.imul(I,V),r=r+Math.imul(S,U)|0,i=(i=i+Math.imul(S,Y)|0)+Math.imul(x,U)|0,o=o+Math.imul(x,Y)|0,r=r+Math.imul(D,G)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,K)|0,r=r+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,X)|0,r=r+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(y,$)|0,o=o+Math.imul(y,ee)|0,r=r+Math.imul(f,ne)|0,i=(i=i+Math.imul(f,re)|0)+Math.imul(g,ne)|0,o=o+Math.imul(g,re)|0;var we=(l+(r=r+Math.imul(h,oe)|0)|0)+((8191&(i=(i=i+Math.imul(h,se)|0)+Math.imul(d,oe)|0))<<13)|0;l=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(k,W),i=(i=Math.imul(k,V))+Math.imul(T,W)|0,o=Math.imul(T,V),r=r+Math.imul(N,U)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(I,U)|0,o=o+Math.imul(I,Y)|0,r=r+Math.imul(S,G)|0,i=(i=i+Math.imul(S,K)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,K)|0,r=r+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,X)|0,r=r+Math.imul(_,$)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(C,$)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(v,ne)|0,i=(i=i+Math.imul(v,re)|0)+Math.imul(y,ne)|0,o=o+Math.imul(y,re)|0,r=r+Math.imul(f,oe)|0,i=(i=i+Math.imul(f,se)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,se)|0;var De=(l+(r=r+Math.imul(h,ue)|0)|0)+((8191&(i=(i=i+Math.imul(h,le)|0)+Math.imul(d,ue)|0))<<13)|0;l=((o=o+Math.imul(d,le)|0)+(i>>>13)|0)+(De>>>26)|0,De&=67108863,r=Math.imul(O,W),i=(i=Math.imul(O,V))+Math.imul(P,W)|0,o=Math.imul(P,V),r=r+Math.imul(k,U)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(T,U)|0,o=o+Math.imul(T,Y)|0,r=r+Math.imul(N,G)|0,i=(i=i+Math.imul(N,K)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,K)|0,r=r+Math.imul(S,Q)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,X)|0,r=r+Math.imul(D,$)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,ee)|0,r=r+Math.imul(_,ne)|0,i=(i=i+Math.imul(_,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,se)|0)+Math.imul(y,oe)|0,o=o+Math.imul(y,se)|0,r=r+Math.imul(f,ue)|0,i=(i=i+Math.imul(f,le)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,le)|0;var Ee=(l+(r=r+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;l=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(R,W),i=(i=Math.imul(R,V))+Math.imul(j,W)|0,o=Math.imul(j,V),r=r+Math.imul(O,U)|0,i=(i=i+Math.imul(O,Y)|0)+Math.imul(P,U)|0,o=o+Math.imul(P,Y)|0,r=r+Math.imul(k,G)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,K)|0,r=r+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,X)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,X)|0,r=r+Math.imul(S,$)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,ee)|0,r=r+Math.imul(D,ne)|0,i=(i=i+Math.imul(D,re)|0)+Math.imul(E,ne)|0,o=o+Math.imul(E,re)|0,r=r+Math.imul(_,oe)|0,i=(i=i+Math.imul(_,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(v,ue)|0,i=(i=i+Math.imul(v,le)|0)+Math.imul(y,ue)|0,o=o+Math.imul(y,le)|0,r=r+Math.imul(f,he)|0,i=(i=i+Math.imul(f,de)|0)+Math.imul(g,he)|0,o=o+Math.imul(g,de)|0;var Ae=(l+(r=r+Math.imul(h,fe)|0)|0)+((8191&(i=(i=i+Math.imul(h,ge)|0)+Math.imul(d,fe)|0))<<13)|0;l=((o=o+Math.imul(d,ge)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(R,U),i=(i=Math.imul(R,Y))+Math.imul(j,U)|0,o=Math.imul(j,Y),r=r+Math.imul(O,G)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,r=r+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,X)|0,r=r+Math.imul(N,$)|0,i=(i=i+Math.imul(N,ee)|0)+Math.imul(I,$)|0,o=o+Math.imul(I,ee)|0,r=r+Math.imul(S,ne)|0,i=(i=i+Math.imul(S,re)|0)+Math.imul(x,ne)|0,o=o+Math.imul(x,re)|0,r=r+Math.imul(D,oe)|0,i=(i=i+Math.imul(D,se)|0)+Math.imul(E,oe)|0,o=o+Math.imul(E,se)|0,r=r+Math.imul(_,ue)|0,i=(i=i+Math.imul(_,le)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,le)|0,r=r+Math.imul(v,he)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(y,he)|0,o=o+Math.imul(y,de)|0;var Se=(l+(r=r+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;l=((o=o+Math.imul(g,ge)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(R,G),i=(i=Math.imul(R,K))+Math.imul(j,G)|0,o=Math.imul(j,K),r=r+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,X)|0,r=r+Math.imul(k,$)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,r=r+Math.imul(N,ne)|0,i=(i=i+Math.imul(N,re)|0)+Math.imul(I,ne)|0,o=o+Math.imul(I,re)|0,r=r+Math.imul(S,oe)|0,i=(i=i+Math.imul(S,se)|0)+Math.imul(x,oe)|0,o=o+Math.imul(x,se)|0,r=r+Math.imul(D,ue)|0,i=(i=i+Math.imul(D,le)|0)+Math.imul(E,ue)|0,o=o+Math.imul(E,le)|0,r=r+Math.imul(_,he)|0,i=(i=i+Math.imul(_,de)|0)+Math.imul(C,he)|0,o=o+Math.imul(C,de)|0;var xe=(l+(r=r+Math.imul(v,fe)|0)|0)+((8191&(i=(i=i+Math.imul(v,ge)|0)+Math.imul(y,fe)|0))<<13)|0;l=((o=o+Math.imul(y,ge)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(R,Q),i=(i=Math.imul(R,X))+Math.imul(j,Q)|0,o=Math.imul(j,X),r=r+Math.imul(O,$)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,ee)|0,r=r+Math.imul(k,ne)|0,i=(i=i+Math.imul(k,re)|0)+Math.imul(T,ne)|0,o=o+Math.imul(T,re)|0,r=r+Math.imul(N,oe)|0,i=(i=i+Math.imul(N,se)|0)+Math.imul(I,oe)|0,o=o+Math.imul(I,se)|0,r=r+Math.imul(S,ue)|0,i=(i=i+Math.imul(S,le)|0)+Math.imul(x,ue)|0,o=o+Math.imul(x,le)|0,r=r+Math.imul(D,he)|0,i=(i=i+Math.imul(D,de)|0)+Math.imul(E,he)|0,o=o+Math.imul(E,de)|0;var Me=(l+(r=r+Math.imul(_,fe)|0)|0)+((8191&(i=(i=i+Math.imul(_,ge)|0)+Math.imul(C,fe)|0))<<13)|0;l=((o=o+Math.imul(C,ge)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(R,$),i=(i=Math.imul(R,ee))+Math.imul(j,$)|0,o=Math.imul(j,ee),r=r+Math.imul(O,ne)|0,i=(i=i+Math.imul(O,re)|0)+Math.imul(P,ne)|0,o=o+Math.imul(P,re)|0,r=r+Math.imul(k,oe)|0,i=(i=i+Math.imul(k,se)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,se)|0,r=r+Math.imul(N,ue)|0,i=(i=i+Math.imul(N,le)|0)+Math.imul(I,ue)|0,o=o+Math.imul(I,le)|0,r=r+Math.imul(S,he)|0,i=(i=i+Math.imul(S,de)|0)+Math.imul(x,he)|0,o=o+Math.imul(x,de)|0;var Ne=(l+(r=r+Math.imul(D,fe)|0)|0)+((8191&(i=(i=i+Math.imul(D,ge)|0)+Math.imul(E,fe)|0))<<13)|0;l=((o=o+Math.imul(E,ge)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,r=Math.imul(R,ne),i=(i=Math.imul(R,re))+Math.imul(j,ne)|0,o=Math.imul(j,re),r=r+Math.imul(O,oe)|0,i=(i=i+Math.imul(O,se)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,se)|0,r=r+Math.imul(k,ue)|0,i=(i=i+Math.imul(k,le)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,le)|0,r=r+Math.imul(N,he)|0,i=(i=i+Math.imul(N,de)|0)+Math.imul(I,he)|0,o=o+Math.imul(I,de)|0;var Ie=(l+(r=r+Math.imul(S,fe)|0)|0)+((8191&(i=(i=i+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;l=((o=o+Math.imul(x,ge)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(R,oe),i=(i=Math.imul(R,se))+Math.imul(j,oe)|0,o=Math.imul(j,se),r=r+Math.imul(O,ue)|0,i=(i=i+Math.imul(O,le)|0)+Math.imul(P,ue)|0,o=o+Math.imul(P,le)|0,r=r+Math.imul(k,he)|0,i=(i=i+Math.imul(k,de)|0)+Math.imul(T,he)|0,o=o+Math.imul(T,de)|0;var Le=(l+(r=r+Math.imul(N,fe)|0)|0)+((8191&(i=(i=i+Math.imul(N,ge)|0)+Math.imul(I,fe)|0))<<13)|0;l=((o=o+Math.imul(I,ge)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,r=Math.imul(R,ue),i=(i=Math.imul(R,le))+Math.imul(j,ue)|0,o=Math.imul(j,le),r=r+Math.imul(O,he)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(P,he)|0,o=o+Math.imul(P,de)|0;var ke=(l+(r=r+Math.imul(k,fe)|0)|0)+((8191&(i=(i=i+Math.imul(k,ge)|0)+Math.imul(T,fe)|0))<<13)|0;l=((o=o+Math.imul(T,ge)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(R,he),i=(i=Math.imul(R,de))+Math.imul(j,he)|0,o=Math.imul(j,de);var Te=(l+(r=r+Math.imul(O,fe)|0)|0)+((8191&(i=(i=i+Math.imul(O,ge)|0)+Math.imul(P,fe)|0))<<13)|0;l=((o=o+Math.imul(P,ge)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863;var Fe=(l+(r=Math.imul(R,fe))|0)+((8191&(i=(i=Math.imul(R,ge))+Math.imul(j,fe)|0))<<13)|0;return l=((o=Math.imul(j,ge))+(i>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,u[0]=me,u[1]=ve,u[2]=ye,u[3]=be,u[4]=_e,u[5]=Ce,u[6]=we,u[7]=De,u[8]=Ee,u[9]=Ae,u[10]=Se,u[11]=xe,u[12]=Me,u[13]=Ne,u[14]=Ie,u[15]=Le,u[16]=ke,u[17]=Te,u[18]=Fe,0!==l&&(u[19]=l,n.length++),n};function f(e,t,n){return(new g).mulp(e,t,n)}function g(e,t){this.x=e,this.y=t}Math.imul||(p=d),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):n<63?d(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var s=i;i=0;for(var a=67108863&r,u=Math.min(o,t.length-1),l=Math.max(0,o-e.length+1);l<=u;l++){var c=o-l,h=(0|e.words[c])*(0|t.words[l]),d=67108863&h;a=67108863&(d=d+a|0),i+=(s=(s=s+(h/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n.strip()}(this,e,t):f(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,n,e);return t},g.prototype.revBin=function(e,t,n){if(0===e||e===n-1)return e;for(var r=0,i=0;i<t;i++)r|=(1&e)<<t-i-1,e>>=1;return r},g.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s<o;s++)r[s]=t[e[s]],i[s]=n[e[s]]},g.prototype.transform=function(e,t,n,r,i,o){this.permute(o,e,t,n,r,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,u=Math.cos(2*Math.PI/a),l=Math.sin(2*Math.PI/a),c=0;c<i;c+=a)for(var h=u,d=l,p=0;p<s;p++){var f=n[c+p],g=r[c+p],m=n[c+p+s],v=r[c+p+s],y=h*m-d*v;v=h*v+d*m,m=y,n[c+p]=f+m,r[c+p]=g+v,n[c+p+s]=f-m,r[c+p+s]=g-v,p!==a&&(y=u*h-l*d,d=u*d+l*h,h=y)}},g.prototype.guessLen13b=function(e,t){var n=1|Math.max(t,e),r=1&n,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},g.prototype.conjugate=function(e,t,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=e[r];e[r]=e[n-r-1],e[n-r-1]=i,i=t[r],t[r]=-t[n-r-1],t[n-r-1]=-i}},g.prototype.normalize13b=function(e,t){for(var n=0,r=0;r<t/2;r++){var i=8192*Math.round(e[2*r+1]/t)+Math.round(e[2*r]/t)+n;e[r]=67108863&i,n=i<67108864?0:i/67108864|0}return e},g.prototype.convert13b=function(e,t,n,i){for(var o=0,s=0;s<t;s++)o+=0|e[s],n[2*s]=8191&o,o>>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s<i;++s)n[s]=0;r(0===o),r(0==(-8192&o))},g.prototype.stub=function(e){for(var t=new Array(e),n=0;n<e;n++)t[n]=0;return t},g.prototype.mulp=function(e,t,n){var r=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(r),o=this.stub(r),s=new Array(r),a=new Array(r),u=new Array(r),l=new Array(r),c=new Array(r),h=new Array(r),d=n.words;d.length=r,this.convert13b(e.words,e.length,s,r),this.convert13b(t.words,t.length,l,r),this.transform(s,o,a,u,r,i),this.transform(l,o,c,h,r,i);for(var p=0;p<r;p++){var f=a[p]*c[p]-u[p]*h[p];u[p]=a[p]*h[p]+u[p]*c[p],a[p]=f}return this.conjugate(a,u,r),this.transform(a,u,d,o,r,i),this.conjugate(d,o,r),this.normalize13b(d,r),n.negative=e.negative^t.negative,n.length=e.length+t.length,n.strip()},o.prototype.mul=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},o.prototype.mulf=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),f(this,e,t)},o.prototype.imul=function(e){return this.clone().mulTo(e,this)},o.prototype.imuln=function(e){r(\"number\"==typeof e),r(e<67108864);for(var t=0,n=0;n<this.length;n++){var i=(0|this.words[n])*e,o=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=(e.words[r]&1<<i)>>>i}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r<t.length&&0===t[r];r++,n=n.sqr());if(++r<t.length)for(var i=n.sqr();r<t.length;r++,i=i.sqr())0!==t[r]&&(n=n.mul(i));return n},o.prototype.iushln=function(e){r(\"number\"==typeof e&&e>=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t<this.length;t++){var a=this.words[t]&o,u=(0|this.words[t])-a<<n;this.words[t]=u|s,s=a>>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},o.prototype.iushrn=function(e,t,n){var i;r(\"number\"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<<o,u=n;if(i-=s,i=Math.max(0,i),u){for(var l=0;l<s;l++)u.words[l]=this.words[l];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,l=0;l<this.length;l++)this.words[l]=this.words[l+s];else this.words[0]=0,this.length=1;var c=0;for(l=this.length-1;l>=0&&(0!==c||l>=i);l--){var h=0|this.words[l];this.words[l]=c<<26-o|h>>>o,c=h&a}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r(\"number\"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<<t;return!(this.length<=n)&&!!(this.words[n]&i)},o.prototype.imaskn=function(e){r(\"number\"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(e){return this.clone().imaskn(e)},o.prototype.iaddn=function(e){return r(\"number\"==typeof e),r(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},o.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r(\"number\"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},o.prototype.addn=function(e){return this.clone().iaddn(e)},o.prototype.subn=function(e){return this.clone().isubn(e)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(e,t,n){var i,o,s=e.length+n;this._expand(s);var a=0;for(i=0;i<e.length;i++){o=(0|this.words[i+n])+a;var u=(0|e.words[i])*t;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if(\"mod\"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var l=0;l<a.length;l++)a.words[l]=0}var c=r.clone()._ishlnsubmul(i,1,u);0===c.negative&&(r=c,a&&(a.words[u]=1));for(var h=u-1;h>=0;h--){var d=67108864*(0|r.words[i.length+h])+(0|r.words[i.length+h-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,h);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,h),r.isZero()||(r.negative^=1);a&&(a.words[h]=d)}return a&&a.strip(),r.strip(),\"div\"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),\"mod\"!==t&&(i=a.div.neg()),\"div\"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),\"mod\"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),\"div\"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?\"div\"===t?{div:this.divn(e.words[0]),mod:null}:\"mod\"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,\"div\",!1).div},o.prototype.mod=function(e){return this.divmod(e,\"mod\",!1).mod},o.prototype.umod=function(e){return this.divmod(e,\"mod\",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),h=t.clone();!t.isZero();){for(var d=0,p=1;0==(t.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(c),s.isub(h)),i.iushrn(1),s.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(c),u.isub(h)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(l)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,c=1;0==(t.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(t.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var h=0,d=1;0==(n.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(n.iushrn(h);h-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r(\"number\"==typeof e);var t=e%26,n=(e-t)/26,i=1<<t;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,\"Number is too big\");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},o.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},o.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new w(e)},o.prototype.toRed=function(e){return r(!this.red,\"Already a number in reduction context\"),r(0===this.negative,\"red works only with positives\"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,\"Already a number in reduction context\"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,\"redAdd works only with red numbers\"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,\"redSub works only with red numbers\"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,\"redISub works only with red numbers\"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,\"redShl works only with red numbers\"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function b(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function C(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function w(e){if(\"string\"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),\"modulus must be greater than 1\"),this.m=e,this.prime=null}function D(e){w.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):n.strip(),n},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(y,v),y.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r<n;r++)t.words[r]=e.words[r];if(t.length=n,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,r=10;r<e.length;r++){var o=0|e.words[r];e.words[r-10]=(4194303&o)<<4|i>>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=0|e.words[n];t+=977*r,e.words[n]=67108863&t,t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(b,v),i(_,v),i(C,v),C.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=19*(0|e.words[n])+t,i=67108863&r;r>>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if(\"k256\"===e)t=new y;else if(\"p224\"===e)t=new b;else if(\"p192\"===e)t=new _;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new C}return m[e]=t,t},w.prototype._verify1=function(e){r(0===e.negative,\"red works only with positives\"),r(e.red,\"red works only with red numbers\")},w.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),\"red works only with positives\"),r(e.red&&e.red===t.red,\"red works only with red numbers\")},w.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},w.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},w.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},w.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},w.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},w.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},w.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},w.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},w.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},w.prototype.isqr=function(e){return this.imul(e,e.clone())},w.prototype.sqr=function(e){return this.mul(e,e)},w.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,i),d=this.pow(e,i.addn(1).iushrn(1)),p=this.pow(e,i),f=s;0!==p.cmp(a);){for(var g=p,m=0;0!==g.cmp(a);m++)g=g.redSqr();r(m<f);var v=this.pow(h,new o(1).iushln(f-m-1));d=d.redMul(v),h=v.redSqr(),p=p.redMul(h),f=m}return d},w.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},w.prototype.pow=function(e,t){if(t.isZero())return new o(1).toRed(this);if(0===t.cmpn(1))return e.clone();var n=new Array(16);n[0]=new o(1).toRed(this),n[1]=e;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],e);var i=n[0],s=0,a=0,u=t.bitLength()%26;for(0===u&&(u=26),r=t.length-1;r>=0;r--){for(var l=t.words[r],c=u-1;c>=0;c--){var h=l>>c&1;i!==n[0]&&(i=this.sqr(i)),0!==h||0!==s?(s<<=1,s|=h,(4===++a||0===r&&0===c)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},w.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},w.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new D(e)},i(D,w),D.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},D.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},D.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},D.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},D.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)}).call(this,n(453)(e))},function(e,t,n){\"use strict\";var r=n(69),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r.a||i||Function(\"return this\")();t.a=o},function(e,t,n){var r=n(501);function i(){return e.exports=i=r||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}e.exports=i},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";var r=t;r.version=n(460).version,r.utils=n(461),r.rand=n(218),r.curve=n(64),r.curves=n(466),r.ec=n(474),r.eddsa=n(478)},function(e,t){function n(e,t){if(!e)throw new Error(t||\"Assertion failed\")}e.exports=n,n.equal=function(e,t,n){if(e!=t)throw new Error(n||\"Assertion failed: \"+e+\" != \"+t)}},function(e,t){var n=e.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(e,t){var n,r,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r=\"function\"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var u,l=[],c=!1,h=-1;function d(){c&&u&&(c=!1,u.length?l=u.concat(l):h=-1,l.length&&p())}function p(){if(!c){var e=a(d);c=!0;for(var t=l.length;t;){for(u=l,l=[];++h<t;)u&&u[h].run();h=-1,t=l.length}u=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new f(e,t)),1!==l.length||c||a(p)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},,function(e,t,n){\"use strict\";var r=n(19),i=n(7);function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?\"0\"+e:e}function a(e){return 7===e.length?\"0\"+e:6===e.length?\"00\"+e:5===e.length?\"000\"+e:4===e.length?\"0000\"+e:3===e.length?\"00000\"+e:2===e.length?\"000000\"+e:1===e.length?\"0000000\"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if(\"string\"==typeof e)if(t){if(\"hex\"===t)for((e=e.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(e=\"0\"+e),r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(var r=0;r<e.length;r++){var i=e.charCodeAt(r),o=i>>8,s=255&i;o?n.push(o,s):n.push(s)}else for(r=0;r<e.length;r++)n[r]=0|e[r];return n},t.toHex=function(e){for(var t=\"\",n=0;n<e.length;n++)t+=s(e[n].toString(16));return t},t.htonl=o,t.toHex32=function(e,t){for(var n=\"\",r=0;r<e.length;r++){var i=e[r];\"little\"===t&&(i=o(i)),n+=a(i.toString(16))}return n},t.zero2=s,t.zero8=a,t.join32=function(e,t,n,i){var o=n-t;r(o%4==0);for(var s=new Array(o/4),a=0,u=t;a<s.length;a++,u+=4){var l;l=\"big\"===i?e[u]<<24|e[u+1]<<16|e[u+2]<<8|e[u+3]:e[u+3]<<24|e[u+2]<<16|e[u+1]<<8|e[u],s[a]=l>>>0}return s},t.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r<e.length;r++,i+=4){var o=e[r];\"big\"===t?(n[i]=o>>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},t.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},t.sum64=function(e,t,n,r){var i=e[t],o=r+e[t+1]>>>0,s=(o<r?1:0)+n+i;e[t]=s>>>0,e[t+1]=o},t.sum64_hi=function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},t.sum64_lo=function(e,t,n,r){return t+r>>>0},t.sum64_4_hi=function(e,t,n,r,i,o,s,a){var u=0,l=t;return u+=(l=l+r>>>0)<t?1:0,u+=(l=l+o>>>0)<o?1:0,e+n+i+s+(u+=(l=l+a>>>0)<a?1:0)>>>0},t.sum64_4_lo=function(e,t,n,r,i,o,s,a){return t+r+o+a>>>0},t.sum64_5_hi=function(e,t,n,r,i,o,s,a,u,l){var c=0,h=t;return c+=(h=h+r>>>0)<t?1:0,c+=(h=h+o>>>0)<o?1:0,c+=(h=h+a>>>0)<a?1:0,e+n+i+s+u+(c+=(h=h+l>>>0)<l?1:0)>>>0},t.sum64_5_lo=function(e,t,n,r,i,o,s,a,u,l){return t+r+o+a+l>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},function(e,t,n){var r=n(508),i=n(509),o=n(523);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){var r=n(74)(\"wks\"),i=n(58),o=n(25).Symbol,s=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=s&&o[e]||(s?o:i)(\"Symbol.\"+e))}).store=r},function(e,t,n){\"use strict\";var r=n(193);function i(e,t){var n;return t?((n=new Error(t.getLineAndColumnMessage()+e)).shortMessage=e,n.interval=t):n=new Error(e),n}e.exports={applicationOfSyntacticRuleFromLexicalContext:function(e,t){return i(\"Cannot apply syntactic rule \"+e+\" from here (inside a lexical context)\",t.source)},cannotExtendUndeclaredRule:function(e,t,n){return i(\"Cannot extend rule \"+e+\" because it is not declared in \"+t,n)},cannotOverrideUndeclaredRule:function(e,t,n){return i(\"Cannot override rule \"+e+\" because it is not declared in \"+t,n)},duplicateGrammarDeclaration:function(e,t){return i(\"Grammar \"+e.name+\" is already declared in this namespace\")},duplicateParameterNames:function(e,t,n){return i(\"Duplicate parameter names in rule \"+e+\": \"+t.join(\", \"),n)},duplicatePropertyNames:function(e){return i(\"Object pattern has duplicate property names: \"+e.join(\", \"))},duplicateRuleDeclaration:function(e,t,n,r){var o=\"Duplicate declaration for rule '\"+e+\"' in grammar '\"+t+\"'\";return t!==n&&(o+=\" (originally declared in '\"+n+\"')\"),i(o,r)},inconsistentArity:function(e,t,n,r){return i(\"Rule \"+e+\" involves an alternation which has inconsistent arity (expected \"+t+\", got \"+n+\")\",r.source)},incorrectArgumentType:function(e,t){return i(\"Incorrect argument type: expected \"+e,t.source)},intervalSourcesDontMatch:function(){return i(\"Interval sources don't match\")},invalidConstructorCall:function(e,t,n){return i(\"Attempt to invoke constructor \"+t+\" with invalid or unexpected arguments\")},invalidParameter:function(e,t){return i(\"Invalid parameter to rule \"+e+\": \"+t+\" has arity \"+t.getArity()+\", but parameter expressions must have arity 1\",t.source)},grammarSyntaxError:function(e){var t=new Error;return Object.defineProperty(t,\"message\",{get:function(){return e.message}}),Object.defineProperty(t,\"shortMessage\",{get:function(){return\"Expected \"+e.getExpectedText()}}),t.interval=e.getInterval(),t},kleeneExprHasNullableOperand:function(e){return i(\"Nullable expression \"+e.expr.source.contents+\" is not allowed inside '\"+e.operator+\"' (possible infinite loop)\",e.expr.source)},missingSemanticAction:function(e,t,n,r){var o=r.slice(0,-1).map(function(e){var t=\"  \"+e[0].name+\" > \"+e[1];return 3===e.length?t+\" for '\"+e[2]+\"'\":t}).join(\"\\n\"),s=i(\"Missing semantic action for '\"+e+\"' in \"+n+\" '\"+t+\"'\\nAction stack (most recent call last):\\n\"+(o+=\"\\n  \"+t+\" > \"+e));return s.name=\"missingSemanticAction\",s},undeclaredGrammar:function(e,t,n){return i(t?\"Grammar \"+e+\" is not declared in namespace \"+r.toString(t):\"Undeclared grammar \"+e,n)},undeclaredRule:function(e,t,n){return i(\"Rule \"+e+\" is not declared in grammar \"+t,n)},wrongNumberOfArguments:function(e,t,n,r){return i(\"Wrong number of arguments for rule \"+e+\" (expected \"+t+\", got \"+n+\")\",r.source)},wrongNumberOfParameters:function(e,t,n,r){return i(\"Wrong number of parameters for rule \"+e+\" (expected \"+t+\", got \"+n+\")\",r)},throwErrors:function(e){if(1===e.length)throw e[0];if(e.length>1)throw function(e){var t=e.map(function(e){return e.message});return i([\"Errors:\"].concat(t).join(\"\\n- \"),e[0].interval)}(e)}}},function(e,t,n){var r=n(9).Buffer,i=n(147).Transform,o=n(151).StringDecoder;function s(e){i.call(this),this.hashMode=\"string\"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}n(7)(s,i),s.prototype.update=function(e,t,n){\"string\"==typeof e&&(e=r.from(e,t));var i=this._update(e);return this.hashMode?this:(n&&(i=this._toString(i,n)),i)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")},s.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")},s.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")},s.prototype._transform=function(e,t,n){var r;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){r=e}finally{n(r)}},s.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},s.prototype._finalOrDigest=function(e){var t=this.__final()||r.alloc(0);return e&&(t=this._toString(t,e,!0)),t},s.prototype._toString=function(e,t,n){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error(\"can't switch encodings\");var r=this._decoder.write(e);return n&&(r+=this._decoder.end()),r},e.exports=s},function(e,t,n){var r=n(176),i=n(72);e.exports=function(e){return r(i(e))}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){e.exports=!n(34)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(41),i=n(178),o=n(73),s=Object.defineProperty;t.f=n(31)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return s(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n){\"use strict\";var r=n(61),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var o=n(45);o.inherits=n(7);var s=n(198),a=n(150);o.inherits(h,s);for(var u=i(a.prototype),l=0;l<u.length;l++){var c=u[l];h.prototype[c]||(h.prototype[c]=a.prototype[c])}function h(e){if(!(this instanceof h))return new h(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once(\"end\",d)}function d(){this.allowHalfOpen||this._writableState.ended||r.nextTick(p,this)}function p(e){e.end()}Object.defineProperty(h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),r.nextTick(t,e)}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(32),i=n(57);e.exports=n(31)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){\"use strict\";(function(t,r){var i=n(9).Buffer,o=t.crypto||t.msCrypto;o&&o.getRandomValues?e.exports=function(e,n){if(e>65536)throw new Error(\"requested too many random bytes\");var s=new t.Uint8Array(e);e>0&&o.getRandomValues(s);var a=i.from(s.buffer);if(\"function\"==typeof n)return r.nextTick(function(){n(null,a)});return a}:e.exports=function(){throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\")}}).call(this,n(17),n(21))},function(e,t,n){var r=n(9).Buffer;function i(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){\"string\"==typeof e&&(t=t||\"utf8\",e=r.from(e,t));for(var n=this._block,i=this._blockSize,o=e.length,s=this._len,a=0;a<o;){for(var u=s%i,l=Math.min(o-a,i-u),c=0;c<l;c++)n[u+c]=e[a+c];a+=l,(s+=l)%i==0&&this._update(n)}return this._len+=o,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},i.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},e.exports=i},function(e,t,n){\"use strict\";(function(e){var r=n(15),i=n(235),o=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,s=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,a=s&&s.exports===o?r.a.Buffer:void 0,u=(a?a.isBuffer:void 0)||i.a;t.a=u}).call(this,n(145)(e))},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){var r=n(25),i=n(20),o=n(271),s=n(35),a=n(30),u=function(e,t,n){var l,c,h,d=e&u.F,p=e&u.G,f=e&u.S,g=e&u.P,m=e&u.B,v=e&u.W,y=p?i:i[t]||(i[t]={}),b=y.prototype,_=p?r:f?r[t]:(r[t]||{}).prototype;for(l in p&&(n=t),n)(c=!d&&_&&void 0!==_[l])&&a(y,l)||(h=c?_[l]:n[l],y[l]=p&&\"function\"!=typeof _[l]?n[l]:m&&c?o(h,r):v&&_[l]==h?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(h):g&&\"function\"==typeof h?o(Function.call,h):h,g&&((y.virtual||(y.virtual={}))[l]=h,e&u.R&&b&&!b[l]&&s(b,l,h)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){var r=n(39);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n){var r=n(183),i=n(78);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){\"use strict\";var r=n(10);function i(e,t,n){var r=e.length;return(e.slice(0,n)+t+e.slice(n+t.length)).substr(0,r)}var o=[];t.awaitBuiltInRules=function(e){o.push(e)},t.announceBuiltInRules=function(e){o.forEach(function(t){t(e)}),o=null},t.getLineAndColumn=function(e,t){for(var n=1,r=1,i=0,o=0,s=null,a=null,u=-1;i<t;){var l=e.charAt(i++);\"\\n\"===l?(n++,r=1,u=o,o=i):\"\\r\"!==l&&r++}var c=e.indexOf(\"\\n\",o);if(-1===c)c=e.length;else{var h=e.indexOf(\"\\n\",c+1);s=(s=-1===h?e.slice(c):e.slice(c,h)).replace(/^\\r?\\n/,\"\").replace(/\\r$/,\"\")}return u>=0&&(a=e.slice(u,o).replace(/\\r?\\n$/,\"\")),{lineNum:n,colNum:r,line:e.slice(o,c).replace(/\\r$/,\"\"),prevLine:a,nextLine:s}},t.getLineAndColumnMessage=function(e,n){var o=r.repeatStr,s=t.getLineAndColumn(e,n),a=new r.StringBuffer;a.append(\"Line \"+s.lineNum+\", col \"+s.colNum+\":\\n\");var u,l,c=(u=[null==s.prevLine?0:s.lineNum-1,s.lineNum,null==s.nextLine?0:s.lineNum+1],l=0,u.map(function(e){var t=e.toString();return l=Math.max(l,t.length),t}).map(function(e){return r.padLeft(e,l)}));function h(e,t,n){a.append(n+c[e]+\" | \"+t+\"\\n\")}null!=s.prevLine&&h(0,s.prevLine,\"  \"),h(1,s.line,\"> \");for(var d=s.line.length,p=o(\" \",d+1),f=Array.prototype.slice.call(arguments,2),g=0;g<f.length;++g){var m=f[g][0],v=f[g][1];r.assert(m>=0&&m<=v,\"range start must be >= 0 and <= end\");var y=n-s.colNum+1;m=Math.max(0,m-y),p=i(p,o(\"~\",(v=Math.min(v-y,d))-m),m)}var b=2+c[1].length+3;return a.append(o(\" \",b)),p=i(p,\"^\",s.colNum-1),a.append(p.replace(/ +$/,\"\")+\"\\n\"),null!=s.nextLine&&h(2,s.nextLine,\"  \"),a.contents()}},function(e,t,n){\"use strict\";var r=n(7),i=n(146),o=n(152),s=n(153),a=n(28);function u(e){a.call(this,\"digest\"),this._hash=e}r(u,a),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return\"md5\"===(e=e.toLowerCase())?new i:\"rmd160\"===e||\"ripemd160\"===e?new o:new u(s(e))}},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===n(e)},t.isBoolean=function(e){return\"boolean\"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return\"number\"==typeof e},t.isString=function(e){return\"string\"==typeof e},t.isSymbol=function(e){return\"symbol\"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return\"[object RegExp]\"===n(e)},t.isObject=function(e){return\"object\"==typeof e&&null!==e},t.isDate=function(e){return\"[object Date]\"===n(e)},t.isError=function(e){return\"[object Error]\"===n(e)||e instanceof Error},t.isFunction=function(e){return\"function\"==typeof e},t.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(12).Buffer)},function(e,t,n){(function(t){e.exports=function(e,n){for(var r=Math.min(e.length,n.length),i=new t(r),o=0;o<r;++o)i[o]=e[o]^n[o];return i}}).call(this,n(12).Buffer)},function(e,t,n){\"use strict\";var r=n(23),i=n(19);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=o,o.prototype.update=function(e,t){if(e=r.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-n,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},o.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},o.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,\"big\"===this.endian){for(var o=8;o<this.padLength;o++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o<this.padLength;o++)r[i++]=0;return r}},function(e,t,n){var r=t;r.bignum=n(14),r.define=n(482).define,r.base=n(49),r.constants=n(224),r.decoders=n(488),r.encoders=n(490)},function(e,t,n){var r=t;r.Reporter=n(485).Reporter,r.DecoderBuffer=n(223).DecoderBuffer,r.EncoderBuffer=n(223).EncoderBuffer,r.Node=n(486)},function(e,t,n){\"use strict\";var r,i=n(366),o=n(139),s=n(193),a=n(10),u=n(27),l=n(13),c=n(43),h=n(410),d=n(412),p={querySelector:function(e){return document.querySelector(e)},querySelectorAll:function(e){return document.querySelectorAll(e)}};function f(e){return!(!e||1!==e.nodeType)}function g(e){return void 0===e}var m=Math.pow(2,53)-1;function v(e,t,n){var s,l,c,h=new i,d=!1;return(n||r).createSemantics().addOperation(\"visit\",{Grammar:function(e,n,r,i,o){var a=e.visit();s=h.newGrammar(a,t),n.visit(),i.visit();var l=s.build();if(l.source=this.source.trimmed(),a in t)throw u.duplicateGrammarDeclaration(l,t);return t[a]=l,l},SuperGrammar:function(e,n){var r=n.visit();if(\"null\"===r)s.withSuperGrammar(null);else{if(!(t&&r in t))throw u.undeclaredGrammar(r,t,n.source);s.withSuperGrammar(t[r])}},Rule_define:function(e,t,n,r,i){l=e.visit(),c=t.visit()[0]||[],s.defaultStartRule||s.ensureSuperGrammar()===o.ProtoBuiltInRules||s.withDefaultStartRule(l);var a=i.visit(),u=n.visit()[0],h=this.source.trimmed();return s.define(l,c,a,u,h)},Rule_override:function(e,t,n,r){l=e.visit(),c=t.visit()[0]||[],d=!0;var i=r.visit(),o=this.source.trimmed(),a=s.override(l,c,i,null,o);return d=!1,a},Rule_extend:function(e,t,n,r){l=e.visit(),c=t.visit()[0]||[];var i=r.visit(),o=this.source.trimmed();return s.extend(l,c,i,null,o)},RuleBody:function(e,t){var n=t.visit();return h.alt.apply(h,n).withSource(this.source)},Formals:function(e,t,n){return t.visit()},Params:function(e,t,n){return t.visit()},Alt:function(e){var t=e.visit();return h.alt.apply(h,t).withSource(this.source)},TopLevelTerm_inline:function(e,t){var n=l+\"_\"+t.visit(),r=e.visit(),i=this.source.trimmed(),o=!(s.superGrammar&&s.superGrammar.rules[n]);d&&!o?s.override(n,c,r,null,i):s.define(n,c,r,null,i);var a=c.map(function(e){return h.app(e)});return h.app(n,a).withSource(r.source)},Seq:function(e){return h.seq.apply(h,e.visit()).withSource(this.source)},Iter_star:function(e,t){return h.star(e.visit()).withSource(this.source)},Iter_plus:function(e,t){return h.plus(e.visit()).withSource(this.source)},Iter_opt:function(e,t){return h.opt(e.visit()).withSource(this.source)},Pred_not:function(e,t){return h.not(t.visit()).withSource(this.source)},Pred_lookahead:function(e,t){return h.lookahead(t.visit()).withSource(this.source)},Lex_lex:function(e,t){return h.lex(t.visit()).withSource(this.source)},Base_application:function(e,t){return h.app(e.visit(),t.visit()[0]||[]).withSource(this.source)},Base_range:function(e,t,n){return h.range(e.visit(),n.visit()).withSource(this.source)},Base_terminal:function(e){return h.terminal(e.visit()).withSource(this.source)},Base_paren:function(e,t,n){return t.visit()},ruleDescr:function(e,t,n){return t.visit()},ruleDescrText:function(e){return this.sourceString.trim()},caseName:function(e,t,n,r,i){return n.visit()},name:function(e,t){return this.sourceString},nameFirst:function(e){},nameRest:function(e){},terminal:function(e,t,n){return t.visit().join(\"\")},oneCharTerminal:function(e,t,n){return t.visit()},terminalChar:function(e){return a.unescapeChar(this.sourceString)},escapeChar:function(e){return this.sourceString},NonemptyListOf:function(e,t,n){return[e.visit()].concat(n.visit())},EmptyListOf:function(){return[]},_terminal:function(){return this.primitiveValue}})(e).visit()}function y(e){if(!f(e))throw new TypeError(\"Expected a DOM Node, got \"+a.unexpectedObjToString(e));if(\"text/ohm-js\"!==e.type)throw new Error('Expected a script tag with type=\"text/ohm-js\", got '+e);return e.getAttribute(\"src\")?function(e){var t=new XMLHttpRequest;t.open(\"GET\",e,!1);try{if(t.send(),0===t.status||200===t.status)return t.responseText}catch(e){}throw new Error(\"unable to load url \"+e)}(e.getAttribute(\"src\")):e.innerHTML}function b(e,t){var n=_(e,t),r=Object.keys(n);if(0===r.length)throw new Error(\"Missing grammar definition\");if(r.length>1){var i=n[r[1]].source;throw new Error(c.getLineAndColumnMessage(i.sourceString,i.startIdx)+\"Found more than one grammar definition -- use ohm.grammars() instead.\")}return n[r[0]]}function _(e,t){var n=s.extend(s.asNamespace(t));if(\"string\"!=typeof e){if(!d(e))throw new TypeError(\"Expected string as first argument, got \"+a.unexpectedObjToString(e));e=e.toString()}return function(e,t){var n=r.match(e,\"Grammars\");if(n.failed())throw u.grammarSyntaxError(n);v(n,t)}(e,n),n}e.exports={createNamespace:s.createNamespace,grammar:b,grammars:_,grammarFromScriptElement:function(e){var t=e;if(g(t)){var n=p.querySelectorAll('script[type=\"text/ohm-js\"]');if(1!==n.length)throw new Error('Expected exactly one script tag with type=\"text/ohm-js\", found '+n.length);t=n[0]}return b(y(t))},grammarsFromScriptElements:function(e){if(f(e))return _(e);var t=e;if(g(t))t=p.querySelectorAll('script[type=\"text/ohm-js\"]');else if(\"string\"==typeof t||!f(t)&&!function(e){if(null==e)return!1;var t=e.length;return\"number\"==typeof t&&t>=0&&t<=m}(t))throw new TypeError(\"Expected a Node, NodeList, or Array, but got \"+t);for(var n=s.createNamespace(),r=0;r<t.length;++r)a.extend(n,_(y(t[r]),n));return n},makeRecipe:function(e){return\"function\"==typeof e?e.call(new i):(\"string\"==typeof e&&(e=JSON.parse(e)),(new i).fromRecipe(e))},ohmGrammar:null,pexprs:l,util:c,extras:n(413),version:h},e.exports._buildGrammar=v,e.exports._setDocumentInterfaceForTesting=function(e){p=e},o.BuiltInRules=n(415),c.announceBuiltInRules(o.BuiltInRules),e.exports.ohmGrammar=r=n(416),o.initApplicationParser(r,v)},function(e,t,n){(function(r){var i;!function(r,o){e.exports=function(r){\"use strict\";var o,s=r.Base64;if(void 0!==e&&e.exports)if(\"undefined\"!=typeof navigator&&\"ReactNative\"==navigator.product);else try{o=n(12).Buffer}catch(e){}var a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",u=function(e){for(var t={},n=0,r=e.length;n<r;n++)t[e.charAt(n)]=n;return t}(a),l=String.fromCharCode,c=function(e){if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?l(192|t>>>6)+l(128|63&t):l(224|t>>>12&15)+l(128|t>>>6&63)+l(128|63&t)}var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return l(240|t>>>18&7)+l(128|t>>>12&63)+l(128|t>>>6&63)+l(128|63&t)},h=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g,d=function(e){return e.replace(h,c)},p=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0),r=[a.charAt(n>>>18),a.charAt(n>>>12&63),t>=2?\"=\":a.charAt(n>>>6&63),t>=1?\"=\":a.charAt(63&n)];return r.join(\"\")},f=r.btoa?function(e){return r.btoa(e)}:function(e){return e.replace(/[\\s\\S]{1,3}/g,p)},g=o?o.from&&Uint8Array&&o.from!==Uint8Array.from?function(e){return(e.constructor===o.constructor?e:o.from(e)).toString(\"base64\")}:function(e){return(e.constructor===o.constructor?e:new o(e)).toString(\"base64\")}:function(e){return f(d(e))},m=function(e,t){return t?g(String(e)).replace(/[+\\/]/g,function(e){return\"+\"==e?\"-\":\"_\"}).replace(/=/g,\"\"):g(String(e))},v=new RegExp([\"[À-ß][-¿]\",\"[à-ï][-¿]{2}\",\"[ð-÷][-¿]{3}\"].join(\"|\"),\"g\"),y=function(e){switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),n=t-65536;return l(55296+(n>>>10))+l(56320+(1023&n));case 3:return l((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return l((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},b=function(e){return e.replace(v,y)},_=function(e){var t=e.length,n=t%4,r=(t>0?u[e.charAt(0)]<<18:0)|(t>1?u[e.charAt(1)]<<12:0)|(t>2?u[e.charAt(2)]<<6:0)|(t>3?u[e.charAt(3)]:0),i=[l(r>>>16),l(r>>>8&255),l(255&r)];return i.length-=[0,0,2,1][n],i.join(\"\")},C=r.atob?function(e){return r.atob(e)}:function(e){return e.replace(/[\\s\\S]{1,4}/g,_)},w=o?o.from&&Uint8Array&&o.from!==Uint8Array.from?function(e){return(e.constructor===o.constructor?e:o.from(e,\"base64\")).toString()}:function(e){return(e.constructor===o.constructor?e:new o(e,\"base64\")).toString()}:function(e){return b(C(e))},D=function(e){return w(String(e).replace(/[-_]/g,function(e){return\"-\"==e?\"+\":\"/\"}).replace(/[^A-Za-z0-9\\+\\/]/g,\"\"))};if(r.Base64={VERSION:\"2.4.8\",atob:C,btoa:f,fromBase64:D,toBase64:m,utob:d,encode:m,encodeURI:function(e){return m(e,!0)},btou:b,decode:D,noConflict:function(){var e=r.Base64;return r.Base64=s,e}},\"function\"==typeof Object.defineProperty){var E=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};r.Base64.extendString=function(){Object.defineProperty(String.prototype,\"fromBase64\",E(function(){return D(this)})),Object.defineProperty(String.prototype,\"toBase64\",E(function(e){return m(this,e)})),Object.defineProperty(String.prototype,\"toBase64URI\",E(function(){return m(this,!0)}))}}r.Meteor&&(Base64=r.Base64);void 0!==e&&e.exports?e.exports.Base64=r.Base64:void 0===(i=function(){return r.Base64}.apply(t,[]))||(e.exports=i);return{Base64:r.Base64}}(r)}(\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==r?r:this)}).call(this,n(17))},function(e,t,n){\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){r[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,a=function(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}(e),u=1;u<arguments.length;u++){for(var l in n=Object(arguments[u]))i.call(n,l)&&(a[l]=n[l]);if(r){s=r(n);for(var c=0;c<s.length;c++)o.call(n,s[c])&&(a[s[c]]=n[s[c]])}}return a}},function(e,t,n){\"use strict\";var r=function(e){};e.exports=function(e,t,n,i,o,s,a,u){if(r(t),!e){var l;if(void 0===t)l=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,i,o,s,a,u],h=0;(l=new Error(t.replace(/%s/g,function(){return c[h++]}))).name=\"Invariant Violation\"}throw l.framesToPop=1,l}}},function(e,t,n){\"use strict\";e.exports={}},function(e,t,n){\"use strict\";function r(e){return function(){return e}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},e.exports=i},function(e,t){t.f={}.propertyIsEnumerable},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t){e.exports=!0},function(e,t,n){\"use strict\";var r=n(7),i=n(10);function o(e,t,n){this.grammar=e,this.ctorName=t,this.matchLength=n}function s(e,t){var n=t?t.length:0;o.call(this,e,\"_terminal\",n),this.primitiveValue=t}function a(e,t,n,r,i){o.call(this,e,t,i),this.children=n,this.childOffsets=r}function u(e,t,n,r,i){o.call(this,e,\"_iter\",r),this.children=t,this.childOffsets=n,this.optional=i}o.prototype.numChildren=function(){return this.children?this.children.length:0},o.prototype.childAt=function(e){if(this.children)return this.children[e]},o.prototype.indexOfChild=function(e){return this.children.indexOf(e)},o.prototype.hasChildren=function(){return this.numChildren()>1},o.prototype.hasNoChildren=function(){return!this.hasChildren()},o.prototype.onlyChild=function(){if(1!==this.numChildren())throw new Error(\"cannot get only child of a node of type \"+this.ctorName+\" (it has \"+this.numChildren()+\" children)\");return this.firstChild()},o.prototype.firstChild=function(){if(this.hasNoChildren())throw new Error(\"cannot get first child of a \"+this.ctorName+\" node, which has no children\");return this.childAt(0)},o.prototype.lastChild=function(){if(this.hasNoChildren())throw new Error(\"cannot get last child of a \"+this.ctorName+\" node, which has no children\");return this.childAt(this.numChildren()-1)},o.prototype.childBefore=function(e){var t=this.indexOfChild(e);if(t<0)throw new Error(\"Node.childBefore() called w/ an argument that is not a child\");if(0===t)throw new Error(\"cannot get child before first child\");return this.childAt(t-1)},o.prototype.childAfter=function(e){var t=this.indexOfChild(e);if(t<0)throw new Error(\"Node.childAfter() called w/ an argument that is not a child\");if(t===this.numChildren()-1)throw new Error(\"cannot get child after last child\");return this.childAt(t+1)},o.prototype.isTerminal=function(){return!1},o.prototype.isNonterminal=function(){return!1},o.prototype.isIteration=function(){return!1},o.prototype.isOptional=function(){return!1},o.prototype.toJSON=function(){var e={};return e[this.ctorName]=this.children,e},r(s,o),s.prototype.isTerminal=function(){return!0},s.prototype.toJSON=function(){var e={};return e[this.ctorName]=this.primitiveValue,e},r(a,o),a.prototype.isNonterminal=function(){return!0},a.prototype.isLexical=function(){return i.isLexical(this.ctorName)},a.prototype.isSyntactic=function(){return i.isSyntactic(this.ctorName)},r(u,o),u.prototype.isIteration=function(){return!0},u.prototype.isOptional=function(){return this.optional},e.exports={Node:o,TerminalNode:s,NonterminalNode:a,IterationNode:u}},function(e,t,n){\"use strict\";(function(t){!t.version||0===t.version.indexOf(\"v0.\")||0===t.version.indexOf(\"v1.\")&&0!==t.version.indexOf(\"v1.8.\")?e.exports={nextTick:function(e,n,r,i){if(\"function\"!=typeof e)throw new TypeError('\"callback\" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return t.nextTick(function(){e.apply(null,o)})}}}:e.exports=t}).call(this,n(21))},function(e,t,n){var r=n(9).Buffer;function i(e){r.isBuffer(e)||(e=r.from(e));for(var t=e.length/4|0,n=new Array(t),i=0;i<t;i++)n[i]=e.readUInt32BE(4*i);return n}function o(e){for(;0<e.length;e++)e[0]=0}function s(e,t,n,r,i){for(var o,s,a,u,l=n[0],c=n[1],h=n[2],d=n[3],p=e[0]^t[0],f=e[1]^t[1],g=e[2]^t[2],m=e[3]^t[3],v=4,y=1;y<i;y++)o=l[p>>>24]^c[f>>>16&255]^h[g>>>8&255]^d[255&m]^t[v++],s=l[f>>>24]^c[g>>>16&255]^h[m>>>8&255]^d[255&p]^t[v++],a=l[g>>>24]^c[m>>>16&255]^h[p>>>8&255]^d[255&f]^t[v++],u=l[m>>>24]^c[p>>>16&255]^h[f>>>8&255]^d[255&g]^t[v++],p=o,f=s,g=a,m=u;return o=(r[p>>>24]<<24|r[f>>>16&255]<<16|r[g>>>8&255]<<8|r[255&m])^t[v++],s=(r[f>>>24]<<24|r[g>>>16&255]<<16|r[m>>>8&255]<<8|r[255&p])^t[v++],a=(r[g>>>24]<<24|r[m>>>16&255]<<16|r[p>>>8&255]<<8|r[255&f])^t[v++],u=(r[m>>>24]<<24|r[p>>>16&255]<<16|r[f>>>8&255]<<8|r[255&g])^t[v++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],r=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var l=a^a<<1^a<<2^a<<3^a<<4;l=l>>>8^255&l^99,n[s]=l,r[l]=s;var c=e[s],h=e[c],d=e[h],p=257*e[l]^16843008*l;i[0][s]=p<<24|p>>>8,i[1][s]=p<<16|p>>>16,i[2][s]=p<<8|p>>>24,i[3][s]=p,p=16843009*d^65537*h^257*c^16843008*s,o[0][l]=p<<24|p>>>8,o[1][l]=p<<16|p>>>16,o[2][l]=p<<8|p>>>24,o[3][l]=p,0===s?s=a=1:(s=c^e[e[e[d^c]]],a^=e[e[a]])}return{SBOX:n,INV_SBOX:r,SUB_MIX:i,INV_SUB_MIX:o}}();function l(e){this._key=i(e),this._reset()}l.blockSize=16,l.keySize=32,l.prototype.blockSize=l.blockSize,l.prototype.keySize=l.keySize,l.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,r=4*(n+1),i=[],o=0;o<t;o++)i[o]=e[o];for(o=t;o<r;o++){var s=i[o-1];o%t==0?(s=s<<8|s>>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/t|0]<<24):t>6&&o%t==4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),i[o]=i[o-t]^s}for(var l=[],c=0;c<r;c++){var h=r-c,d=i[h-(c%4?0:4)];l[c]=c<4||h<=4?d:u.INV_SUB_MIX[0][u.SBOX[d>>>24]]^u.INV_SUB_MIX[1][u.SBOX[d>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[d>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&d]]}this._nRounds=n,this._keySchedule=i,this._invKeySchedule=l},l.prototype.encryptBlockRaw=function(e){return s(e=i(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},l.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=r.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},l.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var n=s(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=r.allocUnsafe(16);return o.writeUInt32BE(n[0],0),o.writeUInt32BE(n[3],4),o.writeUInt32BE(n[2],8),o.writeUInt32BE(n[1],12),o},l.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=l},function(e,t,n){var r=n(9).Buffer,i=n(146);e.exports=function(e,t,n,o){if(r.isBuffer(e)||(e=r.from(e,\"binary\")),t&&(r.isBuffer(t)||(t=r.from(t,\"binary\")),8!==t.length))throw new RangeError(\"salt should be Buffer with 8 byte length\");for(var s=n/8,a=r.alloc(s),u=r.alloc(o||0),l=r.alloc(0);s>0||o>0;){var c=new i;c.update(l),c.update(e),t&&c.update(t),l=c.digest();var h=0;if(s>0){var d=a.length-s;h=Math.min(s,l.length),l.copy(a,d,0,h),s-=h}if(h<l.length&&o>0){var p=u.length-o,f=Math.min(o,l.length-h);l.copy(u,p,h,h+f),o-=f}}return l.fill(0),{key:a,iv:u}}},function(e,t,n){\"use strict\";var r=t;r.base=n(462),r.short=n(463),r.mont=n(464),r.edwards=n(465)},function(e,t,n){(function(t){var r=n(481),i=n(493),o=n(494),s=n(155),a=n(207);function u(e){var n;\"object\"!=typeof e||t.isBuffer(e)||(n=e.passphrase,e=e.key),\"string\"==typeof e&&(e=new t(e));var u,l,c=o(e,n),h=c.tag,d=c.data;switch(h){case\"CERTIFICATE\":l=r.certificate.decode(d,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":switch(l||(l=r.PublicKey.decode(d,\"der\")),u=l.algorithm.algorithm.join(\".\")){case\"1.2.840.113549.1.1.1\":return r.RSAPublicKey.decode(l.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":return l.subjectPrivateKey=l.subjectPublicKey,{type:\"ec\",data:l};case\"1.2.840.10040.4.1\":return l.algorithm.params.pub_key=r.DSAparam.decode(l.subjectPublicKey.data,\"der\"),{type:\"dsa\",data:l.algorithm.params};default:throw new Error(\"unknown key id \"+u)}throw new Error(\"unknown key type \"+h);case\"ENCRYPTED PRIVATE KEY\":d=function(e,n){var r=e.algorithm.decrypt.kde.kdeparams.salt,o=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),u=i[e.algorithm.decrypt.cipher.algo.join(\".\")],l=e.algorithm.decrypt.cipher.iv,c=e.subjectPrivateKey,h=parseInt(u.split(\"-\")[1],10)/8,d=a.pbkdf2Sync(n,r,o,h),p=s.createDecipheriv(u,d,l),f=[];return f.push(p.update(c)),f.push(p.final()),t.concat(f)}(d=r.EncryptedPrivateKey.decode(d,\"der\"),n);case\"PRIVATE KEY\":switch(u=(l=r.PrivateKey.decode(d,\"der\")).algorithm.algorithm.join(\".\")){case\"1.2.840.113549.1.1.1\":return r.RSAPrivateKey.decode(l.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:l.algorithm.curve,privateKey:r.ECPrivateKey.decode(l.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":return l.algorithm.params.priv_key=r.DSAparam.decode(l.subjectPrivateKey,\"der\"),{type:\"dsa\",params:l.algorithm.params};default:throw new Error(\"unknown key id \"+u)}throw new Error(\"unknown key type \"+h);case\"RSA PUBLIC KEY\":return r.RSAPublicKey.decode(d,\"der\");case\"RSA PRIVATE KEY\":return r.RSAPrivateKey.decode(d,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:r.DSAPrivateKey.decode(d,\"der\")};case\"EC PRIVATE KEY\":return{curve:(d=r.ECPrivateKey.decode(d,\"der\")).parameters.value,privateKey:d.privateKey};default:throw new Error(\"unknown key type \"+h)}}e.exports=u,u.signature=r.signature}).call(this,n(12).Buffer)},function(e,t){e.exports={}},function(module,__webpack_exports__,__webpack_require__){\"use strict\";(function(global){__webpack_require__.d(__webpack_exports__,\"a\",function(){return version});var _tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};\n/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */function __awaiter(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})}function __generator(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?\"return\":o[0]?\"throw\":\"next\"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var commonjsGlobal=\"undefined\"!=typeof window?window:void 0!==global?global:\"undefined\"!=typeof self?self:{};function createCommonjsModule(e,t){return e(t={exports:{}},t.exports),t.exports}var punycode=createCommonjsModule(function(e,t){!function(n){var r=t&&!t.nodeType&&t,i=e&&!e.nodeType&&e,o=\"object\"==typeof commonjsGlobal&&commonjsGlobal;o.global!==o&&o.window!==o&&o.self!==o||(n=o);var s,a,u=2147483647,l=36,c=1,h=26,d=38,p=700,f=72,g=128,m=\"-\",v=/^xn--/,y=/[^\\x20-\\x7E]/,b=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,_={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},C=l-c,w=Math.floor,D=String.fromCharCode;function E(e){throw RangeError(_[e])}function A(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function S(e,t){var n=e.split(\"@\"),r=\"\";return n.length>1&&(r=n[0]+\"@\",e=n[1]),r+A((e=e.replace(b,\".\")).split(\".\"),t).join(\".\")}function x(e){for(var t,n,r=[],i=0,o=e.length;i<o;)(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<o?56320==(64512&(n=e.charCodeAt(i++)))?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--):r.push(t);return r}function M(e){return A(e,function(e){var t=\"\";return e>65535&&(t+=D((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+D(e)}).join(\"\")}function N(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function I(e,t,n){var r=0;for(e=n?w(e/p):e>>1,e+=w(e/t);e>C*h>>1;r+=l)e=w(e/C);return w(r+(C+1)*e/(e+d))}function L(e){var t,n,r,i,o,s,a,d,p,v,y,b=[],_=e.length,C=0,D=g,A=f;for((n=e.lastIndexOf(m))<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&E(\"not-basic\"),b.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<_;){for(o=C,s=1,a=l;i>=_&&E(\"invalid-input\"),((d=(y=e.charCodeAt(i++))-48<10?y-22:y-65<26?y-65:y-97<26?y-97:l)>=l||d>w((u-C)/s))&&E(\"overflow\"),C+=d*s,!(d<(p=a<=A?c:a>=A+h?h:a-A));a+=l)s>w(u/(v=l-p))&&E(\"overflow\"),s*=v;A=I(C-o,t=b.length+1,0==o),w(C/t)>u-D&&E(\"overflow\"),D+=w(C/t),C%=t,b.splice(C++,0,D)}return M(b)}function k(e){var t,n,r,i,o,s,a,d,p,v,y,b,_,C,A,S=[];for(b=(e=x(e)).length,t=g,n=0,o=f,s=0;s<b;++s)(y=e[s])<128&&S.push(D(y));for(r=i=S.length,i&&S.push(m);r<b;){for(a=u,s=0;s<b;++s)(y=e[s])>=t&&y<a&&(a=y);for(a-t>w((u-n)/(_=r+1))&&E(\"overflow\"),n+=(a-t)*_,t=a,s=0;s<b;++s)if((y=e[s])<t&&++n>u&&E(\"overflow\"),y==t){for(d=n,p=l;!(d<(v=p<=o?c:p>=o+h?h:p-o));p+=l)A=d-v,C=l-v,S.push(D(N(v+A%C,0))),d=w(A/C);S.push(D(N(d,0))),o=I(n,_,r==i),n=0,++r}++n,++t}return S.join(\"\")}if(s={version:\"1.3.2\",ucs2:{decode:x,encode:M},decode:L,encode:k,toASCII:function(e){return S(e,function(e){return y.test(e)?\"xn--\"+k(e):e})},toUnicode:function(e){return S(e,function(e){return v.test(e)?L(e.slice(4).toLowerCase()):e})}},r&&i)if(e.exports==r)i.exports=s;else for(a in s)s.hasOwnProperty(a)&&(r[a]=s[a]);else n.punycode=s}(commonjsGlobal)}),util$1={isString:function(e){return\"string\"==typeof e},isObject:function(e){return\"object\"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}};function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var decode=function(e,t,n,r){t=t||\"&\",n=n||\"=\";var i={};if(\"string\"!=typeof e||0===e.length)return i;var o=/\\+/g;e=e.split(t);var s=1e3;r&&\"number\"==typeof r.maxKeys&&(s=r.maxKeys);var a=e.length;s>0&&a>s&&(a=s);for(var u=0;u<a;++u){var l,c,h,d,p=e[u].replace(o,\"%20\"),f=p.indexOf(n);f>=0?(l=p.substr(0,f),c=p.substr(f+1)):(l=p,c=\"\"),h=decodeURIComponent(l),d=decodeURIComponent(c),hasOwnProperty(i,h)?Array.isArray(i[h])?i[h].push(d):i[h]=[i[h],d]:i[h]=d}return i},stringifyPrimitive=function(e){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"true\":\"false\";case\"number\":return isFinite(e)?e:\"\";default:return\"\"}},encode=function(e,t,n,r){return t=t||\"&\",n=n||\"=\",null===e&&(e=void 0),\"object\"==typeof e?Object.keys(e).map(function(r){var i=encodeURIComponent(stringifyPrimitive(r))+n;return Array.isArray(e[r])?e[r].map(function(e){return i+encodeURIComponent(stringifyPrimitive(e))}).join(t):i+encodeURIComponent(stringifyPrimitive(e[r]))}).join(t):r?encodeURIComponent(stringifyPrimitive(r))+n+encodeURIComponent(stringifyPrimitive(e)):\"\"},querystring=createCommonjsModule(function(e,t){t.decode=t.parse=decode,t.encode=t.stringify=encode}),querystring_1=querystring.decode,querystring_2=querystring.parse,querystring_3=querystring.encode,querystring_4=querystring.stringify,parse=urlParse,format=urlFormat;function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,delims=[\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],unwise=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(delims),autoEscape=[\"'\"].concat(unwise),nonHostChars=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(autoEscape),hostEndingChars=[\"/\",\"?\",\"#\"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,\"javascript:\":!0},hostlessProtocol={javascript:!0,\"javascript:\":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0};function urlParse(e,t,n){if(e&&util$1.isObject(e)&&e instanceof Url)return e;var r=new Url;return r.parse(e,t,n),r}function urlFormat(e){return util$1.isString(e)&&(e=urlParse(e)),e instanceof Url?e.format():Url.prototype.format.call(e)}Url.prototype.parse=function(e,t,n){if(!util$1.isString(e))throw new TypeError(\"Parameter 'url' must be a string, not \"+typeof e);var r=e.indexOf(\"?\"),i=-1!==r&&r<e.indexOf(\"#\")?\"?\":\"#\",o=e.split(i);o[0]=o[0].replace(/\\\\/g,\"/\");var s=e=o.join(i);if(s=s.trim(),!n&&1===e.split(\"#\").length){var a=simplePathPattern.exec(s);if(a)return this.path=s,this.href=s,this.pathname=a[1],a[2]?(this.search=a[2],this.query=t?querystring.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search=\"\",this.query={}),this}var u=protocolPattern.exec(s);if(u){var l=(u=u[0]).toLowerCase();this.protocol=l,s=s.substr(u.length)}if(n||u||s.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)){var c=\"//\"===s.substr(0,2);!c||u&&hostlessProtocol[u]||(s=s.substr(2),this.slashes=!0)}if(!hostlessProtocol[u]&&(c||u&&!slashedProtocol[u])){for(var h,d,p=-1,f=0;f<hostEndingChars.length;f++)-1!==(g=s.indexOf(hostEndingChars[f]))&&(-1===p||g<p)&&(p=g);for(-1!==(d=-1===p?s.lastIndexOf(\"@\"):s.lastIndexOf(\"@\",p))&&(h=s.slice(0,d),s=s.slice(d+1),this.auth=decodeURIComponent(h)),p=-1,f=0;f<nonHostChars.length;f++){var g;-1!==(g=s.indexOf(nonHostChars[f]))&&(-1===p||g<p)&&(p=g)}-1===p&&(p=s.length),this.host=s.slice(0,p),s=s.slice(p),this.parseHost(),this.hostname=this.hostname||\"\";var m=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!m)for(var v=this.hostname.split(/\\./),y=(f=0,v.length);f<y;f++){var b=v[f];if(b&&!b.match(hostnamePartPattern)){for(var _=\"\",C=0,w=b.length;C<w;C++)b.charCodeAt(C)>127?_+=\"x\":_+=b[C];if(!_.match(hostnamePartPattern)){var D=v.slice(0,f),E=v.slice(f+1),A=b.match(hostnamePartStart);A&&(D.push(A[1]),E.unshift(A[2])),E.length&&(s=\"/\"+E.join(\".\")+s),this.hostname=D.join(\".\");break}}}this.hostname.length>hostnameMaxLen?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),m||(this.hostname=punycode.toASCII(this.hostname));var S=this.port?\":\"+this.port:\"\",x=this.hostname||\"\";this.host=x+S,this.href+=this.host,m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==s[0]&&(s=\"/\"+s))}if(!unsafeProtocol[l])for(f=0,y=autoEscape.length;f<y;f++){var M=autoEscape[f];if(-1!==s.indexOf(M)){var N=encodeURIComponent(M);N===M&&(N=escape(M)),s=s.split(M).join(N)}}var I=s.indexOf(\"#\");-1!==I&&(this.hash=s.substr(I),s=s.slice(0,I));var L=s.indexOf(\"?\");if(-1!==L?(this.search=s.substr(L),this.query=s.substr(L+1),t&&(this.query=querystring.parse(this.query)),s=s.slice(0,L)):t&&(this.search=\"\",this.query={}),s&&(this.pathname=s),slashedProtocol[l]&&this.hostname&&!this.pathname&&(this.pathname=\"/\"),this.pathname||this.search){S=this.pathname||\"\";var k=this.search||\"\";this.path=S+k}return this.href=this.format(),this},Url.prototype.format=function(){var e=this.auth||\"\";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,\":\"),e+=\"@\");var t=this.protocol||\"\",n=this.pathname||\"\",r=this.hash||\"\",i=!1,o=\"\";this.host?i=e+this.host:this.hostname&&(i=e+(-1===this.hostname.indexOf(\":\")?this.hostname:\"[\"+this.hostname+\"]\"),this.port&&(i+=\":\"+this.port)),this.query&&util$1.isObject(this.query)&&Object.keys(this.query).length&&(o=querystring.stringify(this.query));var s=this.search||o&&\"?\"+o||\"\";return t&&\":\"!==t.substr(-1)&&(t+=\":\"),this.slashes||(!t||slashedProtocol[t])&&!1!==i?(i=\"//\"+(i||\"\"),n&&\"/\"!==n.charAt(0)&&(n=\"/\"+n)):i||(i=\"\"),r&&\"#\"!==r.charAt(0)&&(r=\"#\"+r),s&&\"?\"!==s.charAt(0)&&(s=\"?\"+s),t+i+(n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}))+(s=s.replace(\"#\",\"%23\"))+r},Url.prototype.resolve=function(e){return this.resolveObject(urlParse(e,!1,!0)).format()},Url.prototype.resolveObject=function(e){if(util$1.isString(e)){var t=new Url;t.parse(e,!1,!0),e=t}for(var n=new Url,r=Object.keys(this),i=0;i<r.length;i++){var o=r[i];n[o]=this[o]}if(n.hash=e.hash,\"\"===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var s=Object.keys(e),a=0;a<s.length;a++){var u=s[a];\"protocol\"!==u&&(n[u]=e[u])}return slashedProtocol[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname=\"/\"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!slashedProtocol[e.protocol]){for(var l=Object.keys(e),c=0;c<l.length;c++){var h=l[c];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||hostlessProtocol[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||\"\").split(\"/\");d.length&&!(e.host=d.shift()););e.host||(e.host=\"\"),e.hostname||(e.hostname=\"\"),\"\"!==d[0]&&d.unshift(\"\"),d.length<2&&d.unshift(\"\"),n.pathname=d.join(\"/\")}if(n.search=e.search,n.query=e.query,n.host=e.host||\"\",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var p=n.pathname||\"\",f=n.search||\"\";n.path=p+f}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var g=n.pathname&&\"/\"===n.pathname.charAt(0),m=e.host||e.pathname&&\"/\"===e.pathname.charAt(0),v=m||g||n.host&&e.pathname,y=v,b=n.pathname&&n.pathname.split(\"/\")||[],_=(d=e.pathname&&e.pathname.split(\"/\")||[],n.protocol&&!slashedProtocol[n.protocol]);if(_&&(n.hostname=\"\",n.port=null,n.host&&(\"\"===b[0]?b[0]=n.host:b.unshift(n.host)),n.host=\"\",e.protocol&&(e.hostname=null,e.port=null,e.host&&(\"\"===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),v=v&&(\"\"===d[0]||\"\"===b[0])),m)n.host=e.host||\"\"===e.host?e.host:n.host,n.hostname=e.hostname||\"\"===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,b=d;else if(d.length)b||(b=[]),b.pop(),b=b.concat(d),n.search=e.search,n.query=e.query;else if(!util$1.isNullOrUndefined(e.search))return _&&(n.hostname=n.host=b.shift(),(A=!!(n.host&&n.host.indexOf(\"@\")>0)&&n.host.split(\"@\"))&&(n.auth=A.shift(),n.host=n.hostname=A.shift())),n.search=e.search,n.query=e.query,util$1.isNull(n.pathname)&&util$1.isNull(n.search)||(n.path=(n.pathname?n.pathname:\"\")+(n.search?n.search:\"\")),n.href=n.format(),n;if(!b.length)return n.pathname=null,n.search?n.path=\"/\"+n.search:n.path=null,n.href=n.format(),n;for(var C=b.slice(-1)[0],w=(n.host||e.host||b.length>1)&&(\".\"===C||\"..\"===C)||\"\"===C,D=0,E=b.length;E>=0;E--)\".\"===(C=b[E])?b.splice(E,1):\"..\"===C?(b.splice(E,1),D++):D&&(b.splice(E,1),D--);if(!v&&!y)for(;D--;D)b.unshift(\"..\");!v||\"\"===b[0]||b[0]&&\"/\"===b[0].charAt(0)||b.unshift(\"\"),w&&\"/\"!==b.join(\"/\").substr(-1)&&b.push(\"\");var A,S=\"\"===b[0]||b[0]&&\"/\"===b[0].charAt(0);return _&&(n.hostname=n.host=S?\"\":b.length?b.shift():\"\",(A=!!(n.host&&n.host.indexOf(\"@\")>0)&&n.host.split(\"@\"))&&(n.auth=A.shift(),n.host=n.hostname=A.shift())),(v=v||n.host&&b.length)&&!S&&b.unshift(\"\"),b.length?n.pathname=b.join(\"/\"):(n.pathname=null,n.path=null),util$1.isNull(n.pathname)&&util$1.isNull(n.search)||(n.path=(n.pathname?n.pathname:\"\")+(n.search?n.search:\"\")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},Url.prototype.parseHost=function(){var e=this.host,t=portPattern.exec(e);t&&(\":\"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var aspromise=asPromise;function asPromise(e,t){for(var n=new Array(arguments.length-1),r=0,i=2,o=!0;i<arguments.length;)n[r++]=arguments[i++];return new Promise(function(i,s){n[r]=function(e){if(o)if(o=!1,e)s(e);else{for(var t=new Array(arguments.length-1),n=0;n<t.length;)t[n++]=arguments[n];i.apply(null,t)}};try{e.apply(t||null,n)}catch(e){o&&(o=!1,s(e))}})}var base64_1=createCommonjsModule(function(e,t){var n=t;n.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&\"=\"===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var r=new Array(64),i=new Array(123),o=0;o<64;)i[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(e,t,n){for(var i,o=null,s=[],a=0,u=0;t<n;){var l=e[t++];switch(u){case 0:s[a++]=r[l>>2],i=(3&l)<<4,u=1;break;case 1:s[a++]=r[i|l>>4],i=(15&l)<<2,u=2;break;case 2:s[a++]=r[i|l>>6],s[a++]=r[63&l],u=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0)}return u&&(s[a++]=r[i],s[a++]=61,1===u&&(s[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join(\"\")):String.fromCharCode.apply(String,s.slice(0,a))},n.decode=function(e,t,n){for(var r,o=n,s=0,a=0;a<e.length;){var u=e.charCodeAt(a++);if(61===u&&s>1)break;if(void 0===(u=i[u]))throw Error(\"invalid encoding\");switch(s){case 0:r=u,s=1;break;case 1:t[n++]=r<<2|(48&u)>>4,r=u,s=2;break;case 2:t[n++]=(15&r)<<4|(60&u)>>2,r=u,s=3;break;case 3:t[n++]=(3&r)<<6|u,s=0}}if(1===s)throw Error(\"invalid encoding\");return n-o},n.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}}),eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},EventEmitter.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var n=this._listeners[e],r=0;r<n.length;)n[r].fn===t?n.splice(r,1):++r;return this},EventEmitter.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,n)}return this};var float_1=factory(factory);function factory(e){return\"undefined\"!=typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),r=128===n[3];function i(e,r,i){t[0]=e,r[i]=n[0],r[i+1]=n[1],r[i+2]=n[2],r[i+3]=n[3]}function o(e,r,i){t[0]=e,r[i]=n[3],r[i+1]=n[2],r[i+2]=n[1],r[i+3]=n[0]}function s(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],t[0]}function a(e,r){return n[3]=e[r],n[2]=e[r+1],n[1]=e[r+2],n[0]=e[r+3],t[0]}e.writeFloatLE=r?i:o,e.writeFloatBE=r?o:i,e.readFloatLE=r?s:a,e.readFloatBE=r?a:s}():function(){function t(e,t,n,r){var i=t<0?1:0;if(i&&(t=-t),0===t)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>3.4028234663852886e38)e((i<<31|2139095040)>>>0,n,r);else if(t<1.1754943508222875e-38)e((i<<31|Math.round(t/1.401298464324817e-45))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2);e((i<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,n,r)}}function n(e,t,n){var r=e(t,n),i=2*(r>>31)+1,o=r>>>23&255,s=8388607&r;return 255===o?s?NaN:i*(1/0):0===o?1.401298464324817e-45*i*s:i*Math.pow(2,o-150)*(s+8388608)}e.writeFloatLE=t.bind(null,writeUintLE),e.writeFloatBE=t.bind(null,writeUintBE),e.readFloatLE=n.bind(null,readUintLE),e.readFloatBE=n.bind(null,readUintBE)}(),\"undefined\"!=typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),r=128===n[7];function i(e,r,i){t[0]=e,r[i]=n[0],r[i+1]=n[1],r[i+2]=n[2],r[i+3]=n[3],r[i+4]=n[4],r[i+5]=n[5],r[i+6]=n[6],r[i+7]=n[7]}function o(e,r,i){t[0]=e,r[i]=n[7],r[i+1]=n[6],r[i+2]=n[5],r[i+3]=n[4],r[i+4]=n[3],r[i+5]=n[2],r[i+6]=n[1],r[i+7]=n[0]}function s(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],n[4]=e[r+4],n[5]=e[r+5],n[6]=e[r+6],n[7]=e[r+7],t[0]}function a(e,r){return n[7]=e[r],n[6]=e[r+1],n[5]=e[r+2],n[4]=e[r+3],n[3]=e[r+4],n[2]=e[r+5],n[1]=e[r+6],n[0]=e[r+7],t[0]}e.writeDoubleLE=r?i:o,e.writeDoubleBE=r?o:i,e.readDoubleLE=r?s:a,e.readDoubleBE=r?a:s}():function(){function t(e,t,n,r,i,o){var s=r<0?1:0;if(s&&(r=-r),0===r)e(0,i,o+t),e(1/r>0?0:2147483648,i,o+n);else if(isNaN(r))e(0,i,o+t),e(2146959360,i,o+n);else if(r>1.7976931348623157e308)e(0,i,o+t),e((s<<31|2146435072)>>>0,i,o+n);else{var a;if(r<2.2250738585072014e-308)e((a=r/5e-324)>>>0,i,o+t),e((s<<31|a/4294967296)>>>0,i,o+n);else{var u=Math.floor(Math.log(r)/Math.LN2);1024===u&&(u=1023),e(4503599627370496*(a=r*Math.pow(2,-u))>>>0,i,o+t),e((s<<31|u+1023<<20|1048576*a&1048575)>>>0,i,o+n)}}}function n(e,t,n,r,i){var o=e(r,i+t),s=e(r,i+n),a=2*(s>>31)+1,u=s>>>20&2047,l=4294967296*(1048575&s)+o;return 2047===u?l?NaN:a*(1/0):0===u?5e-324*a*l:a*Math.pow(2,u-1075)*(l+4503599627370496)}e.writeDoubleLE=t.bind(null,writeUintLE,0,4),e.writeDoubleBE=t.bind(null,writeUintBE,4,0),e.readDoubleLE=n.bind(null,readUintLE,0,4),e.readDoubleBE=n.bind(null,readUintBE,4,0)}(),e}function writeUintLE(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function writeUintBE(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function readUintLE(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function readUintBE(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod$$1=eval(\"quire\".replace(/^/,\"re\"))(moduleName);if(mod$$1&&(mod$$1.length||Object.keys(mod$$1).length))return mod$$1}catch(e){}return null}var utf8_1=createCommonjsModule(function(e,t){var n=t;n.length=function(e){for(var t=0,n=0,r=0;r<e.length;++r)(n=e.charCodeAt(r))<128?t+=1:n<2048?t+=2:55296==(64512&n)&&56320==(64512&e.charCodeAt(r+1))?(++r,t+=4):t+=3;return t},n.read=function(e,t,n){if(n-t<1)return\"\";for(var r,i=null,o=[],s=0;t<n;)(r=e[t++])<128?o[s++]=r:r>191&&r<224?o[s++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[s++]=55296+(r>>10),o[s++]=56320+(1023&r)):o[s++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join(\"\")):String.fromCharCode.apply(String,o.slice(0,s))},n.write=function(e,t,n){for(var r,i,o=n,s=0;s<e.length;++s)(r=e.charCodeAt(s))<128?t[n++]=r:r<2048?(t[n++]=r>>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=e.charCodeAt(s+1)))?(r=65536+((1023&r)<<10)+(1023&i),++s,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}}),pool_1=pool;function pool(e,t,n){var r=n||8192,i=r>>>1,o=null,s=r;return function(n){if(n<1||n>i)return e(n);s+n>r&&(o=e(r),s=0);var a=t.call(o,s,s+=n);return 7&s&&(s=1+(7|s)),a}}var longbits=LongBits;function LongBits(e,t){this.lo=e>>>0,this.hi=t>>>0}var zero=LongBits.zero=new LongBits(0,0);zero.toNumber=function(){return 0},zero.zzEncode=zero.zzDecode=function(){return this},zero.length=function(){return 1};var zeroHash=LongBits.zeroHash=\"\\0\\0\\0\\0\\0\\0\\0\\0\";LongBits.fromNumber=function(e){if(0===e)return zero;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new LongBits(n,r)},LongBits.from=function(e){if(\"number\"==typeof e)return LongBits.fromNumber(e);if(minimal.isString(e)){if(!minimal.Long)return LongBits.fromNumber(parseInt(e,10));e=minimal.Long.fromString(e)}return e.low||e.high?new LongBits(e.low>>>0,e.high>>>0):zero},LongBits.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},LongBits.prototype.toLong=function(e){return minimal.Long?new minimal.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var charCodeAt=String.prototype.charCodeAt;LongBits.fromHash=function(e){return e===zeroHash?zero:new LongBits((charCodeAt.call(e,0)|charCodeAt.call(e,1)<<8|charCodeAt.call(e,2)<<16|charCodeAt.call(e,3)<<24)>>>0,(charCodeAt.call(e,4)|charCodeAt.call(e,5)<<8|charCodeAt.call(e,6)<<16|charCodeAt.call(e,7)<<24)>>>0)},LongBits.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},LongBits.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},LongBits.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},LongBits.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10};var minimal=createCommonjsModule(function(e,t){var n=t;function r(e,t,n){for(var r=Object.keys(t),i=0;i<r.length;++i)void 0!==e[r[i]]&&n||(e[r[i]]=t[r[i]]);return e}function i(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,\"message\",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,\"stack\",{value:(new Error).stack||\"\"}),n&&r(this,n)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,\"name\",{get:function(){return e}}),t.prototype.toString=function(){return this.name+\": \"+this.message},t}n.asPromise=aspromise,n.base64=base64_1,n.EventEmitter=eventemitter,n.float=float_1,n.inquire=inquire_1,n.utf8=utf8_1,n.pool=pool_1,n.LongBits=longbits,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isNode=Boolean(commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),n.isInteger=Number.isInteger||function(e){return\"number\"==typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return\"string\"==typeof e||e instanceof String},n.isObject=function(e){return e&&\"object\"==typeof e},n.isset=n.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&(\"object\"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},n.Buffer=function(){try{var e=n.inquire(\"buffer\").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return\"number\"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):\"undefined\"==typeof Uint8Array?e:new Uint8Array(e)},n.Array=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,n.Long=commonjsGlobal.dcodeIO&&commonjsGlobal.dcodeIO.Long||n.inquire(\"long\"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=r,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=i,n.ProtocolError=i(\"ProtocolError\"),n.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},n.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}}),writer=Writer,BufferWriter,LongBits$1=minimal.LongBits,base64=minimal.base64,utf8=minimal.utf8;function Op(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function noop(){}function State(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function Writer(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}function writeByte(e,t,n){t[n]=255&e}function writeVarint32(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e}function VarintOp(e,t){this.len=e,this.next=void 0,this.val=t}function writeVarint64(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function writeFixed32(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}Writer.create=minimal.Buffer?function(){return(Writer.create=function(){return new BufferWriter})()}:function(){return new Writer},Writer.alloc=function(e){return new minimal.Array(e)},minimal.Array!==Array&&(Writer.alloc=minimal.pool(Writer.alloc,minimal.Array.prototype.subarray)),Writer.prototype._push=function(e,t,n){return this.tail=this.tail.next=new Op(e,t,n),this.len+=t,this},VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new VarintOp((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},Writer.prototype.int32=function(e){return e<0?this._push(writeVarint64,10,LongBits$1.fromNumber(e)):this.uint32(e)},Writer.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},Writer.prototype.uint64=function(e){var t=LongBits$1.from(e);return this._push(writeVarint64,t.length(),t)},Writer.prototype.int64=Writer.prototype.uint64,Writer.prototype.sint64=function(e){var t=LongBits$1.from(e).zzEncode();return this._push(writeVarint64,t.length(),t)},Writer.prototype.bool=function(e){return this._push(writeByte,1,e?1:0)},Writer.prototype.fixed32=function(e){return this._push(writeFixed32,4,e>>>0)},Writer.prototype.sfixed32=Writer.prototype.fixed32,Writer.prototype.fixed64=function(e){var t=LongBits$1.from(e);return this._push(writeFixed32,4,t.lo)._push(writeFixed32,4,t.hi)},Writer.prototype.sfixed64=Writer.prototype.fixed64,Writer.prototype.float=function(e){return this._push(minimal.float.writeFloatLE,4,e)},Writer.prototype.double=function(e){return this._push(minimal.float.writeDoubleLE,8,e)};var writeBytes=minimal.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};Writer.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(writeByte,1,0);if(minimal.isString(e)){var n=Writer.alloc(t=base64.length(e));base64.decode(e,n,0),e=n}return this.uint32(t)._push(writeBytes,t,e)},Writer.prototype.string=function(e){var t=utf8.length(e);return t?this.uint32(t)._push(utf8.write,t,e):this._push(writeByte,1,0)},Writer.prototype.fork=function(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},Writer.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},Writer._configure=function(e){BufferWriter=e};var writer_buffer=BufferWriter$1;(BufferWriter$1.prototype=Object.create(writer.prototype)).constructor=BufferWriter$1;var Buffer=minimal.Buffer;function BufferWriter$1(){writer.call(this)}BufferWriter$1.alloc=function(e){return(BufferWriter$1.alloc=minimal._Buffer_allocUnsafe)(e)};var writeBytesBuffer=Buffer&&Buffer.prototype instanceof Uint8Array&&\"set\"===Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]};function writeStringBuffer(e,t,n){e.length<40?minimal.utf8.write(e,t,n):t.utf8Write(e,n)}BufferWriter$1.prototype.bytes=function(e){minimal.isString(e)&&(e=minimal._Buffer_from(e,\"base64\"));var t=e.length>>>0;return this.uint32(t),t&&this._push(writeBytesBuffer,t,e),this},BufferWriter$1.prototype.string=function(e){var t=Buffer.byteLength(e);return this.uint32(t),t&&this._push(writeStringBuffer,t,e),this};var reader=Reader,BufferReader,LongBits$2=minimal.LongBits,utf8$1=minimal.utf8;function indexOutOfRange(e,t){return RangeError(\"index out of range: \"+e.pos+\" + \"+(t||1)+\" > \"+e.len)}function Reader(e){this.buf=e,this.pos=0,this.len=e.length}var create_array=\"undefined\"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Reader(e);throw Error(\"illegal buffer\")}:function(e){if(Array.isArray(e))return new Reader(e);throw Error(\"illegal buffer\")},e;function readLongVarint(){var e=new LongBits$2(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error(\"invalid varint encoding\")}function readFixed32_end(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits$2(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader.create=minimal.Buffer?function(e){return(Reader.create=function(e){return minimal.Buffer.isBuffer(e)?new BufferReader(e):create_array(e)})(e)}:create_array,Reader.prototype._slice=minimal.Array.prototype.subarray||minimal.Array.prototype.slice,Reader.prototype.uint32=(e=4294967295,function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return e}),Reader.prototype.int32=function(){return 0|this.uint32()},Reader.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},Reader.prototype.bool=function(){return 0!==this.uint32()},Reader.prototype.fixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader.prototype.sfixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return 0|readFixed32_end(this.buf,this.pos+=4)},Reader.prototype.float=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var e=minimal.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},Reader.prototype.double=function(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var e=minimal.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},Reader.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw indexOutOfRange(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},Reader.prototype.string=function(){var e=this.bytes();return utf8$1.read(e,0,e.length)},Reader.prototype.skip=function(e){if(\"number\"==typeof e){if(this.pos+e>this.len)throw indexOutOfRange(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw indexOutOfRange(this)}while(128&this.buf[this.pos++]);return this},Reader.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(\"invalid wire type \"+e+\" at offset \"+this.pos)}return this},Reader._configure=function(e){BufferReader=e;var t=minimal.Long?\"toLong\":\"toNumber\";minimal.merge(Reader.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader$1;function BufferReader$1(e){reader.call(this,e)}(BufferReader$1.prototype=Object.create(reader.prototype)).constructor=BufferReader$1,minimal.Buffer&&(BufferReader$1.prototype._slice=minimal.Buffer.prototype.slice),BufferReader$1.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len))};var service=Service;function Service(e,t,n){if(\"function\"!=typeof e)throw TypeError(\"rpcImpl must be a function\");minimal.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(Service.prototype=Object.create(minimal.EventEmitter.prototype)).constructor=Service,Service.prototype.rpcCall=function e(t,n,r,i,o){if(!i)throw TypeError(\"request must be specified\");var s=this;if(!o)return minimal.asPromise(e,s,t,n,r,i);if(s.rpcImpl)try{return s.rpcImpl(t,n[s.requestDelimited?\"encodeDelimited\":\"encode\"](i).finish(),function(e,n){if(e)return s.emit(\"error\",e,t),o(e);if(null!==n){if(!(n instanceof r))try{n=r[s.responseDelimited?\"decodeDelimited\":\"decode\"](n)}catch(e){return s.emit(\"error\",e,t),o(e)}return s.emit(\"data\",n,t),o(null,n)}s.end(!0)})}catch(e){return s.emit(\"error\",e,t),void setTimeout(function(){o(e)},0)}else setTimeout(function(){o(Error(\"already ended\"))},0)},Service.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit(\"end\").off()),this};var rpc_1=createCommonjsModule(function(e,t){t.Service=service}),roots={},indexMinimal=createCommonjsModule(function(e,t){var n=t;function r(){n.Reader._configure(n.BufferReader),n.util._configure()}n.build=\"minimal\",n.Writer=writer,n.BufferWriter=writer_buffer,n.Reader=reader,n.BufferReader=reader_buffer,n.util=minimal,n.rpc=rpc_1,n.roots=roots,n.configure=r,n.Writer._configure(n.BufferWriter),r()}),minimal$1=indexMinimal,minimal_1=minimal$1.roots,minimal_2=minimal$1.Reader,minimal_3=minimal$1.util,$Reader=minimal$1.Reader,$util=minimal$1.util,$root=minimal$1.roots.default||(minimal$1.roots.default={});$root.tensorflow=function(){var e,t,n={};return n.Any=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.typeUrl=\"\",e.prototype.value=$util.newBuffer([]),e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.Any;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.typeUrl=e.string();break;case 2:r.value=e.bytes();break;default:e.skipType(7&i)}}return r},e}(),n.DataType=(e={},(t=Object.create(e))[e[0]=\"DT_INVALID\"]=0,t[e[1]=\"DT_FLOAT\"]=1,t[e[2]=\"DT_DOUBLE\"]=2,t[e[3]=\"DT_INT32\"]=3,t[e[4]=\"DT_UINT8\"]=4,t[e[5]=\"DT_INT16\"]=5,t[e[6]=\"DT_INT8\"]=6,t[e[7]=\"DT_STRING\"]=7,t[e[8]=\"DT_COMPLEX64\"]=8,t[e[9]=\"DT_INT64\"]=9,t[e[10]=\"DT_BOOL\"]=10,t[e[11]=\"DT_QINT8\"]=11,t[e[12]=\"DT_QUINT8\"]=12,t[e[13]=\"DT_QINT32\"]=13,t[e[14]=\"DT_BFLOAT16\"]=14,t[e[101]=\"DT_FLOAT_REF\"]=101,t[e[102]=\"DT_DOUBLE_REF\"]=102,t[e[103]=\"DT_INT32_REF\"]=103,t[e[104]=\"DT_UINT8_REF\"]=104,t[e[105]=\"DT_INT16_REF\"]=105,t[e[106]=\"DT_INT8_REF\"]=106,t[e[107]=\"DT_STRING_REF\"]=107,t[e[108]=\"DT_COMPLEX64_REF\"]=108,t[e[109]=\"DT_INT64_REF\"]=109,t[e[110]=\"DT_BOOL_REF\"]=110,t[e[111]=\"DT_QINT8_REF\"]=111,t[e[112]=\"DT_QUINT8_REF\"]=112,t[e[113]=\"DT_QINT32_REF\"]=113,t[e[114]=\"DT_BFLOAT16_REF\"]=114,t),n.TensorShape=function(){function e(e){if(this.dim=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.dim=$util.emptyArray,e.prototype.unknownRank=!1,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.TensorShape;e.pos<n;){var i=e.uint32();switch(i>>>3){case 2:r.dim&&r.dim.length||(r.dim=[]),r.dim.push($root.tensorflow.TensorShape.Dim.decode(e,e.uint32()));break;case 3:r.unknownRank=e.bool();break;default:e.skipType(7&i)}}return r},e.Dim=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.size=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.name=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.TensorShape.Dim;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.size=e.int64();break;case 2:r.name=e.string();break;default:e.skipType(7&i)}}return r},e}(),e}(),n.Tensor=function(){function e(e){if(this.floatVal=[],this.doubleVal=[],this.intVal=[],this.stringVal=[],this.scomplexVal=[],this.int64Val=[],this.boolVal=[],this.uint32Val=[],this.uint64Val=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.dtype=0,e.prototype.tensorShape=null,e.prototype.versionNumber=0,e.prototype.tensorContent=$util.newBuffer([]),e.prototype.floatVal=$util.emptyArray,e.prototype.doubleVal=$util.emptyArray,e.prototype.intVal=$util.emptyArray,e.prototype.stringVal=$util.emptyArray,e.prototype.scomplexVal=$util.emptyArray,e.prototype.int64Val=$util.emptyArray,e.prototype.boolVal=$util.emptyArray,e.prototype.uint32Val=$util.emptyArray,e.prototype.uint64Val=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.Tensor;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.dtype=e.int32();break;case 2:r.tensorShape=$root.tensorflow.TensorShape.decode(e,e.uint32());break;case 3:r.versionNumber=e.int32();break;case 4:r.tensorContent=e.bytes();break;case 5:if(r.floatVal&&r.floatVal.length||(r.floatVal=[]),2==(7&i))for(var o=e.uint32()+e.pos;e.pos<o;)r.floatVal.push(e.float());else r.floatVal.push(e.float());break;case 6:if(r.doubleVal&&r.doubleVal.length||(r.doubleVal=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.doubleVal.push(e.double());else r.doubleVal.push(e.double());break;case 7:if(r.intVal&&r.intVal.length||(r.intVal=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.intVal.push(e.int32());else r.intVal.push(e.int32());break;case 8:r.stringVal&&r.stringVal.length||(r.stringVal=[]),r.stringVal.push(e.bytes());break;case 9:if(r.scomplexVal&&r.scomplexVal.length||(r.scomplexVal=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.scomplexVal.push(e.float());else r.scomplexVal.push(e.float());break;case 10:if(r.int64Val&&r.int64Val.length||(r.int64Val=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.int64Val.push(e.int64());else r.int64Val.push(e.int64());break;case 11:if(r.boolVal&&r.boolVal.length||(r.boolVal=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.boolVal.push(e.bool());else r.boolVal.push(e.bool());break;case 16:if(r.uint32Val&&r.uint32Val.length||(r.uint32Val=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.uint32Val.push(e.uint32());else r.uint32Val.push(e.uint32());break;case 17:if(r.uint64Val&&r.uint64Val.length||(r.uint64Val=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.uint64Val.push(e.uint64());else r.uint64Val.push(e.uint64());break;default:e.skipType(7&i)}}return r},e}(),n.AttrValue=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}var t;return e.prototype.list=null,e.prototype.s=$util.newBuffer([]),e.prototype.i=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.f=0,e.prototype.b=!1,e.prototype.type=0,e.prototype.shape=null,e.prototype.tensor=null,e.prototype.placeholder=\"\",e.prototype.func=null,Object.defineProperty(e.prototype,\"value\",{get:$util.oneOfGetter(t=[\"list\",\"s\",\"i\",\"f\",\"b\",\"type\",\"shape\",\"tensor\",\"placeholder\",\"func\"]),set:$util.oneOfSetter(t)}),e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.AttrValue;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.list=$root.tensorflow.AttrValue.ListValue.decode(e,e.uint32());break;case 2:r.s=e.bytes();break;case 3:r.i=e.int64();break;case 4:r.f=e.float();break;case 5:r.b=e.bool();break;case 6:r.type=e.int32();break;case 7:r.shape=$root.tensorflow.TensorShape.decode(e,e.uint32());break;case 8:r.tensor=$root.tensorflow.Tensor.decode(e,e.uint32());break;case 9:r.placeholder=e.string();break;case 10:r.func=$root.tensorflow.NameAttrList.decode(e,e.uint32());break;default:e.skipType(7&i)}}return r},e.ListValue=function(){function e(e){if(this.s=[],this.i=[],this.f=[],this.b=[],this.type=[],this.shape=[],this.tensor=[],this.func=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.s=$util.emptyArray,e.prototype.i=$util.emptyArray,e.prototype.f=$util.emptyArray,e.prototype.b=$util.emptyArray,e.prototype.type=$util.emptyArray,e.prototype.shape=$util.emptyArray,e.prototype.tensor=$util.emptyArray,e.prototype.func=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.AttrValue.ListValue;e.pos<n;){var i=e.uint32();switch(i>>>3){case 2:r.s&&r.s.length||(r.s=[]),r.s.push(e.bytes());break;case 3:if(r.i&&r.i.length||(r.i=[]),2==(7&i))for(var o=e.uint32()+e.pos;e.pos<o;)r.i.push(e.int64());else r.i.push(e.int64());break;case 4:if(r.f&&r.f.length||(r.f=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.f.push(e.float());else r.f.push(e.float());break;case 5:if(r.b&&r.b.length||(r.b=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.b.push(e.bool());else r.b.push(e.bool());break;case 6:if(r.type&&r.type.length||(r.type=[]),2==(7&i))for(o=e.uint32()+e.pos;e.pos<o;)r.type.push(e.int32());else r.type.push(e.int32());break;case 7:r.shape&&r.shape.length||(r.shape=[]),r.shape.push($root.tensorflow.TensorShape.decode(e,e.uint32()));break;case 8:r.tensor&&r.tensor.length||(r.tensor=[]),r.tensor.push($root.tensorflow.Tensor.decode(e,e.uint32()));break;case 9:r.func&&r.func.length||(r.func=[]),r.func.push($root.tensorflow.NameAttrList.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return r},e}(),e}(),n.NameAttrList=function(){function e(e){if(this.attr={},e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name=\"\",e.prototype.attr=$util.emptyObject,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n,r=void 0===t?e.len:e.pos+t,i=new $root.tensorflow.NameAttrList;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:i.name=e.string();break;case 2:e.skip().pos++,i.attr===$util.emptyObject&&(i.attr={}),n=e.string(),e.pos++,i.attr[n]=$root.tensorflow.AttrValue.decode(e,e.uint32());break;default:e.skipType(7&o)}}return i},e}(),n.NodeDef=function(){function e(e){if(this.input=[],this.attr={},e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name=\"\",e.prototype.op=\"\",e.prototype.input=$util.emptyArray,e.prototype.device=\"\",e.prototype.attr=$util.emptyObject,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n,r=void 0===t?e.len:e.pos+t,i=new $root.tensorflow.NodeDef;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:i.name=e.string();break;case 2:i.op=e.string();break;case 3:i.input&&i.input.length||(i.input=[]),i.input.push(e.string());break;case 4:i.device=e.string();break;case 5:e.skip().pos++,i.attr===$util.emptyObject&&(i.attr={}),n=e.string(),e.pos++,i.attr[n]=$root.tensorflow.AttrValue.decode(e,e.uint32());break;default:e.skipType(7&o)}}return i},e}(),n.VersionDef=function(){function e(e){if(this.badConsumers=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.producer=0,e.prototype.minConsumer=0,e.prototype.badConsumers=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.VersionDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.producer=e.int32();break;case 2:r.minConsumer=e.int32();break;case 3:if(r.badConsumers&&r.badConsumers.length||(r.badConsumers=[]),2==(7&i))for(var o=e.uint32()+e.pos;e.pos<o;)r.badConsumers.push(e.int32());else r.badConsumers.push(e.int32());break;default:e.skipType(7&i)}}return r},e}(),n.GraphDef=function(){function e(e){if(this.node=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.node=$util.emptyArray,e.prototype.versions=null,e.prototype.library=null,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.GraphDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.node&&r.node.length||(r.node=[]),r.node.push($root.tensorflow.NodeDef.decode(e,e.uint32()));break;case 4:r.versions=$root.tensorflow.VersionDef.decode(e,e.uint32());break;case 2:r.library=$root.tensorflow.FunctionDefLibrary.decode(e,e.uint32());break;default:e.skipType(7&i)}}return r},e}(),n.CollectionDef=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}var t;return e.prototype.nodeList=null,e.prototype.bytesList=null,e.prototype.int64List=null,e.prototype.floatList=null,e.prototype.anyList=null,Object.defineProperty(e.prototype,\"kind\",{get:$util.oneOfGetter(t=[\"nodeList\",\"bytesList\",\"int64List\",\"floatList\",\"anyList\"]),set:$util.oneOfSetter(t)}),e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.CollectionDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.nodeList=$root.tensorflow.CollectionDef.NodeList.decode(e,e.uint32());break;case 2:r.bytesList=$root.tensorflow.CollectionDef.BytesList.decode(e,e.uint32());break;case 3:r.int64List=$root.tensorflow.CollectionDef.Int64List.decode(e,e.uint32());break;case 4:r.floatList=$root.tensorflow.CollectionDef.FloatList.decode(e,e.uint32());break;case 5:r.anyList=$root.tensorflow.CollectionDef.AnyList.decode(e,e.uint32());break;default:e.skipType(7&i)}}return r},e.NodeList=function(){function e(e){if(this.value=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.value=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.CollectionDef.NodeList;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.value&&r.value.length||(r.value=[]),r.value.push(e.string());break;default:e.skipType(7&i)}}return r},e}(),e.BytesList=function(){function e(e){if(this.value=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.value=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.CollectionDef.BytesList;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.value&&r.value.length||(r.value=[]),r.value.push(e.bytes());break;default:e.skipType(7&i)}}return r},e}(),e.Int64List=function(){function e(e){if(this.value=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.value=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.CollectionDef.Int64List;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:if(r.value&&r.value.length||(r.value=[]),2==(7&i))for(var o=e.uint32()+e.pos;e.pos<o;)r.value.push(e.int64());else r.value.push(e.int64());break;default:e.skipType(7&i)}}return r},e}(),e.FloatList=function(){function e(e){if(this.value=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.value=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.CollectionDef.FloatList;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:if(r.value&&r.value.length||(r.value=[]),2==(7&i))for(var o=e.uint32()+e.pos;e.pos<o;)r.value.push(e.float());else r.value.push(e.float());break;default:e.skipType(7&i)}}return r},e}(),e.AnyList=function(){function e(e){if(this.value=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.value=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.CollectionDef.AnyList;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.value&&r.value.length||(r.value=[]),r.value.push($root.tensorflow.Any.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return r},e}(),e}(),n.SaverDef=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}var t,n;return e.prototype.filenameTensorName=\"\",e.prototype.saveTensorName=\"\",e.prototype.restoreOpName=\"\",e.prototype.maxToKeep=0,e.prototype.sharded=!1,e.prototype.keepCheckpointEveryNHours=0,e.prototype.version=0,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.SaverDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.filenameTensorName=e.string();break;case 2:r.saveTensorName=e.string();break;case 3:r.restoreOpName=e.string();break;case 4:r.maxToKeep=e.int32();break;case 5:r.sharded=e.bool();break;case 6:r.keepCheckpointEveryNHours=e.float();break;case 7:r.version=e.int32();break;default:e.skipType(7&i)}}return r},e.CheckpointFormatVersion=(t={},(n=Object.create(t))[t[0]=\"LEGACY\"]=0,n[t[1]=\"V1\"]=1,n[t[2]=\"V2\"]=2,n),e}(),n.TensorInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}var t;return e.prototype.name=\"\",e.prototype.cooSparse=null,e.prototype.dtype=0,e.prototype.tensorShape=null,Object.defineProperty(e.prototype,\"encoding\",{get:$util.oneOfGetter(t=[\"name\",\"cooSparse\"]),set:$util.oneOfSetter(t)}),e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.TensorInfo;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.name=e.string();break;case 4:r.cooSparse=$root.tensorflow.TensorInfo.CooSparse.decode(e,e.uint32());break;case 2:r.dtype=e.int32();break;case 3:r.tensorShape=$root.tensorflow.TensorShape.decode(e,e.uint32());break;default:e.skipType(7&i)}}return r},e.CooSparse=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.valuesTensorName=\"\",e.prototype.indicesTensorName=\"\",e.prototype.denseShapeTensorName=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.TensorInfo.CooSparse;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.valuesTensorName=e.string();break;case 2:r.indicesTensorName=e.string();break;case 3:r.denseShapeTensorName=e.string();break;default:e.skipType(7&i)}}return r},e}(),e}(),n.SignatureDef=function(){function e(e){if(this.inputs={},this.outputs={},e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.inputs=$util.emptyObject,e.prototype.outputs=$util.emptyObject,e.prototype.methodName=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n,r=void 0===t?e.len:e.pos+t,i=new $root.tensorflow.SignatureDef;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:e.skip().pos++,i.inputs===$util.emptyObject&&(i.inputs={}),n=e.string(),e.pos++,i.inputs[n]=$root.tensorflow.TensorInfo.decode(e,e.uint32());break;case 2:e.skip().pos++,i.outputs===$util.emptyObject&&(i.outputs={}),n=e.string(),e.pos++,i.outputs[n]=$root.tensorflow.TensorInfo.decode(e,e.uint32());break;case 3:i.methodName=e.string();break;default:e.skipType(7&o)}}return i},e}(),n.AssetFileDef=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.tensorInfo=null,e.prototype.filename=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.AssetFileDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.tensorInfo=$root.tensorflow.TensorInfo.decode(e,e.uint32());break;case 2:r.filename=e.string();break;default:e.skipType(7&i)}}return r},e}(),n.OpDef=function(){function e(e){if(this.inputArg=[],this.outputArg=[],this.attr=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name=\"\",e.prototype.inputArg=$util.emptyArray,e.prototype.outputArg=$util.emptyArray,e.prototype.attr=$util.emptyArray,e.prototype.deprecation=null,e.prototype.summary=\"\",e.prototype.description=\"\",e.prototype.isCommutative=!1,e.prototype.isAggregate=!1,e.prototype.isStateful=!1,e.prototype.allowsUninitializedInput=!1,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.OpDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.name=e.string();break;case 2:r.inputArg&&r.inputArg.length||(r.inputArg=[]),r.inputArg.push($root.tensorflow.OpDef.ArgDef.decode(e,e.uint32()));break;case 3:r.outputArg&&r.outputArg.length||(r.outputArg=[]),r.outputArg.push($root.tensorflow.OpDef.ArgDef.decode(e,e.uint32()));break;case 4:r.attr&&r.attr.length||(r.attr=[]),r.attr.push($root.tensorflow.OpDef.AttrDef.decode(e,e.uint32()));break;case 8:r.deprecation=$root.tensorflow.OpDef.OpDeprecation.decode(e,e.uint32());break;case 5:r.summary=e.string();break;case 6:r.description=e.string();break;case 18:r.isCommutative=e.bool();break;case 16:r.isAggregate=e.bool();break;case 17:r.isStateful=e.bool();break;case 19:r.allowsUninitializedInput=e.bool();break;default:e.skipType(7&i)}}return r},e.ArgDef=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name=\"\",e.prototype.description=\"\",e.prototype.type=0,e.prototype.typeAttr=\"\",e.prototype.numberAttr=\"\",e.prototype.typeListAttr=\"\",e.prototype.isRef=!1,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.OpDef.ArgDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.name=e.string();break;case 2:r.description=e.string();break;case 3:r.type=e.int32();break;case 4:r.typeAttr=e.string();break;case 5:r.numberAttr=e.string();break;case 6:r.typeListAttr=e.string();break;case 16:r.isRef=e.bool();break;default:e.skipType(7&i)}}return r},e}(),e.AttrDef=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name=\"\",e.prototype.type=\"\",e.prototype.defaultValue=null,e.prototype.description=\"\",e.prototype.hasMinimum=!1,e.prototype.minimum=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.allowedValues=null,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.OpDef.AttrDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.name=e.string();break;case 2:r.type=e.string();break;case 3:r.defaultValue=$root.tensorflow.AttrValue.decode(e,e.uint32());break;case 4:r.description=e.string();break;case 5:r.hasMinimum=e.bool();break;case 6:r.minimum=e.int64();break;case 7:r.allowedValues=$root.tensorflow.AttrValue.decode(e,e.uint32());break;default:e.skipType(7&i)}}return r},e}(),e.OpDeprecation=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.version=0,e.prototype.explanation=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.OpDef.OpDeprecation;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.version=e.int32();break;case 2:r.explanation=e.string();break;default:e.skipType(7&i)}}return r},e}(),e}(),n.OpList=function(){function e(e){if(this.op=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.op=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.OpList;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.op&&r.op.length||(r.op=[]),r.op.push($root.tensorflow.OpDef.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return r},e}(),n.MetaGraphDef=function(){function e(e){if(this.collectionDef={},this.signatureDef={},this.assetFileDef=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.metaInfoDef=null,e.prototype.graphDef=null,e.prototype.saverDef=null,e.prototype.collectionDef=$util.emptyObject,e.prototype.signatureDef=$util.emptyObject,e.prototype.assetFileDef=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n,r=void 0===t?e.len:e.pos+t,i=new $root.tensorflow.MetaGraphDef;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:i.metaInfoDef=$root.tensorflow.MetaGraphDef.MetaInfoDef.decode(e,e.uint32());break;case 2:i.graphDef=$root.tensorflow.GraphDef.decode(e,e.uint32());break;case 3:i.saverDef=$root.tensorflow.SaverDef.decode(e,e.uint32());break;case 4:e.skip().pos++,i.collectionDef===$util.emptyObject&&(i.collectionDef={}),n=e.string(),e.pos++,i.collectionDef[n]=$root.tensorflow.CollectionDef.decode(e,e.uint32());break;case 5:e.skip().pos++,i.signatureDef===$util.emptyObject&&(i.signatureDef={}),n=e.string(),e.pos++,i.signatureDef[n]=$root.tensorflow.SignatureDef.decode(e,e.uint32());break;case 6:i.assetFileDef&&i.assetFileDef.length||(i.assetFileDef=[]),i.assetFileDef.push($root.tensorflow.AssetFileDef.decode(e,e.uint32()));break;default:e.skipType(7&o)}}return i},e.MetaInfoDef=function(){function e(e){if(this.tags=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.metaGraphVersion=\"\",e.prototype.strippedOpList=null,e.prototype.anyInfo=null,e.prototype.tags=$util.emptyArray,e.prototype.tensorflowVersion=\"\",e.prototype.tensorflowGitVersion=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.MetaGraphDef.MetaInfoDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.metaGraphVersion=e.string();break;case 2:r.strippedOpList=$root.tensorflow.OpList.decode(e,e.uint32());break;case 3:r.anyInfo=$root.tensorflow.Any.decode(e,e.uint32());break;case 4:r.tags&&r.tags.length||(r.tags=[]),r.tags.push(e.string());break;case 5:r.tensorflowVersion=e.string();break;case 6:r.tensorflowGitVersion=e.string();break;default:e.skipType(7&i)}}return r},e}(),e}(),n.SavedModel=function(){function e(e){if(this.metaGraphs=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.savedModelSchemaVersion=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.metaGraphs=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.SavedModel;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.savedModelSchemaVersion=e.int64();break;case 2:r.metaGraphs&&r.metaGraphs.length||(r.metaGraphs=[]),r.metaGraphs.push($root.tensorflow.MetaGraphDef.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return r},e}(),n.FunctionDefLibrary=function(){function e(e){if(this.function=[],this.gradient=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.function=$util.emptyArray,e.prototype.gradient=$util.emptyArray,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.FunctionDefLibrary;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.function&&r.function.length||(r.function=[]),r.function.push($root.tensorflow.FunctionDef.decode(e,e.uint32()));break;case 2:r.gradient&&r.gradient.length||(r.gradient=[]),r.gradient.push($root.tensorflow.GradientDef.decode(e,e.uint32()));break;default:e.skipType(7&i)}}return r},e}(),n.FunctionDef=function(){function e(e){if(this.attr={},this.nodeDef=[],this.ret={},e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.signature=null,e.prototype.attr=$util.emptyObject,e.prototype.nodeDef=$util.emptyArray,e.prototype.ret=$util.emptyObject,e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n,r=void 0===t?e.len:e.pos+t,i=new $root.tensorflow.FunctionDef;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:i.signature=$root.tensorflow.OpDef.decode(e,e.uint32());break;case 5:e.skip().pos++,i.attr===$util.emptyObject&&(i.attr={}),n=e.string(),e.pos++,i.attr[n]=$root.tensorflow.AttrValue.decode(e,e.uint32());break;case 3:i.nodeDef&&i.nodeDef.length||(i.nodeDef=[]),i.nodeDef.push($root.tensorflow.NodeDef.decode(e,e.uint32()));break;case 4:e.skip().pos++,i.ret===$util.emptyObject&&(i.ret={}),n=e.string(),e.pos++,i.ret[n]=e.string();break;default:e.skipType(7&o)}}return i},e}(),n.GradientDef=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.functionName=\"\",e.prototype.gradientFunc=\"\",e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));for(var n=void 0===t?e.len:e.pos+t,r=new $root.tensorflow.GradientDef;e.pos<n;){var i=e.uint32();switch(i>>>3){case 1:r.functionName=e.string();break;case 2:r.gradientFunc=e.string();break;default:e.skipType(7&i)}}return r},e}(),n}();var compiled_api=$root,compiled_api_1=compiled_api.tensorflow;function getParamValue(e,t,n,r){var i=t.params[e];if(i&&void 0!==i.inputIndex){if(\"tensor\"===i.type)return getTensor(t.inputNames[i.inputIndex],n,r);if(\"tensors\"===i.type)return(0===i.inputIndex?0===i.inputParamLength?t.inputNames:t.inputNames.slice(i.inputIndex,-i.inputParamLength):t.inputNames.splice(i.inputIndex)).map(function(e){return getTensor(e,n,r)});var o=Array.prototype.slice.call(getTensor(t.inputNames.slice(i.inputIndex)[0],n,r).dataSync());return\"number\"===i.type?o[0]:o}return i&&i.value}function getTensor(e,t,n){var r=parseNodeName(e),i=r[0],o=r[1],s=n.currentContextIds.find(function(e){return!!t[getNodeNameWithContextId(i,e)]});return void 0!==s?t[getNodeNameWithContextId(i,s)][o]:void 0}function getNodeNameAndIndex(e,t){var n=parseNodeName(e),r=n[0],i=n[1];return[getNodeNameWithContextId(r,t&&t.currentContextId),i]}function getNodeNameWithContextId(e,t){return t?e+\"-\"+t:e}function parseNodeName(e){var t=e.lastIndexOf(\":\");return-1===t?[e,0]:[e.substring(0,t),Number(e.substring(t+1))]}function split$1(e,t){for(var n=[],r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}var arithmetic=[{tfOpName:\"Add\",dlOpName:\"add\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BiasAdd\",dlOpName:\"add\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sub\",dlOpName:\"sub\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"RealDiv\",dlOpName:\"div\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Div\",dlOpName:\"div\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorDiv\",dlOpName:\"floorDiv\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mul\",dlOpName:\"mul\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Maximum\",dlOpName:\"maximum\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"}]},{tfOpName:\"Minimum\",dlOpName:\"minimum\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"}]},{tfOpName:\"Pow\",dlOpName:\"pow\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SquaredDifference\",dlOpName:\"squaredDifference\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mod\",dlOpName:\"mod\",category:\"arithmetic\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]}],arithmetic$1=Object.freeze({default:arithmetic}),basic_math=[{tfOpName:\"Abs\",dlOpName:\"abs\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acos\",dlOpName:\"acos\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asin\",dlOpName:\"asin\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"atan\",dlOpName:\"atan\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Ceil\",dlOpName:\"ceil\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ClipByValue\",dlOpName:\"clipByValue\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"clip_value_min\",dlParamName:\"clipValueMin\",type:\"number\"},{tfParamName:\"clip_value_max\",dlParamName:\"clipValueMax\",type:\"number\"}]},{tfOpName:\"Cos\",dlOpName:\"cos\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cosh\",dlOpName:\"cosh\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Elu\",dlOpName:\"elu\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Exp\",dlOpName:\"exp\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Floor\",dlOpName:\"floor\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log\",dlOpName:\"log\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Neg\",dlOpName:\"neg\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu\",dlOpName:\"relu\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu6\",dlOpName:\"clipByValue\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0},{dlParamName:\"clipValueMin\",type:\"number\",defaultValue:0},{dlParamName:\"clipValueMax\",type:\"number\",defaultValue:6}]},{tfOpName:\"Selu\",dlOpName:\"selu\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sigmoid\",dlOpName:\"sigmoid\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sin\",dlOpName:\"sin\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sinh\",dlOpName:\"sinh\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sqrt\",dlOpName:\"sqrt\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Rsqrt\",dlOpName:\"rsqrt\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Square\",dlOpName:\"square\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tan\",dlOpName:\"tan\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tanh\",dlOpName:\"tanh\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sign\",dlOpName:\"sign\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Round\",dlOpName:\"round\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Expm1\",dlOpName:\"expm1\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log1p\",dlOpName:\"log1p\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Reciprocal\",dlOpName:\"reciprocal\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Reciprocal\",dlOpName:\"reciprocal\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Softplus\",dlOpName:\"softplus\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asinh\",dlOpName:\"asinh\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acosh\",dlOpName:\"acosh\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atanh\",dlOpName:\"atanh\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Erf\",dlOpName:\"erf\",category:\"basic_math\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]}],basicMath=Object.freeze({default:basic_math}),control=[{tfOpName:\"LoopCond\",dlOpName:\"loopCond\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"pred\",type:\"tensor\"}]},{tfOpName:\"Switch\",dlOpName:\"switch\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"data\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"pred\",type:\"tensor\"}]},{tfOpName:\"Merge\",dlOpName:\"merge\",category:\"control\",params:[{tfInputIndex:0,tfInputParamLength:0,dlParamName:\"tensors\",type:\"tensors\"}]},{tfOpName:\"Enter\",dlOpName:\"enter\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensor\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0},{tfParamName:\"frame_name\",dlParamName:\"frameName\",type:\"string\"},{tfParamName:\"is_constant\",dlParamName:\"isConstant\",type:\"bool\"}]},{tfOpName:\"Exit\",dlOpName:\"exit\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensor\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NextIteration\",dlOpName:\"nextIteration\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensor\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayV3\",dlOpName:\"tensorArray\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"size\",type:\"number\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"},{tfParamName:\"element_shape\",dlParamName:\"elementShape\",type:\"shape\"},{tfParamName:\"dynamic_size\",dlParamName:\"dynamicSize\",type:\"bool\"},{tfParamName:\"clear_after_read\",dlParamName:\"clearAfterRead\",type:\"bool\"},{tfParamName:\"identical_element_shapes\",dlParamName:\"identicalElementShapes\",type:\"bool\"},{tfParamName:\"tensor_array_name\",dlParamName:\"name\",type:\"string\"}]},{tfOpName:\"TensorArrayWriteV3\",dlOpName:\"tensorArrayWrite\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"index\",type:\"number\"},{tfInputIndex:2,dlParamName:\"tensor\",type:\"tensor\"},{tfInputIndex:3,dlParamName:\"flowIn\",type:\"number\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayReadV3\",dlOpName:\"tensorArrayRead\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"index\",type:\"number\"},{tfInputIndex:2,dlParamName:\"flowIn\",type:\"number\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayGatherV3\",dlOpName:\"tensorArrayGather\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"indices\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"flowIn\",type:\"number\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"},{tfParamName:\"element_shape\",dlParamName:\"elementShape\",type:\"shape\"}]},{tfOpName:\"TensorArrayScatterV3\",dlOpName:\"tensorArrayScatter\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"indices\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"tensor\",type:\"number[]\"},{tfInputIndex:3,dlParamName:\"flowIn\",type:\"number\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArrayConcatV3\",dlOpName:\"tensorArrayConcat\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"flowIn\",type:\"number\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"},{tfParamName:\"element_shape_except0\",dlParamName:\"elementShapeExcept0\",type:\"shape\",notSupported:!0}]},{tfOpName:\"TensorArraySplitV3\",dlOpName:\"tensorArraySplit\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"tensor\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"lengths\",type:\"number[]\"},{tfInputIndex:3,dlParamName:\"flowIn\",type:\"number\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArraySizeV3\",dlOpName:\"tensorArraySize\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"},{tfInputIndex:1,dlParamName:\"flowIn\",type:\"number\"}]},{tfOpName:\"TensorArrayCloseV3\",dlOpName:\"tensorArrayClose\",category:\"control\",params:[{tfInputIndex:0,dlParamName:\"tensorArrayId\",type:\"number\"}]}],control$1=Object.freeze({default:control}),convolution=[{tfOpName:\"AvgPool\",dlOpName:\"avgPool\",category:\"convolution\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"strides\",dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",notSupported:!0},{tfParamName:\"ksize\",dlParamName:\"kernelSize\",type:\"number[]\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool\",dlOpName:\"maxPool\",category:\"convolution\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"strides\",dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",notSupported:!0},{tfParamName:\"ksize\",dlParamName:\"kernelSize\",type:\"number[]\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Conv1D\",dlOpName:\"conv1d\",category:\"convolution\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"filter\",type:\"tensor\"},{tfParamName:\"stride\",dlParamName:\"stride\",type:\"number\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",defaultValue:\"NWC\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0},{tfParamName:\"dilation\",dlParamName:\"dilation\",type:\"number\",defaultValue:1}]},{tfOpName:\"Conv2D\",dlOpName:\"conv2d\",category:\"convolution\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"filter\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0},{tfParamName:\"strides\",dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"useCudnnOnGpu\",dlParamName:\"useCudnnOnGpu\",type:\"bool\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfParamName:\"dilations\",dlParamName:\"dilations\",type:\"number[]\"}]},{tfOpName:\"Conv2DBackpropInput\",dlOpName:\"conv2dTranspose\",category:\"convolution\",params:[{tfInputIndex:2,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"filter\",type:\"tensor\"},{tfInputIndex:0,dlParamName:\"outputShape\",type:\"number[]\"},{tfParamName:\"strides\",dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"DepthwiseConv2d\",dlOpName:\"depthwiseConv2d\",category:\"convolution\",params:[{tfInputIndex:0,dlParamName:\"input\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"filter\",type:\"tensor\"},{tfParamName:\"strides\",dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfParamName:\"dilations\",dlParamName:\"dilations\",type:\"number[]\"}]},{tfOpName:\"DepthwiseConv2dNative\",dlOpName:\"depthwiseConv2d\",category:\"convolution\",params:[{tfInputIndex:0,dlParamName:\"input\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"filter\",type:\"tensor\"},{tfParamName:\"strides\",dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"padding\",dlParamName:\"pad\",type:\"string\"},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfParamName:\"dilations\",dlParamName:\"dilations\",type:\"number[]\"}]}],convolution$1=Object.freeze({default:convolution}),creation=[{tfOpName:\"Fill\",dlOpName:\"fill\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"shape\",type:\"number[]\"},{tfInputIndex:1,dlParamName:\"value\",type:\"number\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LinSpace\",dlOpName:\"linspace\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"start\",type:\"number\"},{tfInputIndex:1,dlParamName:\"stop\",type:\"number\"},{tfInputIndex:2,dlParamName:\"num\",type:\"number\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"OneHot\",dlOpName:\"oneHot\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"indices\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"depth\",type:\"number\"},{tfInputIndex:2,dlParamName:\"onValue\",type:\"number\",defaultValue:1},{tfInputIndex:3,dlParamName:\"offValue\",type:\"number\",defaultValue:0},{tfParamName:\"axis\",dlParamName:\"axis\",type:\"number\",notSupported:!0},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Ones\",dlOpName:\"ones\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"shape\",type:\"number[]\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"OnesLike\",dlOpName:\"onesLike\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"RandomUniform\",dlOpName:\"randomUniform\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"shape\",type:\"number[]\"},{tfParamName:\"minval\",dlParamName:\"minval\",type:\"number\",defaultValue:0},{tfParamName:\"maxval\",dlParamName:\"maxval\",type:\"number\",defaultValue:1},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"},{tfParamName:\"seed\",dlParamName:\"seed\",type:\"number\",defaultValue:0},{tfParamName:\"seed2\",dlParamName:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfParamName:\"T\",dlParamName:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Range\",dlOpName:\"range\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"start\",type:\"number\"},{tfInputIndex:1,dlParamName:\"stop\",type:\"number\"},{tfInputIndex:2,dlParamName:\"step\",type:\"number\",defaultValue:0},{tfParamName:\"Tidx\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"truncatedNormal\",dlOpName:\"truncatedNormal\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"shape\",type:\"number[]\"},{tfParamName:\"means\",dlParamName:\"mean\",type:\"number\",defaultValue:0},{tfParamName:\"stddev\",dlParamName:\"stdDev\",type:\"number\",defaultValue:1},{tfParamName:\"seed\",dlParamName:\"seed\",type:\"number\"},{tfParamName:\"seed2\",dlParamName:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"},{tfParamName:\"T\",dlParamName:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Zeros\",dlOpName:\"zeros\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"shape\",type:\"number[]\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ZerosLike\",dlOpName:\"zerosLike\",category:\"creation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\"}]}],creation$1=Object.freeze({default:creation}),dynamic=[{tfOpName:\"NonMaxSuppressionV2\",dlOpName:\"nonMaxSuppression\",category:\"dynamic\",params:[{tfInputIndex:0,dlParamName:\"boxes\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"scores\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"maxOutputSize\",type:\"number\"},{tfInputIndex:3,dlParamName:\"iouThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV3\",dlOpName:\"nonMaxSuppression\",category:\"dynamic\",params:[{tfInputIndex:0,dlParamName:\"boxes\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"scores\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"maxOutputSize\",type:\"number\"},{tfInputIndex:3,dlParamName:\"iouThreshold\",type:\"number\"},{tfInputIndex:4,dlParamName:\"scoreThreshold\",type:\"number\"}]},{tfOpName:\"Where\",dlOpName:\"whereAsync\",category:\"dynamic\",params:[{tfInputIndex:0,dlParamName:\"condition\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]}],dynamic$1=Object.freeze({default:dynamic}),evaluation=[{tfOpName:\"TopKV2\",dlOpName:\"topK\",category:\"evaluation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"k\",type:\"number\"},{tfParamName:\"sorted\",dlParamName:\"sorted\",type:\"bool\"}]}],evaluation$1=Object.freeze({default:evaluation}),graph=[{tfOpName:\"PlaceholderWithDefault\",dlOpName:\"placeholder\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"default\",type:\"tensor\"},{tfParamName:\"shape\",dlParamName:\"shape\",type:\"shape\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Placeholder\",dlOpName:\"placeholder\",category:\"graph\",params:[{tfParamName:\"shape\",dlParamName:\"shape\",type:\"shape\"},{tfParamName:\"dtype\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Const\",dlOpName:\"const\",category:\"graph\"},{tfOpName:\"Identity\",dlOpName:\"identity\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]},{tfOpName:\"Snapshot\",dlOpName:\"snapshot\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]},{tfOpName:\"Rank\",dlOpName:\"rank\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]},{tfOpName:\"Size\",dlOpName:\"size\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]},{tfOpName:\"Shape\",dlOpName:\"shape\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]},{tfOpName:\"Print\",dlOpName:\"print\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,tfInputParamLength:1,dlParamName:\"data\",type:\"tensors\"},{tfParamName:\"message\",dlParamName:\"message\",type:\"string\"},{tfParamName:\"first_n\",dlParamName:\"firstN\",type:\"number\",notSupprted:!0},{tfParamName:\"summarize\",dlParamName:\"summarize\",type:\"number\",defaultValue:3}]},{tfOpName:\"NoOp\",dlOpName:\"noop\",category:\"graph\",params:[]},{tfOpName:\"StopGradient\",dlOpName:\"stopGradient\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]},{tfOpName:\"FakeQuantWithMinMaxVars\",dlOpName:\"fakeQuantWithMinMaxVars\",category:\"graph\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"min\",dlParamName:\"min\",type:\"number\"},{tfParamName:\"max\",dlParamName:\"max\",type:\"number\"}]}],graph$1=Object.freeze({default:graph}),image$1=[{tfOpName:\"ResizeBilinear\",dlOpName:\"resizeBilinear\",category:\"image\",params:[{tfInputIndex:0,dlParamName:\"images\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"size\",type:\"number[]\"},{tfParamName:\"align_corners\",dlParamName:\"alignCorners\",type:\"bool\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ResizeNearestNeighbor\",dlOpName:\"resizeNearestNeighbor\",category:\"image\",params:[{tfInputIndex:0,dlParamName:\"images\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"size\",type:\"number[]\"},{tfParamName:\"align_corners\",dlParamName:\"alignCorners\",type:\"bool\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NonMaxSuppressionV2\",dlOpName:\"nonMaxSuppression\",category:\"image\",params:[{tfInputIndex:0,dlParamName:\"boxes\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"scores\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"maxOutputSize\",type:\"number\"},{tfInputIndex:3,dlParamName:\"iouThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV3\",dlOpName:\"nonMaxSuppression\",category:\"image\",params:[{tfInputIndex:0,dlParamName:\"boxes\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"scores\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"maxOutputSize\",type:\"number\"},{tfInputIndex:3,dlParamName:\"iouThreshold\",type:\"number\"},{tfInputIndex:4,dlParamName:\"scoreThreshold\",type:\"number\"}]}],image$2=Object.freeze({default:image$1}),logical=[{tfOpName:\"Equal\",dlOpName:\"equal\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NotEqual\",dlOpName:\"notEqual\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Greater\",dlOpName:\"greater\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"GreaterEqual\",dlOpName:\"greaterEqual\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Less\",dlOpName:\"less\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LessEqual\",dlOpName:\"lessEqual\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalAnd\",dlOpName:\"logicalAnd\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalNot\",dlOpName:\"logicalNot\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalOr\",dlOpName:\"logicalOr\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Select\",dlOpName:\"where\",category:\"logical\",params:[{tfInputIndex:0,dlParamName:\"condition\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]}],logical$1=Object.freeze({default:logical}),matrices=[{tfOpName:\"MatMul\",dlOpName:\"matMul\",category:\"matrices\",params:[{tfInputIndex:0,dlParamName:\"a\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"b\",type:\"tensor\"},{tfParamName:\"transpose_a\",dlParamName:\"transposeA\",type:\"bool\",defaultValue:!1},{tfParamName:\"transpose_b\",dlParamName:\"transposeB\",type:\"bool\",defaultValue:!1},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Transpose\",dlOpName:\"transpose\",category:\"matrices\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"perm\",dlParamName:\"perm\",type:\"number[]\"},{tfParamName:\"T\",dlParamName:\"dtype\",type:\"dtype\",notSupported:!0}]}],matrices$1=Object.freeze({default:matrices}),normalization=[{tfOpName:\"FusedBatchNorm\",dlOpName:\"batchNormalization\",category:\"normalization\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"scale\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"offset\",type:\"tensor\"},{tfInputIndex:3,dlParamName:\"mean\",type:\"tensor\"},{tfInputIndex:4,dlParamName:\"variance\",type:\"tensor\"},{tfParamName:\"epsilon\",dlParamName:\"epsilon\",type:\"number\",defaultValue:.001},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV2\",dlOpName:\"batchNormalization\",category:\"normalization\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"scale\",type:\"tensor\"},{tfInputIndex:2,dlParamName:\"offset\",type:\"tensor\"},{tfInputIndex:3,dlParamName:\"mean\",type:\"tensor\"},{tfInputIndex:4,dlParamName:\"variance\",type:\"tensor\"},{tfParamName:\"epsilon\",dlParamName:\"epsilon\",type:\"number\",defaultValue:.001},{tfParamName:\"data_format\",dlParamName:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"LRN\",dlOpName:\"localResponseNormalization\",category:\"normalization\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"depth_radius\",dlParamName:\"radius\",type:\"number\",defaultValue:5},{tfParamName:\"bias\",dlParamName:\"bias\",type:\"number\",defaultValue:1},{tfParamName:\"alpha\",dlParamName:\"alpha\",type:\"number\",defaultValue:1},{tfParamName:\"beta\",dlParamName:\"beta\",type:\"number\",defaultValue:.5}]},{tfOpName:\"Softmax\",dlOpName:\"softmax\",category:\"normalization\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"}]}],normalization$1=Object.freeze({default:normalization}),reduction=[{tfOpName:\"Max\",dlOpName:\"max\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number[]\"},{tfParamName:\"keep_dims\",dlParamName:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Mean\",dlOpName:\"mean\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number[]\"},{tfParamName:\"keep_dims\",dlParamName:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Min\",dlOpName:\"min\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number[]\"},{tfParamName:\"keep_dims\",dlParamName:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Sum\",dlOpName:\"sum\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number[]\"},{tfParamName:\"keep_dims\",dlParamName:\"keepDims\",type:\"bool\"}]},{tfOpName:\"All\",dlOpName:\"all\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number[]\"},{tfParamName:\"keep_dims\",dlParamName:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Any\",dlOpName:\"any\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number[]\"},{tfParamName:\"keep_dims\",dlParamName:\"keepDims\",type:\"bool\"}]},{tfOpName:\"ArgMax\",dlOpName:\"argMax\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number\"}]},{tfOpName:\"ArgMin\",dlOpName:\"argMin\",category:\"reduction\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number\"}]}],reduction$1=Object.freeze({default:reduction}),slice_join=[{tfOpName:\"ConcatV2\",dlOpName:\"concat\",category:\"slice_join\",params:[{tfInputIndex:0,tfInputParamLength:1,dlParamName:\"tensors\",type:\"tensors\"},{tfInputIndex:-1,dlParamName:\"axis\",type:\"number\"}]},{tfOpName:\"Concat\",dlOpName:\"concat\",category:\"slice_join\",params:[{tfInputIndex:1,tfInputParamLength:1,dlParamName:\"tensors\",type:\"tensors\"},{tfInputIndex:0,dlParamName:\"axis\",type:\"number\"}]},{tfOpName:\"GatherV2\",dlOpName:\"gather\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"indices\",type:\"tensor\"},{tfParamName:\"axis\",dlParamName:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"Gather\",dlOpName:\"gather\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"indices\",type:\"tensor\"},{tfParamName:\"axis\",dlParamName:\"axis\",type:\"number\",defaultValue:0},{tfParamName:\"validate_indices\",dlParamName:\"validateIndices\",type:\"bool\",notSupported:!0}]},{tfOpName:\"Reverse\",dlOpName:\"reverse\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number\"}]},{tfOpName:\"ReverseV2\",dlOpName:\"reverse\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"axis\",type:\"number\"}]},{tfOpName:\"Slice\",dlOpName:\"slice\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"begin\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"size\",type:\"number[]\"}]},{tfOpName:\"StridedSlice\",dlOpName:\"stridedSlice\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"begin\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"end\",type:\"number[]\"},{tfInputIndex:3,dlParamName:\"strides\",type:\"number[]\"},{tfParamName:\"begin_mask\",dlParamName:\"beginMask\",type:\"number\",defaultValue:0},{tfParamName:\"end_mask\",dlParamName:\"endMask\",type:\"number\",defaultValue:0}]},{tfOpName:\"Pack\",dlOpName:\"stack\",category:\"slice_join\",params:[{tfInputIndex:0,tfInputParamLength:0,dlParamName:\"tensors\",type:\"tensors\"},{tfParamName:\"axis\",dlParamName:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"Unpack\",dlOpName:\"unstack\",category:\"slice_join\",params:[{tfInputIndex:0,tfInputParamLength:0,dlParamName:\"tensor\",type:\"tensor\"},{tfParamName:\"axis\",dlParamName:\"axis\",type:\"number\",defaultValue:0},{tfParamName:\"num\",dlParamName:\"num\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Tile\",dlOpName:\"tile\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"reps\",type:\"number[]\"}]},{tfOpName:\"Split\",dlOpName:\"split\",category:\"slice_join\",params:[{tfInputIndex:0,dlParamName:\"axis\",type:\"number\",defaultValue:0},{tfInputIndex:1,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"num_split\",dlParamName:\"numOrSizeSplits\",type:\"number\",defaultValue:1}]}],sliceJoin=Object.freeze({default:slice_join}),transformation=[{tfOpName:\"Cast\",dlOpName:\"cast\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"SrcT\",dlParamName:\"sdtype\",type:\"dtype\",notSupported:!0},{tfParamName:\"DstT\",dlParamName:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ExpandDims\",dlOpName:\"expandDims\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,tfParamNameDeprecated:\"dim\",dlParamName:\"axis\",type:\"number\"}]},{tfOpName:\"Pad\",dlOpName:\"pad\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"padding\",type:\"number[]\"},{tfParamName:\"constant_value\",dlParamName:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"PadV2\",dlOpName:\"pad\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"padding\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"Reshape\",dlOpName:\"reshape\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"shape\",type:\"number[]\"}]},{tfOpName:\"Squeeze\",dlOpName:\"squeeze\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfParamName:\"axis\",tfParamNameDeprecated:\"squeeze_dims\",dlParamName:\"axis\",type:\"number[]\"}]},{tfOpName:\"SpaceToBatchND\",dlOpName:\"spaceToBatchND\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"blockShape\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"paddings\",type:\"number[]\"}]},{tfOpName:\"BatchToSpaceND\",dlOpName:\"batchToSpaceND\",category:\"transformation\",params:[{tfInputIndex:0,dlParamName:\"x\",type:\"tensor\"},{tfInputIndex:1,dlParamName:\"blockShape\",type:\"number[]\"},{tfInputIndex:2,dlParamName:\"crops\",type:\"number[]\"}]}],transformation$1=Object.freeze({default:transformation}),CONTROL_FLOW_OPS=[\"Switch\",\"Merge\",\"Enter\",\"Exit\",\"NextIteration\"],DYNAMIC_SHAPE_OPS=[\"NonMaxSuppressionV2\",\"NonMaxSuppressionV3\",\"Where\"],OperationMapper=function(){function e(){var e=[arithmetic$1,basicMath,control$1,convolution$1,creation$1,dynamic$1,evaluation$1,logical$1,image$2,graph$1,matrices$1,normalization$1,reduction$1,sliceJoin,transformation$1],t=[].concat.apply([],e.map(function(e){return e.default?e.default:e}));this.opMappers=t.reduce(function(e,t){return e[t.tfOpName]=t,e},{})}return Object.defineProperty(e,\"Instance\",{get:function(){return this._instance||(this._instance=new this)},enumerable:!0,configurable:!0}),e.prototype.isControlFlow=function(e){return CONTROL_FLOW_OPS.some(function(t){return t===e.op})},e.prototype.isDynamicShape=function(e){return DYNAMIC_SHAPE_OPS.some(function(t){return t===e.op})},e.prototype.transformGraph=function(e){var t=this,n=!1,r=!1,i=[],o=e.node.reduce(function(e,o){return e[o.name]=t.mapNode(o),t.isControlFlow(o)&&(n=!0),t.isDynamicShape(o)&&(r=!0),\"Placeholder\"===o.op&&i.push(e[o.name]),e},{}),s=[],a=[];return Object.keys(o).forEach(function(e){var t=o[e];t.inputNames.forEach(function(e){var n=getNodeNameAndIndex(e)[0];t.inputs.push(o[n]),o[n].children.push(t)}),0===t.inputs.length&&s.push(t)}),Object.keys(o).forEach(function(e){var t=o[e];0===t.children.length&&a.push(t)}),{nodes:o,inputs:s,outputs:a,placeholders:i,withControlFlow:n,withDynamicShape:r}},e.prototype.mapNode=function(e){var t=this,n=this.opMappers[e.op];if(void 0===n)throw new Error(\"Tensorflow Op is not supported: \"+e.op);var r={name:e.name,op:n.dlOpName,category:n.category,inputNames:(e.input||[]).map(function(e){return e.startsWith(\"^\")?e.substr(1):e}),inputs:[],children:[],params:{}};return n.params&&(r.params=n.params.reduce(function(n,r){var i=r.tfInputIndex,o=r.tfInputParamLength,s=r.type,a=void 0;if(void 0===i)switch(r.type){case\"string\":void 0===(a=t.getStringParam(e.attr,r.tfParamName,r.defaultValue))&&r.tfParamNameDeprecated&&(a=t.getStringParam(e.attr,r.tfParamNameDeprecated,r.defaultValue));break;case\"number\":void 0===(a=t.getNumberParam(e.attr,r.tfParamName,r.defaultValue))&&r.tfParamNameDeprecated&&(a=t.getNumberParam(e.attr,r.tfParamNameDeprecated,r.defaultValue));break;case\"number[]\":void 0===(a=t.getNumericArrayParam(e.attr,r.tfParamName,r.defaultValue))&&r.tfParamNameDeprecated&&(a=t.getNumericArrayParam(e.attr,r.tfParamNameDeprecated,r.defaultValue));break;case\"bool\":void 0===(a=t.getBoolParam(e.attr,r.tfParamName,r.defaultValue))&&r.tfParamNameDeprecated&&(a=t.getBoolParam(e.attr,r.tfParamNameDeprecated,r.defaultValue));break;case\"shape\":void 0===(a=t.getTensorShapeParam(e.attr,r.tfParamName,r.defaultValue))&&r.tfParamNameDeprecated&&(a=t.getTensorShapeParam(e.attr,r.tfParamNameDeprecated,r.defaultValue));break;case\"dtype\":void 0===(a=t.getDtypeParam(e.attr,r.tfParamName,r.defaultValue))&&r.tfParamNameDeprecated&&(a=t.getDtypeParam(e.attr,r.tfParamNameDeprecated,r.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(\"Unsupported param type: \"+r.type+\" for op: \"+e.op)}return n[r.dlParamName]={value:a,inputIndex:i,type:s,inputParamLength:o},n},{})),r},e.prototype.getStringParam=function(e,t,n,r){void 0===r&&(r=!1);var i=e[t];if(void 0!==i){var o=String.fromCharCode.apply(null,i.s);return r?o:o.toLowerCase()}return n},e.prototype.getBoolParam=function(e,t,n){var r=e[t];return r?r.b:n},e.prototype.getNumberParam=function(e,t,n){var r=e[t],i=r?void 0!==r.f?r.f:r.i:n;return\"number\"==typeof i?i:i.toInt()},e.prototype.getDtypeParam=function(e,t,n){var r=e[t];if(r&&r.type)switch(r.type){case compiled_api_1.DataType.DT_FLOAT:return\"float32\";case compiled_api_1.DataType.DT_INT32:return\"int32\";case compiled_api_1.DataType.DT_BOOL:return\"bool\";default:return n}return n},e.prototype.getTensorShapeParam=function(e,t,n){var r=e[t];return r&&r.shape?r.shape.dim.map(function(e){return\"number\"==typeof e.size?e.size:e.size.toInt()}):n},e.prototype.getNumericArrayParam=function(e,t,n){var r=e[t];return r?(r.list.f&&r.list.f.length?r.list.f:r.list.i).map(function(e){return\"number\"==typeof e?e:e.toInt()}):n},e}(),executeOp=function(e,t,n){switch(e.op){case\"add\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.add)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"mod\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.mod)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"mul\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.mul)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"div\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.div)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"floorDiv\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.floorDiv)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"sub\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sub)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"minimum\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.minimum)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"maximum\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.maximum)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"pow\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.pow)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"squaredDifference\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.squaredDifference)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$1=function(e,t,n){switch(e.op){case\"abs\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.abs)(getParamValue(\"x\",e,t,n))];case\"acos\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.acos)(getParamValue(\"x\",e,t,n))];case\"acosh\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.acosh)(getParamValue(\"x\",e,t,n))];case\"asin\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.asin)(getParamValue(\"x\",e,t,n))];case\"asinh\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.asinh)(getParamValue(\"x\",e,t,n))];case\"atan\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.atan)(getParamValue(\"x\",e,t,n))];case\"atanh\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.atanh)(getParamValue(\"x\",e,t,n))];case\"ceil\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.ceil)(getParamValue(\"x\",e,t,n))];case\"cos\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.cos)(getParamValue(\"x\",e,t,n))];case\"cosh\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.cosh)(getParamValue(\"x\",e,t,n))];case\"elu\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.elu)(getParamValue(\"x\",e,t,n))];case\"erf\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.erf)(getParamValue(\"x\",e,t,n))];case\"exp\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.exp)(getParamValue(\"x\",e,t,n))];case\"expm1\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.expm1)(getParamValue(\"x\",e,t,n))];case\"floor\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.floor)(getParamValue(\"x\",e,t,n))];case\"log\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.log)(getParamValue(\"x\",e,t,n))];case\"log1p\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.log1p)(getParamValue(\"x\",e,t,n))];case\"neg\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.neg)(getParamValue(\"x\",e,t,n))];case\"reciprocal\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.reciprocal)(getParamValue(\"x\",e,t,n))];case\"relu\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.relu)(getParamValue(\"x\",e,t,n))];case\"round\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.round)(getParamValue(\"x\",e,t,n))];case\"selu\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.selu)(getParamValue(\"x\",e,t,n))];case\"sigmoid\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sigmoid)(getParamValue(\"x\",e,t,n))];case\"sin\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sin)(getParamValue(\"x\",e,t,n))];case\"sign\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sign)(getParamValue(\"x\",e,t,n))];case\"sinh\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sinh)(getParamValue(\"x\",e,t,n))];case\"softplus\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.softplus)(getParamValue(\"x\",e,t,n))];case\"sqrt\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sqrt)(getParamValue(\"x\",e,t,n))];case\"square\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.square)(getParamValue(\"x\",e,t,n))];case\"tanh\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tanh)(getParamValue(\"x\",e,t,n))];case\"tan\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tan)(getParamValue(\"x\",e,t,n))];case\"clipByValue\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.clipByValue)(getParamValue(\"x\",e,t,n),getParamValue(\"clipValueMin\",e,t,n),getParamValue(\"clipValueMax\",e,t,n))];case\"rsqrt\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.div)(Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(1,\"float32\"),Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sqrt)(getTensor(e.inputNames[0],t,n)))];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},TensorArray=function(){function e(t,n,r,i,o,s,a){this.name=t,this.dtype=n,this.maxSize=r,this.elementShape=i,this.identicalElementShapes=o,this.dynamicSize=s,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.id=e.nextId++}return Object.defineProperty(e.prototype,\"closed\",{get:function(){return this.closed_},enumerable:!0,configurable:!0}),e.prototype.clearAndClose=function(){this.tensors.forEach(function(e){return e.tensor.dispose()}),this.tensors=[],this.closed_=!0},e.prototype.size=function(){return this.tensors.length},e.prototype.read=function(e){if(this.closed_)throw new Error(\"TensorArray \"+this.name+\" has already been closed.\");if(e<0||e>=this.tensors.length)throw new Error(\"Tried to read from index \"+e+\", but array size is: \"+this.tensors.length);var t=this.tensors[e];if(t.cleared)throw new Error(\"TensorArray \"+this.name+\": Could not read index \"+e+\" twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).\");return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor},e.prototype.readMany=function(e){var t=this;return e.map(function(e){return t.read(e)})},e.prototype.write=function(e,t){if(this.closed_)throw new Error(\"TensorArray \"+this.name+\" has already been closed.\");if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(\"Tried to write to index \"+e+\", but array is not resizeable and size is: \"+this.maxSize);var n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(\"TensorArray \"+this.name+\": Could not write to TensorArray index \"+e+\",\\n          because the value dtype is \"+t.dtype+\", but TensorArray dtype is \"+this.dtype+\".\");if(0===this.size()&&0===this.elementShape.length&&(this.elementShape=t.shape),_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.assertShapesMatch(this.elementShape,t.shape,\"TensorArray \"+this.name+\": Could not write to TensorArray index \"+e+\".\"),n&&n.read)throw new Error(\"TensorArray \"+this.name+\": Could not write to TensorArray index \"+e+\", because it has already been read.\");if(n&&n.written)throw new Error(\"TensorArray \"+this.name+\": Could not write to TensorArray index \"+e+\", because it has already been written.\");n.tensor=t,n.written=!0,this.tensors[e]=n},e.prototype.writeMany=function(e,t){var n=this;if(e.length!==t.length)throw new Error(\"TensorArray \"+this.name+\": could not write multiple tensors,because the index size: \"+e.length+\" is not the same as tensors size: \"+t.length+\".\");e.map(function(e,r){return n.write(e,t[r])})},e.prototype.gather=function(e,t){if(t&&t!==this.dtype)throw new Error(\"TensorArray dtype is \"+this.dtype+\" but gather requested dtype \"+t);if(!e){e=[];for(var n=0;n<this.size();n++)e.push(n)}if(0===e.length)return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tensor)([],[0].concat(this.elementShape));var r=this.readMany(e);return _tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.assertShapesMatch(this.elementShape,r[0].shape,\"TensorArray shape mismatch: \"),Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.stack)(r,0)},e.prototype.concat=function(e){if(e&&e!==this.dtype)throw new Error(\"TensorArray dtype is \"+this.dtype+\" but concat requested dtype \"+e);if(0===this.size())return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tensor)([],[0].concat(this.elementShape));for(var t=[],n=0;n<this.size();n++)t.push(n);var r=this.readMany(t);return _tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.assertShapesMatch(this.elementShape,r[0].shape,\"TensorArray shape mismatch: tensor array shape (\"+this.elementShape+\") vs first tensor shape (\"+r[0].shape+\")\"),Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.concat)(r,0)},e.prototype.scatter=function(e,t){if(t.dtype!==this.dtype)throw new Error(\"TensorArray dtype is \"+this.dtype+\" but tensor has dtype \"+t.dtype);if(e.length!==t.shape[0])throw new Error(\"Expected len(indices) == tensor.shape[0], but saw: \"+e.length+\" vs. \"+t.shape[0]);var n=Math.max.apply(Math,e);if(!this.dynamicSize&&n>=this.maxSize)throw new Error(\"Max index must be < array size (\"+n+\"  vs. \"+this.maxSize+\")\");this.writeMany(e,Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.unstack)(t,0))},e.prototype.split=function(e,t){var n=this;if(t.dtype!==this.dtype)throw new Error(\"TensorArray dtype is \"+this.dtype+\" but tensor has dtype \"+t.dtype);var r=0,i=e.map(function(e){return r+=e});if(r!==t.shape[0])throw new Error(\"Expected sum of lengths to be equal to\\n          tensor.shape[0], but sum of lengths is\\n        \"+r+\", and tensor's shape is: \"+t.shape);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(\"TensorArray's size is not equal to the size of lengths (\"+this.maxSize+\" vs. \"+e.length+\"), and the TensorArray is not marked as dynamically resizeable\");var o=0===r?0:t.size/r,s=[];Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tidy)(function(){t=t.reshape([1,r,o]);for(var a=0;a<e.length;++a){var u=[0,0===a?0:i[a-1],0],l=[1,e[a],o];s[a]=Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.slice)(t,u,l).reshape(n.elementShape)}return s});for(var a=[],u=0;u<e.length;u++)a[u]=u;this.writeMany(a,s)},e.nextId=0,e}();function executeOp$2(e,t,n){return __awaiter(this,void 0,void 0,function(){var r,i,o,s,a,u,l,c,h,d,p,f,g,m,v,y,b,_,C,w,D,E,A,S,x,M,N,I,L,k,T,F,O,P,B;return __generator(this,function(R){switch(R.label){case 0:switch(e.op){case\"loopCond\":return[3,1];case\"switch\":return[3,2];case\"merge\":return[3,4];case\"enter\":return[3,5];case\"exit\":return[3,6];case\"nextIteration\":return[3,7];case\"tensorArray\":return[3,8];case\"tensorArrayWrite\":return[3,9];case\"tensorArrayRead\":return[3,10];case\"tensorArrayGather\":return[3,11];case\"tensorArrayScatter\":return[3,12];case\"tensorArrayConcat\":return[3,13];case\"tensorArraySplit\":return[3,14];case\"tensorArraySize\":return[3,15];case\"tensorArrayClose\":return[3,16]}return[3,17];case 1:return[2,[getParamValue(\"pred\",e,t,n)]];case 2:return r=getParamValue(\"pred\",e,t,n),i=getParamValue(\"data\",e,t,n),[4,r.data()];case 3:return[2,R.sent()[0]?[void 0,i]:[i,void 0]];case 4:return[2,(o=e.inputNames.find(function(e){return void 0!==getTensor(e,t,n)}))?[getTensor(o,t,n)]:void 0];case 5:return s=getParamValue(\"frameName\",e,t,n),a=getParamValue(\"tensor\",e,t,n),n.enterFrame(s),[2,[a]];case 6:return u=getParamValue(\"tensor\",e,t,n),n.exitFrame(),[2,[u]];case 7:return l=getParamValue(\"tensor\",e,t,n),n.nextIteration(),[2,[l]];case 8:return c=getParamValue(\"size\",e,t,n),h=getParamValue(\"dtype\",e,t,n),d=getParamValue(\"elementShape\",e,t,n),p=getParamValue(\"dynamicSize\",e,t,n),f=getParamValue(\"clearAfterRead\",e,t,n),g=getParamValue(\"identicalElementShapes\",e,t,n),m=getParamValue(\"name\",e,t,n),v=new TensorArray(m,h,c,d,g,p,f),n.addTensorArray(v),[2,[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(v.id),Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(1)]];case 9:return y=getParamValue(\"tensorArrayId\",e,t,n),b=getParamValue(\"index\",e,t,n),_=getParamValue(\"tensor\",e,t,n),n.getTensorArray(y).write(b,_),[2,[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(1)]];case 10:return C=getParamValue(\"tensorArrayId\",e,t,n),w=getParamValue(\"index\",e,t,n),[2,[n.getTensorArray(C).read(w)]];case 11:return D=getParamValue(\"tensorArrayId\",e,t,n),E=getParamValue(\"indices\",e,t,n),A=getParamValue(\"dtype\",e,t,n),[2,[n.getTensorArray(D).gather(E,A)]];case 12:return S=getParamValue(\"tensorArrayId\",e,t,n),x=getParamValue(\"indices\",e,t,n),M=getParamValue(\"tensor\",e,t,n),n.getTensorArray(S).scatter(x,M),[2,[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(1)]];case 13:return N=getParamValue(\"tensorArrayId\",e,t,n),I=n.getTensorArray(N),L=getParamValue(\"dtype\",e,t,n),[2,[I.concat(L)]];case 14:return k=getParamValue(\"tensorArrayId\",e,t,n),T=getParamValue(\"tensor\",e,t,n),F=getParamValue(\"lengths\",e,t,n),n.getTensorArray(k).split(F,T),[2,[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(1)]];case 15:return O=getParamValue(\"tensorArrayId\",e,t,n),P=n.getTensorArray(O),[2,[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(P.size(),\"int32\")]];case 16:return B=getParamValue(\"tensorArrayId\",e,t,n),n.getTensorArray(B).clearAndClose(),[2,[]];case 17:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}})})}var executeOp$3=function(e,t,n){switch(e.op){case\"conv1d\":var r=getParamValue(\"stride\",e,t,n),i=getParamValue(\"pad\",e,t,n),o=getParamValue(\"dataFormat\",e,t,n).toUpperCase(),s=getParamValue(\"dilation\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.conv1d)(getParamValue(\"x\",e,t,n),getParamValue(\"filter\",e,t,n),r,i,o,s)];case\"conv2d\":r=getParamValue(\"strides\",e,t,n),i=getParamValue(\"pad\",e,t,n),o=getParamValue(\"dataFormat\",e,t,n).toUpperCase();var a=getParamValue(\"dilations\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.conv2d)(getParamValue(\"x\",e,t,n),getParamValue(\"filter\",e,t,n),[r[1],r[2]],i,o,[a[0],a[1]])];case\"conv2dTranspose\":var u=getParamValue(\"outputShape\",e,t,n);return r=getParamValue(\"strides\",e,t,n),i=getParamValue(\"pad\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.conv2dTranspose)(getParamValue(\"x\",e,t,n),getParamValue(\"filter\",e,t,n),u,[r[1],r[2]],i)];case\"depthwiseConv2d\":return r=getParamValue(\"strides\",e,t,n),i=getParamValue(\"pad\",e,t,n),a=getParamValue(\"dilations\",e,t,n),o=getParamValue(\"dataFormat\",e,t,n).toUpperCase(),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.depthwiseConv2d)(getParamValue(\"input\",e,t,n),getParamValue(\"filter\",e,t,n),[r[1],r[2]],i,o,[a[0],a[1]])];case\"avgPool\":r=getParamValue(\"strides\",e,t,n),i=getParamValue(\"pad\",e,t,n);var l=getParamValue(\"kernelSize\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.avgPool)(getParamValue(\"x\",e,t,n),[l[1],l[2]],[r[1],r[2]],i)];case\"maxPool\":return r=getParamValue(\"strides\",e,t,n),i=getParamValue(\"pad\",e,t,n),l=getParamValue(\"kernelSize\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.maxPool)(getParamValue(\"x\",e,t,n),[l[1],l[2]],[r[1],r[2]],i)];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$4=function(e,t,n){switch(e.op){case\"fill\":var r=getParamValue(\"shape\",e,t,n),i=getParamValue(\"value\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.fill)(r,i)];case\"linspace\":var o=getParamValue(\"start\",e,t,n),s=getParamValue(\"stop\",e,t,n),a=getParamValue(\"num\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.linspace)(o,s,a)];case\"oneHot\":var u=getParamValue(\"indices\",e,t,n),l=getParamValue(\"depth\",e,t,n),c=getParamValue(\"onValue\",e,t,n),h=getParamValue(\"offValue\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.oneHot)(u,l,c,h)];case\"ones\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.ones)(getParamValue(\"shape\",e,t,n),getParamValue(\"dtype\",e,t,n))];case\"onesLike\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.onesLike)(getParamValue(\"x\",e,t,n))];case\"randomUniform\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.randomUniform)(getParamValue(\"shape\",e,t,n),getParamValue(\"minval\",e,t,n),getParamValue(\"maxval\",e,t,n),getParamValue(\"dtype\",e,t,n))];case\"range\":o=getParamValue(\"start\",e,t,n);var d=getParamValue(\"stop\",e,t,n),p=getParamValue(\"step\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.range)(o,d,p,getParamValue(\"dtype\",e,t,n))];case\"truncatedNormal\":r=getParamValue(\"shape\",e,t,n);var f=getParamValue(\"mean\",e,t,n),g=getParamValue(\"stdDev\",e,t,n),m=getParamValue(\"seed\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.truncatedNormal)(r,f,g,getParamValue(\"dtype\",e,t,n),m)];case\"zeros\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.zeros)(getParamValue(\"shape\",e,t,n),getParamValue(\"dtype\",e,t,n))];case\"zerosLike\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.zerosLike)(getParamValue(\"x\",e,t,n))];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},_this=void 0,executeOp$5=function(e,t,n){return __awaiter(_this,void 0,void 0,function(){var r,i,o,s,a;return __generator(this,function(u){switch(u.label){case 0:switch(e.op){case\"nonMaxSuppression\":return[3,1];case\"whereAsync\":return[3,3]}return[3,5];case 1:return r=getParamValue(\"boxes\",e,t,n),i=getParamValue(\"scores\",e,t,n),o=getParamValue(\"maxOutputSize\",e,t,n),s=getParamValue(\"iouThreshold\",e,t,n),a=getParamValue(\"scoreThreshold\",e,t,n),[4,_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.image.nonMaxSuppressionAsync(r,i,o,s,a)];case 2:return[2,[u.sent()]];case 3:return[4,Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.whereAsync)(getParamValue(\"condition\",e,t,n))];case 4:return[2,[u.sent()]];case 5:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}})})},executeOp$6=function(e,t,n){switch(e.op){case\"topK\":var r=getParamValue(\"x\",e,t,n),i=getParamValue(\"k\",e,t,n),o=getParamValue(\"sorted\",e,t,n),s=Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.topk)(r,i,o);return[s.values,s.indices];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$7=function(e,t,n){switch(e.op){case\"const\":return t[e.name];case\"placeholder\":var r=getParamValue(\"default\",e,t,n);return[getTensor(e.name,t,n)||r];case\"identity\":case\"stopGradient\":case\"fakeQuantWithMinMaxVars\":return[getParamValue(\"x\",e,t,n)];case\"snapshot\":return[getParamValue(\"x\",e,t,n).clone()];case\"shape\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tensor1d)(getParamValue(\"x\",e,t,n).shape,\"int32\")];case\"size\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(getParamValue(\"x\",e,t,n).size,\"int32\")];case\"rank\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.scalar)(getParamValue(\"x\",e,t,n).rank,\"int32\")];case\"noop\":return[];case\"print\":var i=getParamValue(\"x\",e,t,n),o=getParamValue(\"data\",e,t,n),s=getParamValue(\"message\",e,t,n),a=getParamValue(\"summarize\",e,t,n);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(s);for(var u=0;u<o.length;u++)console.log(Array.prototype.slice.call(o[0].dataSync()).slice(0,a));return[i];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$8=function(e,t,n){switch(e.op){case\"resizeBilinear\":var r=getParamValue(\"images\",e,t,n),i=getParamValue(\"size\",e,t,n),o=getParamValue(\"alignCorners\",e,t,n);return[_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.image.resizeBilinear(r,[i[0],i[1]],o)];case\"resizeNearestNeighbor\":return r=getParamValue(\"images\",e,t,n),i=getParamValue(\"size\",e,t,n),o=getParamValue(\"alignCorners\",e,t,n),[_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.image.resizeNearestNeighbor(r,[i[0],i[1]],o)];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$9=function(e,t,n){switch(e.op){case\"equal\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.equal)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"notEqual\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.notEqual)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"greater\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.greater)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"greaterEqual\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.greaterEqual)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"less\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.less)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"lessEqual\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.lessEqual)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"logicalAnd\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.logicalAnd)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"logicalNot\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.logicalNot)(getParamValue(\"a\",e,t,n))];case\"logicalOr\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.logicalOr)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];case\"where\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.where)(getParamValue(\"condition\",e,t,n),getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n))];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$10=function(e,t,n){switch(e.op){case\"matMul\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.matMul)(getParamValue(\"a\",e,t,n),getParamValue(\"b\",e,t,n),getParamValue(\"transposeA\",e,t,n),getParamValue(\"transposeB\",e,t,n))];case\"transpose\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.transpose)(getParamValue(\"x\",e,t,n),getParamValue(\"perm\",e,t,n))];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$11=function(e,t,n){switch(e.op){case\"batchNormalization\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.batchNormalization)(getParamValue(\"x\",e,t,n),getParamValue(\"mean\",e,t,n),getParamValue(\"variance\",e,t,n),getParamValue(\"epsilon\",e,t,n),getParamValue(\"scale\",e,t,n),getParamValue(\"offset\",e,t,n))];case\"localResponseNormalization\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.localResponseNormalization)(getParamValue(\"x\",e,t,n),getParamValue(\"radius\",e,t,n),getParamValue(\"bias\",e,t,n),getParamValue(\"alpha\",e,t,n),getParamValue(\"beta\",e,t,n))];case\"softmax\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.softmax)(getParamValue(\"x\",e,t,n))];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$12=function(e,t,n){switch(e.op){case\"max\":var r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"keepDims\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.max)(getParamValue(\"x\",e,t,n),r,i)];case\"mean\":return r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"keepDims\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.mean)(getParamValue(\"x\",e,t,n),r,i)];case\"min\":return r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"keepDims\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.min)(getParamValue(\"x\",e,t,n),r,i)];case\"sum\":return r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"keepDims\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.sum)(getParamValue(\"x\",e,t,n),r,i)];case\"all\":return r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"keepDims\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.all)(getParamValue(\"x\",e,t,n),r,i)];case\"any\":return r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"keepDims\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.any)(getParamValue(\"x\",e,t,n),r,i)];case\"argMax\":return r=getParamValue(\"axis\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.argMax)(getParamValue(\"x\",e,t,n),r)];case\"argMin\":return r=getParamValue(\"axis\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.argMin)(getParamValue(\"x\",e,t,n),r)];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$13=function(e,t,n){switch(e.op){case\"concat\":var r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"tensors\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.concat)(i,r)];case\"gather\":r=getParamValue(\"axis\",e,t,n);var o=getParamValue(\"x\",e,t,n),s=getParamValue(\"indices\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.gather)(o,s,r)];case\"reverse\":return r=getParamValue(\"axis\",e,t,n),o=getParamValue(\"x\",e,t,n),[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.reverse)(o,r)];case\"slice\":var a=getParamValue(\"begin\",e,t,n),u=getParamValue(\"size\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.slice)(getParamValue(\"x\",e,t,n),a,u)];case\"stridedSlice\":a=getParamValue(\"begin\",e,t,n);var l=getParamValue(\"end\",e,t,n),c=getParamValue(\"strides\",e,t,n),h=getParamValue(\"beginMask\",e,t,n),d=getParamValue(\"endMask\",e,t,n),p=getParamValue(\"x\",e,t,n);if(1===a.length&&p.shape.length>1)for(var f=1;f<p.shape.length;f++)a.push(0),l.push(p.shape[f]),c.push(c[0]);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.stridedSlice)(p,a,l,c,h,d)];case\"stack\":return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tidy)(function(){var r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"tensors\",e,t,n),o=i[0].shape,s=i[0].squeeze().shape,a=i.map(function(e){var t=_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.arraysEqual(e.shape,o);if(!t&&!_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.arraysEqual(e.squeeze().shape,s))throw new Error(\"the input tensors shape does not match\");return t?e:e.reshape(o)});return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.stack)(a,r)]});case\"unstack\":return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tidy)(function(){var r=getParamValue(\"axis\",e,t,n),i=getParamValue(\"tensor\",e,t,n);return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.unstack)(i,r)});case\"tile\":var g=getParamValue(\"reps\",e,t,n);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tile)(getParamValue(\"x\",e,t,n),g)];case\"split\":r=getParamValue(\"axis\",e,t,n);var m=getParamValue(\"numOrSizeSplits\",e,t,n);return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.split)(getParamValue(\"x\",e,t,n),m,r);default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}},executeOp$14=function(e,t,n){switch(e.op){case\"cast\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.cast)(getParamValue(\"x\",e,t,n),getParamValue(\"dtype\",e,t,n))];case\"expandDims\":var r=e.params.axis.value;return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.expandDims)(getParamValue(\"x\",e,t,n),r)];case\"squeeze\":return r=e.params.axis.value,[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.squeeze)(getParamValue(\"x\",e,t,n),r)];case\"reshape\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.reshape)(getParamValue(\"x\",e,t,n),getParamValue(\"shape\",e,t,n))];case\"pad\":return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.pad)(getParamValue(\"x\",e,t,n),split$1(getParamValue(\"padding\",e,t,n),2),getParamValue(\"constantValue\",e,t,n))];case\"spaceToBatchND\":var i=getParamValue(\"blockShape\",e,t,n),o=split$1(getParamValue(\"paddings\",e,t,n),2);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.spaceToBatchND)(getParamValue(\"x\",e,t,n),i,o)];case\"batchToSpaceND\":i=getParamValue(\"blockShape\",e,t,n);var s=split$1(getParamValue(\"crops\",e,t,n),2);return[Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.batchToSpaceND)(getParamValue(\"x\",e,t,n),i,s)];default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}};function executeOp$15(e,t,n){switch(e.category){case\"arithmetic\":return executeOp(e,t,n);case\"basic_math\":return executeOp$1(e,t,n);case\"control\":return executeOp$2(e,t,n);case\"convolution\":return executeOp$3(e,t,n);case\"creation\":return executeOp$4(e,t,n);case\"dynamic\":return executeOp$5(e,t,n);case\"evaluation\":return executeOp$6(e,t,n);case\"image\":return executeOp$8(e,t,n);case\"graph\":return executeOp$7(e,t,n);case\"logical\":return executeOp$9(e,t,n);case\"matrices\":return executeOp$10(e,t,n);case\"normalization\":return executeOp$11(e,t,n);case\"reduction\":return executeOp$12(e,t,n);case\"slice_join\":return executeOp$13(e,t,n);case\"transformation\":return executeOp$14(e,t,n);default:throw TypeError(\"Node type \"+e.op+\" is not implemented\")}}var ExecutionContext=function(){function e(e,t){this.weightMap=e,this.tensorArrayMap=t,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}return e.prototype.newFrame=function(e,t){return{id:e,frameName:t,iterationId:0}},Object.defineProperty(e.prototype,\"currentContext\",{get:function(){return this.contexts},set:function(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"currentContextId\",{get:function(){return this._currentContextIds[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"currentContextIds\",{get:function(){return this._currentContextIds},enumerable:!0,configurable:!0}),e.prototype.generateCurrentContextIds=function(){for(var e=[],t=0;t<this.contexts.length-1;t++){var n=this.contexts.slice(0,this.contexts.length-t);e.push(this.contextIdforContexts(n))}e.push(\"\"),this._currentContextIds=e},e.prototype.contextIdforContexts=function(e){return e?e.map(function(e){return 0===e.id&&0===e.iterationId?\"\":e.frameName+\"-\"+e.iterationId}).join(\"/\"):\"\"},e.prototype.enterFrame=function(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))},e.prototype.exitFrame=function(){if(!(this.contexts&&this.contexts.length>1))throw new Error(\"Cannot exit frame, the context is empty\");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()},e.prototype.nextIteration=function(){if(!(this.contexts&&this.contexts.length>0))throw new Error(\"Cannot increase frame iteration, the context is empty\");this.contexts=this.contexts.slice(),this.lastId++;var e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))},e.prototype.getWeight=function(e){return this.weightMap[e]},e.prototype.addTensorArray=function(e){this.tensorArrayMap[e.id]=e},e.prototype.getTensorArray=function(e){return this.tensorArrayMap[e]},e}(),GraphExecutor=function(){function e(e){this.graph=e,this.compiledOrder=[],this._weightMap={},this.placeholders=e.placeholders,this._outputs=e.outputs,this.compile()}return Object.defineProperty(e.prototype,\"weightMap\",{get:function(){return this._weightMap},set:function(e){var t=Object.keys(e).map(function(t){return e[t].map(function(e){return e.id})});this.weightIds=[].concat.apply([],t),this._weightMap=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"inputs\",{get:function(){return this.placeholders.map(function(e){return{name:e.name,shape:e.params.shape?e.params.shape.value:void 0,dtype:e.params.dtype?e.params.dtype.value:void 0}})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"outputs\",{get:function(){return this._outputs.map(function(e){return{name:e.name,shape:e.params.shape?e.params.shape.value:void 0,dtype:e.params.dtype?e.params.dtype.value:void 0}})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"inputNodes\",{get:function(){return this.placeholders.map(function(e){return e.name})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"outputNodes\",{get:function(){return this.outputs.map(function(e){return e.name})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isControlFlowModel\",{get:function(){return this.graph.withControlFlow},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isDynamicShapeModel\",{get:function(){return this.graph.withDynamicShape},enumerable:!0,configurable:!0}),e.prototype.compile=function(){if(!this.graph.withControlFlow&&!this.graph.withDynamicShape)for(var e=this.graph.inputs.slice(),t={};e.length>0;){var n=e.pop();t[n.name]=!0,this.compiledOrder.push(n),n.children.forEach(function(n){!t[n.name]&&n.inputNames.every(function(e){var n=getNodeNameAndIndex(e)[0];return t[n]})&&e.push(n)})}},e.prototype.execute=function(e,t){var n=this;this.checkInput(e),this.checkInputShapeAndType(e);var r={};return Object(_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.tidy)(function(){var i=new ExecutionContext(n._weightMap,r),o=n.compiledOrder.reduce(function(e,t){return e[t.name]=executeOp$15(t,e,i),e},__assign({},n.weightMap,e));return n.findOutputs(o,i,t)})},e.prototype.executeAsync=function(e,t){return __awaiter(this,void 0,void 0,function(){var n,r,i,o,s,a,u,l=this;return __generator(this,function(c){switch(c.label){case 0:return this.checkInput(e),this.checkInputShapeAndType(e),n={},r=new ExecutionContext(this._weightMap,n),[4,this.executeWithControlFlow(e,r)];case 1:return i=c.sent(),o=this.findOutputs(i,r,t),s=Object.keys(o).map(function(e){return o[e].id}),a=Object.keys(e).map(function(t){return e[t].map(function(e){return e.id})}),u=[].concat.apply([],a),Object.keys(i).forEach(function(e){i[e].forEach(function(e){e&&-1===s.indexOf(e.id)&&-1===u.indexOf(e.id)&&-1===l.weightIds.indexOf(e.id)&&e.dispose()})}),[2,o]}})})},e.prototype.executeWithControlFlow=function(e,t){return __awaiter(this,void 0,void 0,function(){var n,r,i,o,s,a,u,l;return __generator(this,function(c){switch(c.label){case 0:n=this.graph.inputs.map(function(e){return{node:e,contexts:t.currentContext}}),r=__assign({},this.weightMap,e),i={},c.label=1;case 1:return n.length>0?(o=n.pop(),t.currentContext=o.contexts,s=\"\",\"enter\"===o.node.op&&getParamValue(\"isConstant\",o.node,r,t)&&(s=getNodeNameAndIndex(o.node.name,t)[0]),a=executeOp$15(o.node,r,t),s||(s=getNodeNameAndIndex(o.node.name,t)[0]),u=r,l=s,[4,a]):[3,3];case 2:return u[l]=c.sent(),o.node.children.forEach(function(e){var o=getNodeNameAndIndex(e.name,t)[0];i[o]||(\"merge\"===e.op?e.inputNames.some(function(e){return!!getTensor(e,r,t)})&&(i[o]=!0,n.push({contexts:t.currentContext,node:e})):e.inputNames.every(function(e){return!!getTensor(e,r,t)})&&(i[o]=!0,n.push({contexts:t.currentContext,node:e})))}),[3,1];case 3:return[2,r]}})})},e.prototype.findOutputs=function(e,t,n){return!n||n instanceof Array||(n=[n]),(n||this.graph.outputs.map(function(e){return e.name})).reduce(function(n,r){return n[r]=getTensor(r,e,t),n},{})},e.prototype.dispose=function(){var e=this;Object.keys(this.weightMap).forEach(function(t){return e.weightMap[t].forEach(function(e){return e.dispose()})})},e.prototype.checkInputShapeAndType=function(e){this.placeholders.forEach(function(t){var n=e[t.name][0];if(t.params.shape&&t.params.shape.value){var r=t.params.shape.value,i=r.length===n.shape.length&&n.shape.every(function(e,t){return-1===r[t]||r[t]===e});_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.assert(i,\"The shape of dict['\"+t.name+\"'] provided in model.execute(dict) must be [\"+r+\"], but was [\"+n.shape+\"]\")}t.params.dtype&&t.params.dtype.value&&_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.util.assert(n.dtype===t.params.dtype.value,\"The dtype of dict['\"+t.name+\"'] provided in model.execute(dict) must be \"+t.params.dtype.value+\", but was \"+n.dtype)})},e.prototype.checkInput=function(e){var t=this,n=Object.keys(e),r=[],i=[];if(this.inputNodes.forEach(function(e){-1===n.indexOf(e)&&r.push(e)}),n.forEach(function(e){-1===t.inputNodes.indexOf(e)&&i.push(e)}),r.length>0)throw new Error(\"The dict provided in model.execute(dict) has the keys [\"+n+\"], but is missing the required keys: [\"+r+\"].\");if(i.length>0)throw new Error(\"The dict provided in model.execute(dict) has unused keys: [\"+i+\"]. Please provide only the following keys: [\"+this.inputNodes+\"].\")},e}(),FrozenModel=function(){function e(e,t,n){this.modelUrl=e,this.weightManifestUrl=t,this.requestOption=n,this.version=\"n/a\",this.pathPrefix=this.getPathPrefix()}return Object.defineProperty(e.prototype,\"modelVersion\",{get:function(){return this.version},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"inputNodes\",{get:function(){return this.executor.inputNodes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"outputNodes\",{get:function(){return this.executor.outputNodes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"inputs\",{get:function(){return this.executor.inputs},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"outputs\",{get:function(){return this.executor.outputs},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"weights\",{get:function(){return this.executor.weightMap},enumerable:!0,configurable:!0}),e.prototype.getPathPrefix=function(){var e=parse(this.weightManifestUrl),t=e.pathname.split(\"/\");return t.splice(-1),e.pathname=t.join(\"/\"),format(e)+\"/\"},e.prototype.loadRemoteProtoFile=function(){return __awaiter(this,void 0,void 0,function(){var e,t,n,r,i;return __generator(this,function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,fetch(this.modelUrl,this.requestOption)];case 1:return e=o.sent(),n=(t=compiled_api_1.GraphDef).decode,r=Uint8Array.bind,[4,e.arrayBuffer()];case 2:return[2,n.apply(t,[new(r.apply(Uint8Array,[void 0,o.sent()]))])];case 3:throw i=o.sent(),new Error(this.modelUrl+\" not found. \"+i);case 4:return[2]}})})},e.prototype.loadWeightManifest=function(){return __awaiter(this,void 0,void 0,function(){var e,t,n;return __generator(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,fetch(this.weightManifestUrl,this.requestOption)];case 1:return e=r.sent(),t=this,[4,e.clone().json()];case 2:return t.weightManifest=r.sent(),[3,4];case 3:throw n=r.sent(),new Error(this.weightManifestUrl+\" not found. \"+n);case 4:return[2]}})})},e.prototype.load=function(){return __awaiter(this,void 0,void 0,function(){var e,t,n,r;return __generator(this,function(i){switch(i.label){case 0:return e=this.loadRemoteProtoFile(),t=this.loadWeightManifest(),[4,Promise.all([e,t])];case 1:return n=i.sent()[0],this.version=n.versions.producer+\".\"+n.versions.minConsumer,[4,_tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.io.loadWeights(this.weightManifest,this.pathPrefix,void 0,this.requestOption)];case 2:return r=i.sent(),this.executor=new GraphExecutor(OperationMapper.Instance.transformGraph(n)),this.executor.weightMap=this.convertTensorMapToTensorsMap(r),[2,!0]}})})},e.prototype.predict=function(e,t){return this.execute(e,this.outputNodes)},e.prototype.constructTensorMap=function(e){var t=e instanceof _tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.Tensor?[e]:e;if(t.length!==this.inputNodes.length)throw new Error(\"Input tensor count mismatch,the frozen model has \"+this.inputNodes.length+\" placeholders, while there are \"+t.length+\" input tensors.\");return this.inputNodes.reduce(function(e,n,r){return e[n]=t[r],e},{})},e.prototype.execute=function(e,t){if(t=t||this.outputNodes,(e instanceof _tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.Tensor||Array.isArray(e))&&(e=this.constructTensorMap(e)),this.executor.isControlFlowModel||this.executor.isDynamicShapeModel)throw new Error(\"The model contains control flow or dynamic shape ops, please use executeAsync method\");var n=this.executor.execute(this.convertTensorMapToTensorsMap(e),t),r=Object.keys(n);return Array.isArray(t)&&t.length>1?t.map(function(e){return n[e]}):n[r[0]]},e.prototype.executeAsync=function(e,t){return __awaiter(this,void 0,void 0,function(){var n,r;return __generator(this,function(i){switch(i.label){case 0:if(!this.executor.isControlFlowModel||!this.executor.isDynamicShapeModel)throw new Error(\"The model does not contain control flow or dynamic shape ops, please use execute method for better performance.\");return t=t||this.outputNodes,(e instanceof _tensorflow_tfjs_core__WEBPACK_IMPORTED_MODULE_0__.Tensor||Array.isArray(e))&&(e=this.constructTensorMap(e)),[4,this.executor.executeAsync(this.convertTensorMapToTensorsMap(e),t)];case 1:return n=i.sent(),r=Object.keys(n),[2,Array.isArray(t)&&t.length>1?t.map(function(e){return n[e]}):n[r[0]]]}})})},e.prototype.convertTensorMapToTensorsMap=function(e){return Object.keys(e).reduce(function(t,n){return t[n]=[e[n]],t},{})},e.prototype.dispose=function(){this.executor.dispose()},e}();function loadFrozenModel(e,t,n){return __awaiter(this,void 0,void 0,function(){var r;return __generator(this,function(i){switch(i.label){case 0:return[4,(r=new FrozenModel(e,t,n)).load()];case 1:return i.sent(),[2,r]}})})}var version=\"0.5.5\"}).call(this,__webpack_require__(17))},function(e,t,n){\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(261)},function(e,t,n){\"use strict\";(function(e){var n=\"object\"==typeof e&&e&&e.Object===Object&&e;t.a=n}).call(this,n(17))},function(e,t,n){\"use strict\";\n/** @license React v16.4.2\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r=n(52),i=n(53),o=n(54),s=n(55),a=\"function\"==typeof Symbol&&Symbol.for,u=a?Symbol.for(\"react.element\"):60103,l=a?Symbol.for(\"react.portal\"):60106,c=a?Symbol.for(\"react.fragment\"):60107,h=a?Symbol.for(\"react.strict_mode\"):60108,d=a?Symbol.for(\"react.profiler\"):60114,p=a?Symbol.for(\"react.provider\"):60109,f=a?Symbol.for(\"react.context\"):60110,g=a?Symbol.for(\"react.async_mode\"):60111,m=a?Symbol.for(\"react.forward_ref\"):60112;a&&Symbol.for(\"react.timeout\");var v=\"function\"==typeof Symbol&&Symbol.iterator;function y(e){for(var t=arguments.length-1,n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=0;r<t;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);i(!1,\"Minified React error #\"+e+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",n)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function _(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||b}function C(){}function w(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||b}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e&&y(\"85\"),this.updater.enqueueSetState(this,e,t,\"setState\")},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},C.prototype=_.prototype;var D=w.prototype=new C;D.constructor=w,r(D,_.prototype),D.isPureReactComponent=!0;var E={current:null},A=Object.prototype.hasOwnProperty,S={key:!0,ref:!0,__self:!0,__source:!0};function x(e,t,n){var r=void 0,i={},o=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=\"\"+t.key),t)A.call(t,r)&&!S.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(1===a)i.children=n;else if(1<a){for(var l=Array(a),c=0;c<a;c++)l[c]=arguments[c+2];i.children=l}if(e&&e.defaultProps)for(r in a=e.defaultProps)void 0===i[r]&&(i[r]=a[r]);return{$$typeof:u,type:e,key:o,ref:s,props:i,_owner:E.current}}function M(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===u}var N=/\\/+/g,I=[];function L(e,t,n,r){if(I.length){var i=I.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function k(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>I.length&&I.push(e)}function T(e,t,n,r){var i=typeof e;\"undefined\"!==i&&\"boolean\"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case\"string\":case\"number\":o=!0;break;case\"object\":switch(e.$$typeof){case u:case l:o=!0}}if(o)return n(r,e,\"\"===t?\".\"+F(e,0):t),1;if(o=0,t=\"\"===t?\".\":t+\":\",Array.isArray(e))for(var s=0;s<e.length;s++){var a=t+F(i=e[s],s);o+=T(i,a,n,r)}else if(null===e||void 0===e?a=null:a=\"function\"==typeof(a=v&&e[v]||e[\"@@iterator\"])?a:null,\"function\"==typeof a)for(e=a.call(e),s=0;!(i=e.next()).done;)o+=T(i=i.value,a=t+F(i,s++),n,r);else\"object\"===i&&y(\"31\",\"[object Object]\"===(n=\"\"+e)?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":n,\"\");return o}function F(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function O(e,t){e.func.call(e.context,t,e.count++)}function P(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?B(e,r,n,s.thatReturnsArgument):null!=e&&(M(e)&&(t=i+(!e.key||t&&t.key===e.key?\"\":(\"\"+e.key).replace(N,\"$&/\")+\"/\")+n,e={$$typeof:u,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}),r.push(e))}function B(e,t,n,r,i){var o=\"\";null!=n&&(o=(\"\"+n).replace(N,\"$&/\")+\"/\"),t=L(t,o,r,i),null==e||T(e,\"\",P,t),k(t)}var R={Children:{map:function(e,t,n){if(null==e)return e;var r=[];return B(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;t=L(null,null,t,n),null==e||T(e,\"\",O,t),k(t)},count:function(e){return null==e?0:T(e,\"\",s.thatReturnsNull,null)},toArray:function(e){var t=[];return B(e,t,null,s.thatReturnsArgument),t},only:function(e){return M(e)||y(\"143\"),e}},createRef:function(){return{current:null}},Component:_,PureComponent:w,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_defaultValue:e,_currentValue:e,_currentValue2:e,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null}).Provider={$$typeof:p,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:m,render:e}},Fragment:c,StrictMode:h,unstable_AsyncMode:g,unstable_Profiler:d,createElement:x,cloneElement:function(e,t,n){(null===e||void 0===e)&&y(\"267\",e);var i=void 0,o=r({},e.props),s=e.key,a=e.ref,l=e._owner;if(null!=t){void 0!==t.ref&&(a=t.ref,l=E.current),void 0!==t.key&&(s=\"\"+t.key);var c=void 0;for(i in e.type&&e.type.defaultProps&&(c=e.type.defaultProps),t)A.call(t,i)&&!S.hasOwnProperty(i)&&(o[i]=void 0===t[i]&&void 0!==c?c[i]:t[i])}if(1===(i=arguments.length-2))o.children=n;else if(1<i){c=Array(i);for(var h=0;h<i;h++)c[h]=arguments[h+2];o.children=c}return{$$typeof:u,type:e.type,key:s,ref:a,props:o,_owner:l}},createFactory:function(e){var t=x.bind(null,e);return t.type=e,t},isValidElement:M,version:\"16.4.2\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:E,assign:r}},j={default:R},z=j&&R||j;e.exports=z.default?z.default:z},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){var r=n(39);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(20),i=n(25),o=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(59)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(e,t,n){var r=n(32).f,i=n(30),o=n(26)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(74)(\"keys\"),i=n(58);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(72);e.exports=function(e){return Object(r(e))}},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\\n\\n/* Document\\n   ========================================================================== */\\n\\n/**\\n * 1. Correct the line height in all browsers.\\n * 2. Prevent adjustments of font size after orientation changes in iOS.\\n */\\n\\nhtml {\\n  line-height: 1.15; /* 1 */\\n  -webkit-text-size-adjust: 100%; /* 2 */\\n}\\n\\n/* Sections\\n   ========================================================================== */\\n\\n/**\\n * Remove the margin in all browsers.\\n */\\n\\nbody {\\n  margin: 0;\\n}\\n\\n/**\\n * Correct the font size and margin on `h1` elements within `section` and\\n * `article` contexts in Chrome, Firefox, and Safari.\\n */\\n\\nh1 {\\n  font-size: 2em;\\n  margin: 0.67em 0;\\n}\\n\\n/* Grouping content\\n   ========================================================================== */\\n\\n/**\\n * 1. Add the correct box sizing in Firefox.\\n * 2. Show the overflow in Edge and IE.\\n */\\n\\nhr {\\n  box-sizing: content-box; /* 1 */\\n  height: 0; /* 1 */\\n  overflow: visible; /* 2 */\\n}\\n\\n/**\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\n * 2. Correct the odd `em` font sizing in all browsers.\\n */\\n\\npre {\\n  font-family: monospace, monospace; /* 1 */\\n  font-size: 1em; /* 2 */\\n}\\n\\n/* Text-level semantics\\n   ========================================================================== */\\n\\n/**\\n * Remove the gray background on active links in IE 10.\\n */\\n\\na {\\n  background-color: transparent;\\n}\\n\\n/**\\n * 1. Remove the bottom border in Chrome 57-\\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\n */\\n\\nabbr[title] {\\n  border-bottom: none; /* 1 */\\n  text-decoration: underline; /* 2 */\\n  text-decoration: underline dotted; /* 2 */\\n}\\n\\n/**\\n * Add the correct font weight in Chrome, Edge, and Safari.\\n */\\n\\nb,\\nstrong {\\n  font-weight: bolder;\\n}\\n\\n/**\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\n * 2. Correct the odd `em` font sizing in all browsers.\\n */\\n\\ncode,\\nkbd,\\nsamp {\\n  font-family: monospace, monospace; /* 1 */\\n  font-size: 1em; /* 2 */\\n}\\n\\n/**\\n * Add the correct font size in all browsers.\\n */\\n\\nsmall {\\n  font-size: 80%;\\n}\\n\\n/**\\n * Prevent `sub` and `sup` elements from affecting the line height in\\n * all browsers.\\n */\\n\\nsub,\\nsup {\\n  font-size: 75%;\\n  line-height: 0;\\n  position: relative;\\n  vertical-align: baseline;\\n}\\n\\nsub {\\n  bottom: -0.25em;\\n}\\n\\nsup {\\n  top: -0.5em;\\n}\\n\\n/* Embedded content\\n   ========================================================================== */\\n\\n/**\\n * Remove the border on images inside links in IE 10.\\n */\\n\\nimg {\\n  border-style: none;\\n}\\n\\n/* Forms\\n   ========================================================================== */\\n\\n/**\\n * 1. Change the font styles in all browsers.\\n * 2. Remove the margin in Firefox and Safari.\\n */\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n  font-family: inherit; /* 1 */\\n  font-size: 100%; /* 1 */\\n  line-height: 1.15; /* 1 */\\n  margin: 0; /* 2 */\\n}\\n\\n/**\\n * Show the overflow in IE.\\n * 1. Show the overflow in Edge.\\n */\\n\\nbutton,\\ninput { /* 1 */\\n  overflow: visible;\\n}\\n\\n/**\\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\\n * 1. Remove the inheritance of text transform in Firefox.\\n */\\n\\nbutton,\\nselect { /* 1 */\\n  text-transform: none;\\n}\\n\\n/**\\n * Correct the inability to style clickable types in iOS and Safari.\\n */\\n\\nbutton,\\n[type=\"button\"],\\n[type=\"reset\"],\\n[type=\"submit\"] {\\n  -webkit-appearance: button;\\n}\\n\\n/**\\n * Remove the inner border and padding in Firefox.\\n */\\n\\nbutton::-moz-focus-inner,\\n[type=\"button\"]::-moz-focus-inner,\\n[type=\"reset\"]::-moz-focus-inner,\\n[type=\"submit\"]::-moz-focus-inner {\\n  border-style: none;\\n  padding: 0;\\n}\\n\\n/**\\n * Restore the focus styles unset by the previous rule.\\n */\\n\\nbutton:-moz-focusring,\\n[type=\"button\"]:-moz-focusring,\\n[type=\"reset\"]:-moz-focusring,\\n[type=\"submit\"]:-moz-focusring {\\n  outline: 1px dotted ButtonText;\\n}\\n\\n/**\\n * Correct the padding in Firefox.\\n */\\n\\nfieldset {\\n  padding: 0.35em 0.75em 0.625em;\\n}\\n\\n/**\\n * 1. Correct the text wrapping in Edge and IE.\\n * 2. Correct the color inheritance from `fieldset` elements in IE.\\n * 3. Remove the padding so developers are not caught out when they zero out\\n *    `fieldset` elements in all browsers.\\n */\\n\\nlegend {\\n  box-sizing: border-box; /* 1 */\\n  color: inherit; /* 2 */\\n  display: table; /* 1 */\\n  max-width: 100%; /* 1 */\\n  padding: 0; /* 3 */\\n  white-space: normal; /* 1 */\\n}\\n\\n/**\\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\\n */\\n\\nprogress {\\n  vertical-align: baseline;\\n}\\n\\n/**\\n * Remove the default vertical scrollbar in IE 10+.\\n */\\n\\ntextarea {\\n  overflow: auto;\\n}\\n\\n/**\\n * 1. Add the correct box sizing in IE 10.\\n * 2. Remove the padding in IE 10.\\n */\\n\\n[type=\"checkbox\"],\\n[type=\"radio\"] {\\n  box-sizing: border-box; /* 1 */\\n  padding: 0; /* 2 */\\n}\\n\\n/**\\n * Correct the cursor style of increment and decrement buttons in Chrome.\\n */\\n\\n[type=\"number\"]::-webkit-inner-spin-button,\\n[type=\"number\"]::-webkit-outer-spin-button {\\n  height: auto;\\n}\\n\\n/**\\n * 1. Correct the odd appearance in Chrome and Safari.\\n * 2. Correct the outline style in Safari.\\n */\\n\\n[type=\"search\"] {\\n  -webkit-appearance: textfield; /* 1 */\\n  outline-offset: -2px; /* 2 */\\n}\\n\\n/**\\n * Remove the inner padding in Chrome and Safari on macOS.\\n */\\n\\n[type=\"search\"]::-webkit-search-decoration {\\n  -webkit-appearance: none;\\n}\\n\\n/**\\n * 1. Correct the inability to style clickable types in iOS and Safari.\\n * 2. Change font properties to `inherit` in Safari.\\n */\\n\\n::-webkit-file-upload-button {\\n  -webkit-appearance: button; /* 1 */\\n  font: inherit; /* 2 */\\n}\\n\\n/* Interactive\\n   ========================================================================== */\\n\\n/*\\n * Add the correct display in Edge, IE 10+, and Firefox.\\n */\\n\\ndetails {\\n  display: block;\\n}\\n\\n/*\\n * Add the correct display in all browsers.\\n */\\n\\nsummary {\\n  display: list-item;\\n}\\n\\n/* Misc\\n   ========================================================================== */\\n\\n/**\\n * Add the correct display in IE 10+.\\n */\\n\\ntemplate {\\n  display: none;\\n}\\n\\n/**\\n * Add the correct display in IE 10.\\n */\\n\\n[hidden] {\\n  display: none;\\n}\\n',\"\"])},function(e,t,n){(t=e.exports=n(5)(!1)).i(n(297),\"\"),t.push([e.i,\"html, body {\\n  overflow: hidden; }\\n\\n.studio {\\n  display: grid;\\n  grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));\\n  grid-template-rows: minmax(10em, 1fr);\\n  grid-gap: 0.5em;\\n  height: 100vh;\\n  width: 100vw;\\n  padding: 0.5em;\\n  box-sizing: border-box; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'@charset \"UTF-8\";\\n.editor-container {\\n  flex: 1;\\n  border: 1px solid lightgray;\\n  border-radius: 5px;\\n  overflow: hidden; }\\n\\n.message {\\n  font-family: \"Fira Code\";\\n  color: #791515;\\n  padding: 0 0.5em 0 0.5em;\\n  font-size: smaller;\\n  line-height: 24px;\\n  position: absolute;\\n  text-overflow: ellipsis;\\n  right: 0;\\n  top: -1.8em;\\n  white-space: nowrap;\\n  max-width: 35%;\\n  z-index: 1;\\n  display: flex; }\\n  .message:before {\\n    content: \"\";\\n    width: 17px;\\n    height: 17px;\\n    position: absolute;\\n    left: 0;\\n    background: linear-gradient(45deg, #f6bfbb, #f6bfbb, #f6bfbb, transparent, transparent);\\n    transform: rotate(45deg);\\n    transform-origin: top left;\\n    border-radius: 0 0 0 3px; }\\n  .message span {\\n    width: 100%;\\n    flex: 1;\\n    text-overflow: ellipsis;\\n    overflow: hidden;\\n    margin-left: 0.1em;\\n    z-index: 1; }\\n  .message:hover {\\n    white-space: initial;\\n    border-radius: 0 0 5px 5px;\\n    z-index: 100; }\\n    .message:hover.error {\\n      background-color: #f0958e; }\\n    .message:hover:before {\\n      background: #f0958e; }\\n  .message.error {\\n    background-color: #f6bfbb; }\\n  .message.warning {\\n    background-color: #f7e4bb; }\\n\\n.inlineDecoration.error {\\n  background-color: #fadcd9; }\\n\\n.inlineDecoration.warning {\\n  background-color: rgba(255, 234, 0, 0.15); }\\n\\n.glyphDecoration {\\n  width: 100% !important; }\\n  .glyphDecoration.error {\\n    background-color: #fadcd9; }\\n    .glyphDecoration.error:after {\\n      content: \"\\\\1F6AB\"; }\\n  .glyphDecoration.warning {\\n    background-color: rgba(255, 234, 0, 0.15); }\\n    .glyphDecoration.warning:after {\\n      content: \"\\\\26A0\\\\FE0F\"; }\\n  .glyphDecoration:after {\\n    font-size: small;\\n    margin-left: 0.3em;\\n    text-shadow: 0 0 0px #000000ad; }\\n\\ncanvas.decorationsOverviewRuler {\\n  display: none; }\\n\\n.vs .monaco-scrollable-element > .scrollbar > .slider {\\n  border-radius: 10px;\\n  left: -1px !important; }\\n\\n.margin-view-overlays {\\n  position: relative !important; }\\n  .margin-view-overlays .line-numbers {\\n    color: #6f6f6f !important; }\\n  .margin-view-overlays:after {\\n    content: \"\";\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    right: 11px;\\n    left: 0;\\n    box-sizing: border-box;\\n    border-right: 1px solid lightgray;\\n    background-color: rgba(128, 128, 128, 0.05);\\n    pointer-events: none; }\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* -------------------- IE10 remove auto clear button -------------------- */\\n\\n::-ms-clear {\\n\\tdisplay: none;\\n}\\n\\n/* All widgets */\\n/* I am not a big fan of this rule */\\n.monaco-editor .editor-widget input {\\n\\tcolor: inherit;\\n}\\n\\n/* -------------------- Editor -------------------- */\\n\\n.monaco-editor {\\n\\tposition: relative;\\n\\toverflow: visible;\\n\\t-webkit-text-size-adjust: 100%;\\n\\t-webkit-font-feature-settings: \"liga\" off, \"calt\" off;\\n\\tfont-feature-settings: \"liga\" off, \"calt\" off;\\n}\\n.monaco-editor.enable-ligatures {\\n\\t-webkit-font-feature-settings: \"liga\" on, \"calt\" on;\\n\\tfont-feature-settings: \"liga\" on, \"calt\" on;\\n}\\n\\n/* -------------------- Misc -------------------- */\\n\\n.monaco-editor .overflow-guard {\\n\\tposition: relative;\\n\\toverflow: hidden;\\n}\\n\\n.monaco-editor .view-overlays {\\n\\tposition: absolute;\\n\\ttop: 0;\\n}',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .vs-whitespace {\\n\\tdisplay:inline-block;\\n}\\n\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .inputarea {\\n\\tmin-width: 0;\\n\\tmin-height: 0;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tposition: absolute;\\n\\toutline: none !important;\\n\\tresize: none;\\n\\tborder: none;\\n\\toverflow: hidden;\\n\\tcolor: transparent;\\n\\tbackground-color: transparent;\\n}\\n/*.monaco-editor .inputarea {\\n\\tposition: fixed !important;\\n\\twidth: 800px !important;\\n\\theight: 500px !important;\\n\\ttop: initial !important;\\n\\tleft: initial !important;\\n\\tbottom: 0 !important;\\n\\tright: 0 !important;\\n\\tcolor: black !important;\\n\\tbackground: white !important;\\n\\tline-height: 15px !important;\\n\\tfont-size: 14px !important;\\n}*/\\n.monaco-editor .inputarea.ime-input {\\n\\tz-index: 10;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .margin-view-overlays .line-numbers {\\n\\tposition: absolute;\\n\\ttext-align: right;\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n\\tbox-sizing: border-box;\\n\\tcursor: default;\\n\\theight: 100%;\\n}\\n\\n.monaco-editor .relative-current-line-number {\\n\\ttext-align: left;\\n\\tdisplay: inline-block;\\n\\twidth: 100%;\\n}\\n\\n.monaco-editor .margin-view-overlays .line-numbers {\\n\\tcursor: -webkit-image-set(\\n\\t\\turl(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIyMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAxNSAyMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTUgMjE7Ij48cG9seWdvbiBzdHlsZT0iZmlsbDojRkZGRkZGO3N0cm9rZTojMDAwMDAwIiBwb2ludHM9IjE0LjUsMS4yIDEuOSwxMy44IDcuMSwxMy44IDQuNSwxOS4xIDcuNywyMC4xIDEwLjMsMTQuOSAxNC41LDE4Ii8+PC9zdmc+\") 1x,\\n\\t\\turl(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzAiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCAzMCA0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzAgNDI7Ij48cG9seWdvbiBzdHlsZT0iZmlsbDojRkZGRkZGO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyOyIgcG9pbnRzPSIyOSwyLjQgMy44LDI3LjYgMTQuMywyNy42IDksMzguMSAxNS40LDQwLjIgMjAuNiwyOS43IDI5LDM2Ii8+PC9zdmc+Cg==\") 2x\\n\\t) 30 0, default;\\n}\\n\\n.monaco-editor.mac .margin-view-overlays .line-numbers {\\n\\tcursor: -webkit-image-set(\\n\\t\\turl(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDEyIDE4Ij48c3R5bGU+LnN0MHtmaWxsOiNmZmZ9PC9zdHlsZT48dGl0bGU+ZmxpcHBlZC1jdXJzb3ItbWFjPC90aXRsZT48cGF0aCBkPSJNNC4zIDE2LjVsMS42LTQuNkgxLjFMMTEuNSAxLjJ2MTQuNEw4LjcgMTNsLTEuNiA0LjV6Ii8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTExIDE0LjVsLTIuNS0yLjNMNyAxNi43IDUgMTZsMS42LTQuNWgtNGw4LjUtOU0wIDEyLjVoNS4ybC0xLjUgNC4xTDcuNSAxOCA5IDE0LjJsMi45IDIuM1YwTDAgMTIuNXoiLz48L3N2Zz4=\") 1x,\\n\\t\\turl(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDI0IDM2LjEiPjxkZWZzPjxzdHlsZT4uYXtmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5mbGlwcGVkLWN1cnNvci1tYWMtMng8L3RpdGxlPjxwb2x5Z29uIHBvaW50cz0iOC42IDMzLjEgMTEuOCAyMy45IDIuMiAyMy45IDIzIDIuNSAyMyAzMS4zIDE3LjQgMjYuMSAxNC4yIDM1LjEgOC42IDMzLjEiLz48cGF0aCBjbGFzcz0iYSIgZD0iTTIyLDI5LjFsLTUtNC42LTMuMDYyLDguOTM4LTQuMDYyLTEuNUwxMywyM0g1TDIyLDVNMCwyNUgxMC40bC0zLDguM0wxNSwzNi4xbDMuMTI1LTcuNjYyTDI0LDMzVjBaIi8+PC9zdmc+\") 2x\\n\\t) 24 3, default;\\n}\\n\\n.monaco-editor .margin-view-overlays .line-numbers.lh-odd {\\n\\tmargin-top: 1px;\\n}\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .view-overlays .current-line {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\tbox-sizing: border-box;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .margin-view-overlays .current-line {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\tbox-sizing: border-box;\\n}\\n\\n.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both {\\n\\tborder-right: 0;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/*\\n\\tKeeping name short for faster parsing.\\n\\tcdr = core decorations rendering (div)\\n*/\\n.monaco-editor .lines-content .cdr {\\n\\tposition: absolute;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .glyph-margin {\\n\\tposition: absolute;\\n\\ttop: 0;\\n}\\n\\n/*\\n\\tKeeping name short for faster parsing.\\n\\tcgmr = core glyph margin rendering (div)\\n*/\\n.monaco-editor .margin-view-overlays .cgmr {\\n\\tposition: absolute;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/*\\n\\tKeeping name short for faster parsing.\\n\\tcigr = core ident guides rendering (div)\\n*/\\n.monaco-editor .lines-content .cigr {\\n\\tposition: absolute;\\n}\\n.monaco-editor .lines-content .cigra {\\n\\tposition: absolute;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* Uncomment to see lines flashing when they're painted */\\n/*.monaco-editor .view-lines > .view-line {\\n\\tbackground-color: none;\\n\\tanimation-name: flash-background;\\n\\tanimation-duration: 800ms;\\n}\\n@keyframes flash-background {\\n\\t0%   { background-color: lightgreen; }\\n\\t100% { background-color: none }\\n}*/\\n\\n.monaco-editor.safari .lines-content,\\n.monaco-editor.safari .view-line,\\n.monaco-editor.safari .view-lines {\\n\\t-webkit-user-select: text;\\n\\tuser-select: text;\\n}\\n\\n.monaco-editor .lines-content,\\n.monaco-editor .view-line,\\n.monaco-editor .view-lines {\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-o-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n.monaco-editor .view-lines {\\n\\tcursor: text;\\n\\twhite-space: nowrap;\\n}\\n\\n.monaco-editor.vs-dark.mac .view-lines,\\n.monaco-editor.hc-black.mac .view-lines {\\n\\tcursor: -webkit-image-set(url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=) 1x, url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC) 2x) 5 8, text;\\n}\\n\\n.monaco-editor .view-line {\\n\\tposition: absolute;\\n\\twidth: 100%;\\n}\\n\\n/* TODO@tokenization bootstrap fix */\\n/*.monaco-editor .view-line > span > span {\\n\\tfloat: none;\\n\\tmin-height: inherit;\\n\\tmargin-left: inherit;\\n}*/\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.monaco-editor .lines-decorations {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tbackground: white;\\n}\\n\\n/*\\n\\tKeeping name short for faster parsing.\\n\\tcldr = core lines decorations rendering (div)\\n*/\\n.monaco-editor .margin-view-overlays .cldr {\\n\\tposition: absolute;\\n\\theight: 100%;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/*\\n\\tKeeping name short for faster parsing.\\n\\tcmdr = core margin decorations rendering (div)\\n*/\\n.monaco-editor .margin-view-overlays .cmdr {\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.monaco-editor .overlayWidgets {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft:0;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .view-ruler {\\n\\tposition: absolute;\\n\\ttop: 0;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .scroll-decoration {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\theight: 6px;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/*\\n\\tKeeping name short for faster parsing.\\n\\tcslr = core selections layer rendering (div)\\n*/\\n.monaco-editor .lines-content .cslr {\\n\\tposition: absolute;\\n}\\n\\n.monaco-editor\\t\\t\\t.top-left-radius\\t\\t{ border-top-left-radius: 3px; }\\n.monaco-editor\\t\\t\\t.bottom-left-radius\\t\\t{ border-bottom-left-radius: 3px; }\\n.monaco-editor\\t\\t\\t.top-right-radius\\t\\t{ border-top-right-radius: 3px; }\\n.monaco-editor\\t\\t\\t.bottom-right-radius\\t{ border-bottom-right-radius: 3px; }\\n\\n.monaco-editor.hc-black .top-left-radius\\t\\t{ border-top-left-radius: 0; }\\n.monaco-editor.hc-black .bottom-left-radius\\t\\t{ border-bottom-left-radius: 0; }\\n.monaco-editor.hc-black .top-right-radius\\t\\t{ border-top-right-radius: 0; }\\n.monaco-editor.hc-black .bottom-right-radius\\t{ border-bottom-right-radius: 0; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.monaco-editor .cursors-layer {\\n\\tposition: absolute;\\n\\ttop: 0;\\n}\\n\\n.monaco-editor .cursors-layer > .cursor {\\n\\tposition: absolute;\\n\\tcursor: text;\\n\\toverflow: hidden;\\n}\\n\\n/* -- block-outline-style -- */\\n.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {\\n\\tbox-sizing: border-box;\\n\\tbackground: transparent !important;\\n\\tborder-style: solid;\\n\\tborder-width: 1px;\\n}\\n\\n/* -- underline-style -- */\\n.monaco-editor .cursors-layer.cursor-underline-style > .cursor {\\n\\tborder-bottom-width: 2px;\\n\\tborder-bottom-style: solid;\\n\\tbackground: transparent !important;\\n\\tbox-sizing: border-box;\\n}\\n\\n/* -- underline-thin-style -- */\\n.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {\\n\\tborder-bottom-width: 1px;\\n\\tborder-bottom-style: solid;\\n\\tbackground: transparent !important;\\n\\tbox-sizing: border-box;\\n}\\n\\n@keyframes monaco-cursor-smooth {\\n\\t0%,\\n\\t20% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t60%,\\n\\t100% {\\n\\t\\topacity: 0;\\n\\t}\\n}\\n\\n@keyframes monaco-cursor-phase {\\n\\t0%,\\n\\t20% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t90%,\\n\\t100% {\\n\\t\\topacity: 0;\\n\\t}\\n}\\n\\n@keyframes monaco-cursor-expand {\\n\\t0%,\\n\\t20% {\\n\\t\\ttransform: scaleY(1);\\n\\t}\\n\\t80%,\\n\\t100% {\\n\\t\\ttransform: scaleY(0);\\n\\t}\\n}\\n\\n.cursor-smooth {\\n\\tanimation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;\\n}\\n\\n.cursor-phase {\\n\\tanimation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;\\n}\\n\\n.cursor-expand > .cursor {\\n\\tanimation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* Arrows */\\n.monaco-scrollable-element > .scrollbar > .up-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=\");\\n\\tcursor: pointer;\\n}\\n.monaco-scrollable-element > .scrollbar > .down-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCA1LjQ5MDQ1OTkxODk3NTgzLDUuODExNTAwMDcyNDc5MjQ4KSIgZmlsbD0iIzQyNDI0MiIgZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiLz48L3N2Zz4=\");\\n\\tcursor: pointer;\\n}\\n.monaco-scrollable-element > .scrollbar > .left-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDUuNDkwNDU5OTE4OTc1ODMxLDUuNDMxMzgyMTc5MjYwMjU0KSIgZmlsbD0iIzQyNDI0MiIgZD0ibTkuNDgwNDYsOC41ODEzOGwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+\");\\n\\tcursor: pointer;\\n}\\n.monaco-scrollable-element > .scrollbar > .right-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS42MTcxNjUwODg2NTM1NjQ1LDUuNTU4MDg5NzMzMTIzNzgpICIgZmlsbD0iIzQyNDI0MiIgZD0ibTkuNjA3MTcsOC43MDgwOWwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+\");\\n\\tcursor: pointer;\\n}\\n\\n.hc-black .monaco-scrollable-element > .scrollbar > .up-arrow,\\n.vs-dark .monaco-scrollable-element > .scrollbar > .up-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiIGZpbGw9IiNFOEU4RTgiLz48L3N2Zz4=\");\\n}\\n.hc-black .monaco-scrollable-element > .scrollbar > .down-arrow,\\n.vs-dark .monaco-scrollable-element > .scrollbar > .down-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCA1LjQ5MDQ1OTkxODk3NTgzLDUuODExNTAwMDcyNDc5MjQ4KSIgZmlsbD0iI0U4RThFOCIgZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiLz48L3N2Zz4=\");\\n}\\n.hc-black .monaco-scrollable-element > .scrollbar > .left-arrow,\\n.vs-dark .monaco-scrollable-element > .scrollbar > .left-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDUuNDkwNDU5OTE4OTc1ODMxLDUuNDMxMzgyMTc5MjYwMjU0KSIgZmlsbD0iI0U4RThFOCIgZD0ibTkuNDgwNDYsOC41ODEzOGwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+\");\\n}\\n.hc-black .monaco-scrollable-element > .scrollbar > .right-arrow,\\n.vs-dark .monaco-scrollable-element > .scrollbar > .right-arrow {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS42MTcxNjUwODg2NTM1NjQ1LDUuNTU4MDg5NzMzMTIzNzgpICIgZmlsbD0iI0U4RThFOCIgZD0ibTkuNjA3MTcsOC43MDgwOWwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+\");\\n}\\n\\n.monaco-scrollable-element > .visible {\\n\\topacity: 1;\\n\\n\\t/* Background rule added for IE9 - to allow clicks on dom node */\\n\\tbackground:rgba(0,0,0,0);\\n\\n\\t-webkit-transition: opacity 100ms linear;\\n\\t-o-transition: opacity 100ms linear;\\n\\t-moz-transition: opacity 100ms linear;\\n\\t-ms-transition: opacity 100ms linear;\\n\\ttransition: opacity 100ms linear;\\n}\\n.monaco-scrollable-element > .invisible {\\n\\topacity: 0;\\n\\tpointer-events: none;\\n}\\n.monaco-scrollable-element > .invisible.fade {\\n\\t-webkit-transition: opacity 800ms linear;\\n\\t-o-transition: opacity 800ms linear;\\n\\t-moz-transition: opacity 800ms linear;\\n\\t-ms-transition: opacity 800ms linear;\\n\\ttransition: opacity 800ms linear;\\n}\\n\\n/* Scrollable Content Inset Shadow */\\n.monaco-scrollable-element > .shadow {\\n\\tposition: absolute;\\n\\tdisplay: none;\\n}\\n.monaco-scrollable-element > .shadow.top {\\n\\tdisplay: block;\\n\\ttop: 0;\\n\\tleft: 3px;\\n\\theight: 3px;\\n\\twidth: 100%;\\n\\tbox-shadow: #DDD 0 6px 6px -6px inset;\\n}\\n.monaco-scrollable-element > .shadow.left {\\n\\tdisplay: block;\\n\\ttop: 3px;\\n\\tleft: 0;\\n\\theight: 100%;\\n\\twidth: 3px;\\n\\tbox-shadow: #DDD 6px 0 6px -6px inset;\\n}\\n.monaco-scrollable-element > .shadow.top-left-corner {\\n\\tdisplay: block;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\theight: 3px;\\n\\twidth: 3px;\\n}\\n.monaco-scrollable-element > .shadow.top.left {\\n\\tbox-shadow: #DDD 6px 6px 6px -6px inset;\\n}\\n\\n/* ---------- Default Style ---------- */\\n\\n.vs .monaco-scrollable-element > .scrollbar > .slider {\\n\\tbackground: rgba(100, 100, 100, .4);\\n}\\n.vs-dark .monaco-scrollable-element > .scrollbar > .slider {\\n\\tbackground: rgba(121, 121, 121, .4);\\n}\\n.hc-black .monaco-scrollable-element > .scrollbar > .slider {\\n\\tbackground: rgba(111, 195, 223, .6);\\n}\\n\\n.monaco-scrollable-element > .scrollbar > .slider:hover {\\n\\tbackground: rgba(100, 100, 100, .7);\\n}\\n.hc-black .monaco-scrollable-element > .scrollbar > .slider:hover {\\n\\tbackground: rgba(111, 195, 223, .8);\\n}\\n\\n.monaco-scrollable-element > .scrollbar > .slider.active {\\n\\tbackground: rgba(0, 0, 0, .6);\\n}\\n.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active {\\n\\tbackground: rgba(191, 191, 191, .4);\\n}\\n.hc-black .monaco-scrollable-element > .scrollbar > .slider.active {\\n\\tbackground: rgba(111, 195, 223, 1);\\n}\\n\\n.vs-dark .monaco-scrollable-element .shadow.top {\\n\\tbox-shadow: none;\\n}\\n\\n.vs-dark .monaco-scrollable-element .shadow.left {\\n\\tbox-shadow: #000 6px 0 6px -6px inset;\\n}\\n\\n.vs-dark .monaco-scrollable-element .shadow.top.left {\\n\\tbox-shadow: #000 6px 6px 6px -6px inset;\\n}\\n\\n.hc-black .monaco-scrollable-element .shadow.top {\\n\\tbox-shadow: none;\\n}\\n\\n.hc-black .monaco-scrollable-element .shadow.left {\\n\\tbox-shadow: none;\\n}\\n\\n.hc-black .monaco-scrollable-element .shadow.top.left {\\n\\tbox-shadow: none;\\n}',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* START cover the case that slider is visible on mouseover */\\n.monaco-editor .minimap.slider-mouseover .minimap-slider {\\n\\topacity: 0;\\n\\ttransition: opacity 100ms linear;\\n}\\n.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {\\n\\topacity: 1;\\n}\\n.monaco-editor .minimap.slider-mouseover .minimap-slider.active {\\n\\topacity: 1;\\n}\\n/* END cover the case that slider is visible on mouseover */\\n\\n.monaco-editor .minimap-shadow-hidden {\\n\\tposition: absolute;\\n\\twidth: 0;\\n}\\n.monaco-editor .minimap-shadow-visible {\\n\\tposition: absolute;\\n\\tleft: -6px;\\n\\twidth: 6px;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .bracket-match {\\n\\tbox-sizing: border-box;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-menu .monaco-action-bar.vertical .action-label.hover {\\n\\tbackground-color: #EEE;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-action-bar {\\n\\ttext-align: right;\\n\\toverflow: hidden;\\n\\twhite-space: nowrap;\\n}\\n\\n.monaco-action-bar .actions-container {\\n\\tdisplay: flex;\\n\\tmargin: 0 auto;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\tjustify-content: flex-end;\\n}\\n\\n.monaco-action-bar.vertical .actions-container {\\n\\tdisplay: inline-block;\\n}\\n\\n.monaco-action-bar.reverse .actions-container {\\n\\tflex-direction: row-reverse;\\n}\\n\\n.monaco-action-bar .action-item {\\n\\tcursor: pointer;\\n\\tdisplay: inline-block;\\n\\t-ms-transition: -ms-transform 50ms ease;\\n\\t-webkit-transition: -webkit-transform 50ms ease;\\n\\t-moz-transition: -moz-transform 50ms ease;\\n\\t-o-transition: -o-transform 50ms ease;\\n\\ttransition: transform 50ms ease;\\n\\tposition: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\\n}\\n\\n.monaco-action-bar .action-item.disabled {\\n\\tcursor: default;\\n}\\n\\n.monaco-action-bar.animated .action-item.active {\\n\\t-ms-transform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\\n\\t-webkit-transform: scale(1.272019649, 1.272019649);\\n\\t-moz-transform: scale(1.272019649, 1.272019649);\\n\\t-o-transform: scale(1.272019649, 1.272019649);\\n\\ttransform: scale(1.272019649, 1.272019649);\\n}\\n\\n.monaco-action-bar .action-item .icon {\\n\\tdisplay: inline-block;\\n}\\n\\n.monaco-action-bar .action-label {\\n\\tfont-size: 12px;\\n\\tmargin-right: 0.3em;\\n}\\n\\n.monaco-action-bar .action-label.octicon {\\n\\tfont-size: 15px;\\n\\tline-height: 35px;\\n\\ttext-align: center;\\n}\\n\\n.monaco-action-bar .action-item.disabled .action-label,\\n.monaco-action-bar .action-item.disabled .action-label:hover {\\n\\topacity: 0.4;\\n}\\n\\n/* Vertical actions */\\n\\n.monaco-action-bar.vertical {\\n\\ttext-align: left;\\n}\\n\\n.monaco-action-bar.vertical .action-item {\\n\\tdisplay: block;\\n}\\n\\n.monaco-action-bar.vertical .action-label.separator {\\n\\tdisplay: block;\\n\\tborder-bottom: 1px solid #bbb;\\n\\tpadding-top: 1px;\\n\\tmargin-left: .8em;\\n\\tmargin-right: .8em;\\n}\\n\\n.monaco-action-bar.animated.vertical .action-item.active {\\n\\t-ms-transform: translate(5px, 0);\\n\\t-webkit-transform: translate(5px, 0);\\n\\t-moz-transform: translate(5px, 0);\\n\\t-o-transform: translate(5px, 0);\\n\\ttransform: translate(5px, 0);\\n}\\n\\n.secondary-actions .monaco-action-bar .action-label {\\n\\tmargin-left: 6px;\\n}\\n\\n/* Action Items */\\n.monaco-action-bar .action-item.select-container {\\n\\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\\n\\tflex: 1;\\n\\tmax-width: 170px;\\n\\tmin-width: 60px;\\n\\tmargin-right: 10px;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-builder-hidden {\\n\\tdisplay: none !important;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-select-box {\\n\\twidth: 100%;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-select-box-dropdown-container {\\n\\tdisplay: none;\\n}\\n\\n.monaco-select-box-dropdown-container.visible {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\ttext-align: left;\\n\\twidth: 1px;\\n\\toverflow: hidden;\\n}\\n\\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\\n\\tflex: 0 0 auto;\\n\\talign-self: flex-start;\\n\\tpadding-bottom: 1px;\\n\\tpadding-top: 1px;\\n\\tpadding-left: 1px;\\n\\tpadding-right: 1px;\\n\\twidth: 100%;\\n\\toverflow: hidden;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n}\\n\\n.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\\n\\tpadding-bottom: 4px;\\n\\tpadding-top: 3px;\\n}\\n\\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {\\n\\ttext-overflow: ellipsis;\\n\\toverflow: hidden;\\n\\tpadding-left: 3.5px;\\n\\twhite-space: nowrap;\\n}\\n\\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {\\n\\tflex: 1 1 auto;\\n\\talign-self: flex-start;\\n\\topacity: 0;\\n}\\n\\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {\\n\\toverflow: hidden;\\n\\tmax-height: 0px;\\n}\\n\\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {\\n\\tpadding-left: 4px;\\n\\tpadding-right: 8px;\\n\\twhite-space: nowrap;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-list {\\n\\tposition: relative;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\twhite-space: nowrap;\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: -moz-none;\\n\\t-ms-user-select: none;\\n\\t-o-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n.monaco-list > .monaco-scrollable-element {\\n\\theight: 100%;\\n}\\n\\n.monaco-list-rows {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.monaco-list-row {\\n\\tposition: absolute;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\tcursor: pointer;\\n\\toverflow: hidden;\\n\\twidth: 100%;\\n\\ttouch-action: none;\\n}\\n\\n/* for OS X ballistic scrolling */\\n.monaco-list-row.scrolling {\\n\\tdisplay: none !important;\\n}\\n\\n/* Focus */\\n.monaco-list.element-focused, .monaco-list.selection-single, .monaco-list.selection-multiple {\\n\\toutline: 0 !important;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor.vs .dnd-target {\\n\\tborder-right: 2px dotted black;\\n\\tcolor: white; /* opposite of black */\\n}\\n.monaco-editor.vs-dark .dnd-target {\\n\\tborder-right: 2px dotted #AEAFAD;\\n\\tcolor: #51504f; /* opposite of #AEAFAD */\\n}\\n.monaco-editor.hc-black .dnd-target {\\n\\tborder-right: 2px dotted #fff;\\n\\tcolor: #000; /* opposite of #fff */\\n}\\n\\n.monaco-editor.mouse-default .view-lines,\\n.monaco-editor.vs-dark.mac.mouse-default .view-lines,\\n.monaco-editor.hc-black.mac.mouse-default .view-lines {\\n\\tcursor: default;\\n}\\n.monaco-editor.mouse-copy .view-lines,\\n.monaco-editor.vs-dark.mac.mouse-copy .view-lines,\\n.monaco-editor.hc-black.mac.mouse-copy .view-lines {\\n\\tcursor: copy;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* Checkbox */\\n\\n.monaco-checkbox .label {\\n\\twidth: 12px;\\n\\theight: 12px;\\n\\tborder: 1px solid black;\\n\\tbackground-color: transparent;\\n\\tdisplay: inline-block;\\n}\\n\\n.monaco-checkbox .checkbox {\\n\\tposition: absolute;\\n\\toverflow: hidden;\\n\\tclip: rect(0 0 0 0);\\n\\theight: 1px;\\n\\twidth: 1px;\\n\\tmargin: -1px;\\n\\tpadding: 0;\\n\\tborder: 0;\\n}\\n\\n.monaco-checkbox .checkbox:checked + .label {\\n\\tbackground-color: black;\\n}\\n\\n/* Find widget */\\n.monaco-editor .find-widget {\\n\\tposition: absolute;\\n\\tz-index: 10;\\n\\ttop: -44px; /* find input height + shadow (10px) */\\n\\theight: 34px; /* find input height */\\n\\toverflow: hidden;\\n\\tline-height: 19px;\\n\\n\\t-webkit-transition: top 200ms linear;\\n\\t-o-transition: top 200ms linear;\\n\\t-moz-transition: top 200ms linear;\\n\\t-ms-transition: top 200ms linear;\\n\\ttransition: top 200ms linear;\\n\\n\\tpadding: 0 4px;\\n}\\n/* Find widget when replace is toggled on */\\n.monaco-editor .find-widget.replaceToggled {\\n\\ttop: -74px; /* find input height + replace input height + shadow (10px) */\\n\\theight: 64px; /* find input height + replace input height */\\n}\\n.monaco-editor .find-widget.replaceToggled > .replace-part {\\n\\tdisplay: flex;\\n\\tdisplay: -webkit-flex;\\n\\talign-items: center;\\n}\\n\\n.monaco-editor .find-widget.visible,\\n.monaco-editor .find-widget.replaceToggled.visible {\\n\\ttop: 0;\\n}\\n\\n.monaco-editor .find-widget .monaco-inputbox .input {\\n\\tbackground-color: transparent;\\n\\t/* Style to compensate for //winjs */\\n\\tmin-height: 0;\\n}\\n\\n.monaco-editor .find-widget .replace-input .input {\\n\\tfont-size: 13px;\\n}\\n\\n.monaco-editor .find-widget > .find-part,\\n.monaco-editor .find-widget > .replace-part {\\n\\tmargin: 4px 0 0 17px;\\n\\tfont-size: 12px;\\n\\tdisplay: flex;\\n\\tdisplay: -webkit-flex;\\n\\talign-items: center;\\n}\\n\\n.monaco-editor .find-widget > .find-part .monaco-inputbox,\\n.monaco-editor .find-widget > .replace-part .monaco-inputbox {\\n\\theight: 25px;\\n}\\n\\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .wrapper > .input {\\n\\twidth: 100% !important;\\n\\tpadding-right: 66px;\\n}\\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .wrapper > .input,\\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .wrapper > .input {\\n\\tpadding-top: 2px;\\n\\tpadding-bottom: 2px;\\n}\\n\\n.monaco-editor .find-widget .monaco-findInput {\\n\\tvertical-align: middle;\\n\\tdisplay: flex;\\n\\tdisplay: -webkit-flex;\\n\\tflex:1;\\n}\\n\\n.monaco-editor .find-widget .matchesCount {\\n\\tdisplay: flex;\\n\\tdisplay: -webkit-flex;\\n\\tflex: initial;\\n\\tmargin: 0 1px 0 3px;\\n\\tpadding: 2px 2px 0 2px;\\n\\theight: 25px;\\n\\tvertical-align: middle;\\n\\tbox-sizing: border-box;\\n\\ttext-align: center;\\n\\tline-height: 23px;\\n}\\n\\n.monaco-editor .find-widget .button {\\n\\tmin-width: 20px;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\tdisplay: flex;\\n\\tdisplay: -webkit-flex;\\n\\tflex: initial;\\n\\tmargin-left: 3px;\\n\\tbackground-position: center center;\\n\\tbackground-repeat: no-repeat;\\n\\tcursor: pointer;\\n}\\n\\n.monaco-editor .find-widget .button:not(.disabled):hover {\\n\\tbackground-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.monaco-editor .find-widget .button.left {\\n\\tmargin-left: 0;\\n\\tmargin-right: 3px;\\n}\\n\\n.monaco-editor .find-widget .button.wide {\\n\\twidth: auto;\\n\\tpadding: 1px 6px;\\n\\ttop: -1px;\\n}\\n\\n.monaco-editor .find-widget .button.toggle {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\twidth: 18px;\\n\\theight: 100%;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n}\\n\\n.monaco-editor .find-widget .button.toggle.disabled {\\n\\tdisplay: none;\\n}\\n\\n.monaco-editor .find-widget .previous {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iLTEgLTMgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTEgLTMgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cG9seWdvbiBmaWxsPSIjNDI0MjQyIiBwb2ludHM9IjEzLDQgNiw0IDksMSA2LDEgMiw1IDYsOSA5LDkgNiw2IDEzLDYgIi8+Cjwvc3ZnPgo=\");\\n}\\n\\n.monaco-editor .find-widget .next {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iLTEgLTMgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTEgLTMgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMSw0aDdMNSwxaDNsNCw0TDgsOUg1bDMtM0gxVjR6Ii8+Cjwvc3ZnPgo=\");\\n}\\n\\n.monaco-editor .find-widget .disabled {\\n\\topacity: 0.3;\\n\\tcursor: default;\\n}\\n\\n.monaco-editor .find-widget .monaco-checkbox {\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n\\tmargin-left: 3px;\\n}\\n\\n.monaco-editor .find-widget .monaco-checkbox .label {\\n\\tcontent: \\'\\';\\n\\tdisplay: inline-block;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: 0 0;\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+CjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwMzIuMzYyMikiPgogIDxyZWN0IHdpZHRoPSI5IiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjEwNDYuMzYyMiIgc3R5bGU9ImZpbGw6IzQyNDI0MjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICA8cmVjdCB3aWR0aD0iMTMiIGhlaWdodD0iMiIgeD0iMiIgeT0iMTA0My4zNjIyIiBzdHlsZT0iZmlsbDojNDI0MjQyO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgogIDxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjEwNDAuMzYyMiIgc3R5bGU9ImZpbGw6IzQyNDI0MjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICA8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iMiIgeD0iMiIgeT0iMTAzNy4zNjIyIiBzdHlsZT0iZmlsbDojNDI0MjQyO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L2c+Cjwvc3ZnPg==\");\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\tborder: none;\\n}\\n\\n.monaco-editor .find-widget .monaco-checkbox .checkbox:disabled + .label {\\n\\topacity: 0.3;\\n\\tcursor: default;\\n}\\n\\n.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled) + .label {\\n\\tcursor: pointer;\\n}\\n\\n.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before + .label {\\n\\tbackground-color: #DDD;\\n}\\n\\n.monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label {\\n\\tbackground-color: rgba(100, 100, 100, 0.2);\\n}\\n\\n.monaco-editor .find-widget .close-fw {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iIzQyNDI0MiIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\");\\n}\\n\\n.monaco-editor .find-widget .expand {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTExIDEwLjA3aC01LjY1Nmw1LjY1Ni01LjY1NnY1LjY1NnoiLz48L3N2Zz4=\");\\n}\\n\\n.monaco-editor .find-widget .collapse {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRsMS41ODYgMS41ODYtMS41ODYgMS41ODZ2LTMuMTcyeiIvPjwvc3ZnPg==\");\\n}\\n\\n.monaco-editor .find-widget .replace {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTZweCIKCSBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iaWNvbl94NUZfYmciPgoJPGc+CgkJPHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTExLDNWMWgtMXY1djFoMWgyaDFWNFYzSDExeiBNMTMsNmgtMlY0aDJWNnoiLz4KCQk8cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMiwxNWg3VjlIMlYxNXogTTQsMTBoM3YxSDV2MmgydjFINFYxMHoiLz4KCTwvZz4KPC9nPgo8ZyBpZD0iY29sb3JfeDVGX2ltcG9ydGFuY2UiPgoJPHBhdGggZmlsbD0iIzAwNTM5QyIgZD0iTTMuOTc5LDMuNUw0LDZMMyw1djEuNUw0LjUsOEw2LDYuNVY1TDUsNkw0Ljk3OSwzLjVjMC0wLjI3NSwwLjIyNS0wLjUsMC41LTAuNUg5VjJINS40NzkKCQlDNC42NTEsMiwzLjk3OSwyLjY3MywzLjk3OSwzLjV6Ii8+CjwvZz4KPC9zdmc+Cg==\");\\n}\\n\\n.monaco-editor .find-widget .replace-all {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTZweCIKCSBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iaWNvbl94NUZfYmciPgoJPHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTExLDE1VjlIMXY2SDExeiBNMiwxNHYtMmgxdi0xSDJ2LTFoM3Y0SDJ6IE0xMCwxMUg4djJoMnYxSDd2LTRoM1YxMXogTTMsMTN2LTFoMXYxSDN6IE0xMyw3djZoLTFWOEg1VjcKCQlIMTN6IE0xMywyVjFoLTF2NWgzVjJIMTN6IE0xNCw1aC0xVjNoMVY1eiBNMTEsMnY0SDhWNGgxdjFoMVY0SDlWM0g4VjJIMTF6Ii8+CjwvZz4KPGcgaWQ9ImNvbG9yX3g1Rl9hY3Rpb24iPgoJPHBhdGggZmlsbD0iIzAwNTM5QyIgZD0iTTEuOTc5LDMuNUwyLDZMMSw1djEuNUwyLjUsOEw0LDYuNVY1TDMsNkwyLjk3OSwzLjVjMC0wLjI3NSwwLjIyNS0wLjUsMC41LTAuNUg3VjJIMy40NzkKCQlDMi42NTEsMiwxLjk3OSwyLjY3MywxLjk3OSwzLjV6Ii8+CjwvZz4KPC9zdmc+Cg==\");\\n}\\n\\n.monaco-editor .find-widget > .replace-part {\\n\\tdisplay: none;\\n}\\n\\n.monaco-editor .find-widget > .replace-part > .replace-input {\\n\\tdisplay: flex;\\n\\tdisplay: -webkit-flex;\\n\\tvertical-align: middle;\\n\\twidth: auto !important;\\n}\\n\\n/* REDUCED */\\n.monaco-editor .find-widget.reduced-find-widget .matchesCount,\\n.monaco-editor .find-widget.reduced-find-widget .monaco-checkbox {\\n\\tdisplay:none;\\n}\\n\\n/* NARROW (SMALLER THAN REDUCED) */\\n.monaco-editor .find-widget.narrow-find-widget {\\n\\tmax-width: 257px !important;\\n}\\n\\n/* COLLAPSED (SMALLER THAN NARROW) */\\n.monaco-editor .find-widget.collapsed-find-widget {\\n\\tmax-width: 111px !important;\\n}\\n\\n.monaco-editor .find-widget.collapsed-find-widget .button.previous,\\n.monaco-editor .find-widget.collapsed-find-widget .button.next,\\n.monaco-editor .find-widget.collapsed-find-widget .button.replace,\\n.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,\\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {\\n\\tdisplay:none;\\n}\\n\\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-inputbox > .wrapper > .input {\\n\\tpadding-right: 0px;\\n}\\n\\n.monaco-editor .findMatch {\\n\\t-webkit-animation-duration: 0;\\n\\t-webkit-animation-name: inherit !important;\\n\\t-moz-animation-duration: 0;\\n\\t-moz-animation-name: inherit !important;\\n\\t-ms-animation-duration: 0;\\n\\t-ms-animation-name: inherit !important;\\n\\tanimation-duration: 0;\\n\\tanimation-name: inherit !important;\\n}\\n\\n.monaco-editor .find-widget .monaco-sash {\\n\\twidth: 2px !important;\\n\\tmargin-left: -4px;\\n}\\n\\n.monaco-editor.hc-black .find-widget .previous,\\n.monaco-editor.vs-dark .find-widget .previous {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iLTEgLTMgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTEgLTMgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cG9seWdvbiBmaWxsPSIjQzVDNUM1IiBwb2ludHM9IjEzLDQgNiw0IDksMSA2LDEgMiw1IDYsOSA5LDkgNiw2IDEzLDYgIi8+Cjwvc3ZnPgo=\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .next,\\n.monaco-editor.vs-dark .find-widget .next {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iLTEgLTMgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTEgLTMgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjQzVDNUM1IiBkPSJNMSw0aDdMNSwxaDNsNCw0TDgsOUg1bDMtM0gxVjR6Ii8+Cjwvc3ZnPgo=\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .monaco-checkbox .label,\\n.monaco-editor.vs-dark .find-widget .monaco-checkbox .label {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+CjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwMzIuMzYyMikiPgogIDxyZWN0IHdpZHRoPSI5IiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjEwNDYuMzYyMiIgc3R5bGU9ImZpbGw6I0M1QzVDNTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICA8cmVjdCB3aWR0aD0iMTMiIGhlaWdodD0iMiIgeD0iMiIgeT0iMTA0My4zNjIyIiBzdHlsZT0iZmlsbDojQzVDNUM1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgogIDxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjEwNDAuMzYyMiIgc3R5bGU9ImZpbGw6I0M1QzVDNTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICA8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iMiIgeD0iMiIgeT0iMTAzNy4zNjIyIiBzdHlsZT0iZmlsbDojQzVDNUM1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L2c+Cjwvc3ZnPg==\");\\n}\\n\\n.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before + .label {\\n\\tbackground-color: rgba(255, 255, 255, 0.1);\\n}\\n\\n.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:checked + .label {\\n\\tbackground-color: rgba(255, 255, 255, 0.1);\\n}\\n\\n.monaco-editor.hc-black .find-widget .close-fw,\\n.monaco-editor.vs-dark .find-widget .close-fw {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iI2U4ZThlOCIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .replace,\\n.monaco-editor.vs-dark .find-widget .replace {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTZweCIKCSBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iaWNvbl94NUZfYmciPgoJPGc+CgkJPHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTExLDNWMWgtMXY1djFoMWgyaDFWNFYzSDExeiBNMTMsNmgtMlY0aDJWNnoiLz4KCQk8cGF0aCBmaWxsPSIjQzVDNUM1IiBkPSJNMiwxNWg3VjlIMlYxNXogTTQsMTBoM3YxSDV2MmgydjFINFYxMHoiLz4KCTwvZz4KPC9nPgo8ZyBpZD0iY29sb3JfeDVGX2ltcG9ydGFuY2UiPgoJPHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTMuOTc5LDMuNUw0LDZMMyw1djEuNUw0LjUsOEw2LDYuNVY1TDUsNkw0Ljk3OSwzLjVjMC0wLjI3NSwwLjIyNS0wLjUsMC41LTAuNUg5VjJINS40NzkKCQlDNC42NTEsMiwzLjk3OSwyLjY3MywzLjk3OSwzLjV6Ii8+CjwvZz4KPC9zdmc+Cg==\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .replace-all,\\n.monaco-editor.vs-dark .find-widget .replace-all {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTZweCIKCSBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iaWNvbl94NUZfYmciPgoJPHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTExLDE1VjlIMXY2SDExeiBNMiwxNHYtMmgxdi0xSDJ2LTFoM3Y0SDJ6IE0xMCwxMUg4djJoMnYxSDd2LTRoM1YxMXogTTMsMTN2LTFoMXYxSDN6IE0xMyw3djZoLTFWOEg1VjcKCQlIMTN6IE0xMywyVjFoLTF2NWgzVjJIMTN6IE0xNCw1aC0xVjNoMVY1eiBNMTEsMnY0SDhWNGgxdjFoMVY0SDlWM0g4VjJIMTF6Ii8+CjwvZz4KPGcgaWQ9ImNvbG9yX3g1Rl9hY3Rpb24iPgoJPHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTEuOTc5LDMuNUwyLDZMMSw1djEuNUwyLjUsOEw0LDYuNVY1TDMsNkwyLjk3OSwzLjVjMC0wLjI3NSwwLjIyNS0wLjUsMC41LTAuNUg3VjJIMy40NzkKCQlDMi42NTEsMiwxLjk3OSwyLjY3MywxLjk3OSwzLjV6Ii8+CjwvZz4KPC9zdmc+Cg==\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .expand,\\n.monaco-editor.vs-dark .find-widget .expand {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2U4ZThlOCIgZD0iTTExIDEwLjA3aC01LjY1Nmw1LjY1Ni01LjY1NnY1LjY1NnoiLz48L3N2Zz4=\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .collapse,\\n.monaco-editor.vs-dark .find-widget .collapse {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2U4ZThlOCIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRsMS41ODYgMS41ODYtMS41ODYgMS41ODZ2LTMuMTcyeiIvPjwvc3ZnPg==\");\\n}\\n\\n.monaco-editor.hc-black .find-widget .button:not(.disabled):hover,\\n.monaco-editor.vs-dark .find-widget .button:not(.disabled):hover {\\n\\tbackground-color: rgba(255, 255, 255, 0.1);\\n}\\n\\n.monaco-editor.hc-black .find-widget .button:before {\\n\\tposition: relative;\\n\\ttop: 1px;\\n\\tleft: 2px;\\n}\\n\\n.monaco-editor.hc-black .find-widget .monaco-checkbox .checkbox:checked + .label {\\n\\tbackground-color: rgba(255, 255, 255, 0.1);\\n}\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n/* ---------- Find input ---------- */\\n\\n.monaco-findInput {\\n\\tposition: relative;\\n}\\n\\n.monaco-findInput .monaco-inputbox {\\n\\tfont-size: 13px;\\n\\twidth: 100%;\\n\\theight: 25px;\\n}\\n\\n.monaco-findInput > .controls {\\n\\tposition: absolute;\\n\\ttop: 3px;\\n\\tright: 2px;\\n}\\n\\n.vs .monaco-findInput.disabled {\\n\\tbackground-color: #E1E1E1;\\n}\\n\\n/* Theming */\\n.vs-dark .monaco-findInput.disabled {\\n\\tbackground-color: #333;\\n}\\n\\n/* Highlighting */\\n.monaco-findInput.highlight-0 .controls {\\n\\tanimation: monaco-findInput-highlight-0 100ms linear 0s;\\n}\\n.monaco-findInput.highlight-1 .controls {\\n\\tanimation: monaco-findInput-highlight-1 100ms linear 0s;\\n}\\n.hc-black .monaco-findInput.highlight-0 .controls,\\n.vs-dark  .monaco-findInput.highlight-0 .controls {\\n\\tanimation: monaco-findInput-highlight-dark-0 100ms linear 0s;\\n}\\n.hc-black .monaco-findInput.highlight-1 .controls,\\n.vs-dark  .monaco-findInput.highlight-1 .controls {\\n\\tanimation: monaco-findInput-highlight-dark-1 100ms linear 0s;\\n}\\n\\n@keyframes monaco-findInput-highlight-0 {\\n\\t0% { background: rgba(253, 255, 0, 0.8); }\\n\\t100% { background: transparent; }\\n}\\n@keyframes monaco-findInput-highlight-1 {\\n\\t0% { background: rgba(253, 255, 0, 0.8); }\\n\\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\\n\\t99% { background: transparent; }\\n}\\n\\n@keyframes monaco-findInput-highlight-dark-0 {\\n\\t0% { background: rgba(255, 255, 255, 0.44); }\\n\\t100% { background: transparent; }\\n}\\n@keyframes monaco-findInput-highlight-dark-1 {\\n\\t0% { background: rgba(255, 255, 255, 0.44); }\\n\\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\\n\\t99% { background: transparent; }\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-inputbox {\\n\\tposition: relative;\\n\\tdisplay: block;\\n\\tpadding: 0;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\tline-height: auto !important;\\n\\n\\t/* Customizable */\\n\\tfont-size: inherit;\\n}\\n\\n.monaco-inputbox.idle {\\n\\tborder: 1px solid transparent;\\n}\\n\\n.monaco-inputbox > .wrapper > .input,\\n.monaco-inputbox > .wrapper > .mirror {\\n\\n\\t/* Customizable */\\n\\tpadding: 4px;\\n}\\n\\n.monaco-inputbox > .wrapper {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.monaco-inputbox > .wrapper > .input {\\n\\tdisplay: inline-block;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tline-height: inherit;\\n\\tborder: none;\\n\\tfont-family: inherit;\\n\\tfont-size: inherit;\\n\\tresize: none;\\n\\tcolor: inherit;\\n}\\n\\n.monaco-inputbox > .wrapper > input {\\n\\ttext-overflow: ellipsis;\\n}\\n\\n.monaco-inputbox > .wrapper > textarea.input {\\n\\tdisplay: block;\\n\\toverflow: hidden;\\n}\\n\\n.monaco-inputbox > .wrapper > .mirror {\\n\\tposition: absolute;\\n\\tdisplay: inline-block;\\n\\twidth: 100%;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\twhite-space: pre-wrap;\\n\\tvisibility: hidden;\\n\\tmin-height: 26px;\\n\\tword-wrap: break-word;\\n}\\n\\n/* Context view */\\n\\n.monaco-inputbox-container {\\n\\ttext-align: right;\\n}\\n\\n.monaco-inputbox-container .monaco-inputbox-message {\\n\\tdisplay: inline-block;\\n\\toverflow: hidden;\\n\\ttext-align: left;\\n\\twidth: 100%;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\tpadding: 0.4em;\\n\\tfont-size: 12px;\\n\\tline-height: 17px;\\n\\tmin-height: 34px;\\n\\tmargin-top: -1px;\\n\\tword-wrap: break-word;\\n}\\n\\n/* Action bar support */\\n.monaco-inputbox .monaco-action-bar {\\n\\tposition: absolute;\\n\\tright: 2px;\\n\\ttop: 4px;\\n}\\n\\n.monaco-inputbox .monaco-action-bar .action-item {\\n\\tmargin-left: 2px;\\n}\\n\\n.monaco-inputbox .monaco-action-bar .action-item .icon {\\n\\tbackground-repeat: no-repeat;\\n\\twidth: 16px;\\n\\theight: 16px;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-aria-container {\\n\\tposition: absolute; /* try to hide from window but not from screen readers */\\n\\tleft:-999em;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.context-view {\\n\\tposition: absolute;\\n\\tz-index: 1000;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.vs .monaco-custom-checkbox.monaco-case-sensitive {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe29wYWNpdHk6MDtmaWxsOiNGNkY2RjY7fSAuc3Qxe2ZpbGw6I0Y2RjZGNjt9IC5zdDJ7ZmlsbDojNDI0MjQyO308L3N0eWxlPjxnIGlkPSJvdXRsaW5lIj48cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTQuMTc2IDUuNTkyYy0uNTU1LS42LTEuMzM2LS45MDQtMi4zMjItLjkwNC0uMjU4IDAtLjUyMS4wMjQtLjc4NC4wNzItLjI0Ni4wNDQtLjQ3OS4xMDEtLjcuMTY5LS4yMjguMDctLjQzMi4xNDctLjYxMy4yMjktLjIyLjA5OS0uMzg5LjE5Ni0uNTEyLjI4NGwtLjQxOS4yOTl2Mi43MDFjLS4wODYuMTA4LS4xNjIuMjIzLS4yMjkuMzQ0bC0yLjQ1LTYuMzU0aC0yLjM5NGwtMy43NTMgOS44MDR2LjU5OGgzLjAyNWwuODM4LTIuMzVoMi4xNjdsLjg5MSAyLjM1aDMuMjM3bC0uMDAxLS4wMDNjLjMwNS4wOTIuNjMzLjE1Ljk5My4xNS4zNDQgMCAuNjcxLS4wNDkuOTc4LS4xNDZoMi44NTN2LTQuOTAzYy0uMDAxLS45NzUtLjI3MS0xLjc2My0uODA1LTIuMzR6Ii8+PC9nPjxnIGlkPSJpY29uX3g1Rl9iZyI+PHBhdGggY2xhc3M9InN0MiIgZD0iTTcuNjExIDExLjgzNGwtLjg5MS0yLjM1aC0zLjU2MmwtLjgzOCAyLjM1aC0xLjA5NWwzLjIxNy04LjQwMmgxLjAybDMuMjQgOC40MDJoLTEuMDkxem0tMi41MzEtNi44MTRsLS4wNDQtLjEzNS0uMDM4LS4xNTYtLjAyOS0uMTUyLS4wMjQtLjEyNmgtLjAyM2wtLjAyMS4xMjYtLjAzMi4xNTItLjAzOC4xNTYtLjA0NC4xMzUtMS4zMDcgMy41NzRoMi45MThsLTEuMzE4LTMuNTc0eiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMy4wMiAxMS44MzR2LS45MzhoLS4wMjNjLS4xOTkuMzUyLS40NTYuNjItLjc3MS44MDZzLS42NzMuMjc4LTEuMDc1LjI3OGMtLjMxMyAwLS41ODgtLjA0NS0uODI2LS4xMzVzLS40MzgtLjIxMi0uNTk4LS4zNjYtLjI4MS0uMzM4LS4zNjMtLjU1MS0uMTI0LS40NDItLjEyNC0uNjg4YzAtLjI2Mi4wMzktLjUwMi4xMTctLjcyMXMuMTk4LS40MTIuMzYtLjU4LjM2Ny0uMzA4LjYxNS0uNDE5LjU0NC0uMTkuODg4LS4yMzdsMS44MTEtLjI1MmMwLS4yNzMtLjAyOS0uNTA3LS4wODgtLjdzLS4xNDMtLjM1MS0uMjUyLS40NzItLjI0MS0uMjEtLjM5Ni0uMjY3LS4zMjUtLjA4NS0uNTEzLS4wODVjLS4zNjMgMC0uNzE0LjA2NC0xLjA1Mi4xOTNzLS42MzguMzEtLjkwNC41NHYtLjk4NGMuMDgyLS4wNTkuMTk2LS4xMjEuMzQzLS4xODhzLjMxMi0uMTI4LjQ5NS0uMTg1LjM3OC0uMTA0LjU4My0uMTQxLjQwNy0uMDU2LjYwNi0uMDU2Yy42OTkgMCAxLjIyOS4xOTQgMS41ODguNTgzcy41MzkuOTQyLjUzOSAxLjY2MXYzLjkwMmgtLjk2em0tMS40NTQtMi44M2MtLjI3My4wMzUtLjQ5OC4wODUtLjY3NC4xNDlzLS4zMTMuMTQ0LS40MS4yMzctLjE2NS4yMDUtLjIwMi4zMzQtLjA1NS4yNzYtLjA1NS40NGMwIC4xNDEuMDI1LjI3MS4wNzYuMzkzcy4xMjQuMjI3LjIyLjMxNi4yMTUuMTYuMzU3LjIxMS4zMDguMDc2LjQ5NS4wNzZjLjI0MiAwIC40NjUtLjA0NS42NjgtLjEzNXMuMzc4LS4yMTQuNTI0LS4zNzIuMjYxLS4zNDQuMzQzLS41NTcuMTIzLS40NDIuMTIzLS42ODh2LS42MDlsLTEuNDY1LjIwNXoiLz48L2c+PC9zdmc+\") center center no-repeat;\\n}\\n.hc-black .monaco-custom-checkbox.monaco-case-sensitive,\\n.hc-black .monaco-custom-checkbox.monaco-case-sensitive:hover,\\n.vs-dark .monaco-custom-checkbox.monaco-case-sensitive {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe29wYWNpdHk6MDtmaWxsOiMyNjI2MjY7fSAuc3Qxe2ZpbGw6IzI2MjYyNjt9IC5zdDJ7ZmlsbDojQzVDNUM1O308L3N0eWxlPjxnIGlkPSJvdXRsaW5lIj48cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTQuMTc2IDUuNTkyYy0uNTU1LS42LTEuMzM2LS45MDQtMi4zMjItLjkwNC0uMjU4IDAtLjUyMS4wMjQtLjc4NC4wNzItLjI0Ni4wNDQtLjQ3OS4xMDEtLjcuMTY5LS4yMjguMDctLjQzMi4xNDctLjYxMy4yMjktLjIyLjA5OS0uMzg5LjE5Ni0uNTEyLjI4NGwtLjQxOS4yOTl2Mi43MDFjLS4wODYuMTA4LS4xNjIuMjIzLS4yMjkuMzQ0bC0yLjQ1LTYuMzU0aC0yLjM5NGwtMy43NTMgOS44MDR2LjU5OGgzLjAyNWwuODM4LTIuMzVoMi4xNjdsLjg5MSAyLjM1aDMuMjM3bC0uMDAxLS4wMDNjLjMwNS4wOTIuNjMzLjE1Ljk5My4xNS4zNDQgMCAuNjcxLS4wNDkuOTc4LS4xNDZoMi44NTN2LTQuOTAzYy0uMDAxLS45NzUtLjI3MS0xLjc2My0uODA1LTIuMzR6Ii8+PC9nPjxnIGlkPSJpY29uX3g1Rl9iZyI+PHBhdGggY2xhc3M9InN0MiIgZD0iTTcuNjExIDExLjgzNGwtLjg5MS0yLjM1aC0zLjU2MmwtLjgzOCAyLjM1aC0xLjA5NWwzLjIxNy04LjQwMmgxLjAybDMuMjQgOC40MDJoLTEuMDkxem0tMi41MzEtNi44MTRsLS4wNDQtLjEzNS0uMDM4LS4xNTYtLjAyOS0uMTUyLS4wMjQtLjEyNmgtLjAyM2wtLjAyMS4xMjYtLjAzMi4xNTItLjAzOC4xNTYtLjA0NC4xMzUtMS4zMDcgMy41NzRoMi45MThsLTEuMzE4LTMuNTc0eiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMy4wMiAxMS44MzR2LS45MzhoLS4wMjNjLS4xOTkuMzUyLS40NTYuNjItLjc3MS44MDZzLS42NzMuMjc4LTEuMDc1LjI3OGMtLjMxMyAwLS41ODgtLjA0NS0uODI2LS4xMzVzLS40MzgtLjIxMi0uNTk4LS4zNjYtLjI4MS0uMzM4LS4zNjMtLjU1MS0uMTI0LS40NDItLjEyNC0uNjg4YzAtLjI2Mi4wMzktLjUwMi4xMTctLjcyMXMuMTk4LS40MTIuMzYtLjU4LjM2Ny0uMzA4LjYxNS0uNDE5LjU0NC0uMTkuODg4LS4yMzdsMS44MTEtLjI1MmMwLS4yNzMtLjAyOS0uNTA3LS4wODgtLjdzLS4xNDMtLjM1MS0uMjUyLS40NzItLjI0MS0uMjEtLjM5Ni0uMjY3LS4zMjUtLjA4NS0uNTEzLS4wODVjLS4zNjMgMC0uNzE0LjA2NC0xLjA1Mi4xOTNzLS42MzguMzEtLjkwNC41NHYtLjk4NGMuMDgyLS4wNTkuMTk2LS4xMjEuMzQzLS4xODhzLjMxMi0uMTI4LjQ5NS0uMTg1LjM3OC0uMTA0LjU4My0uMTQxLjQwNy0uMDU2LjYwNi0uMDU2Yy42OTkgMCAxLjIyOS4xOTQgMS41ODguNTgzcy41MzkuOTQyLjUzOSAxLjY2MXYzLjkwMmgtLjk2em0tMS40NTQtMi44M2MtLjI3My4wMzUtLjQ5OC4wODUtLjY3NC4xNDlzLS4zMTMuMTQ0LS40MS4yMzctLjE2NS4yMDUtLjIwMi4zMzQtLjA1NS4yNzYtLjA1NS40NGMwIC4xNDEuMDI1LjI3MS4wNzYuMzkzcy4xMjQuMjI3LjIyLjMxNi4yMTUuMTYuMzU3LjIxMS4zMDguMDc2LjQ5NS4wNzZjLjI0MiAwIC40NjUtLjA0NS42NjgtLjEzNXMuMzc4LS4yMTQuNTI0LS4zNzIuMjYxLS4zNDQuMzQzLS41NTcuMTIzLS40NDIuMTIzLS42ODh2LS42MDlsLTEuNDY1LjIwNXoiLz48L2c+PC9zdmc+\") center center no-repeat;\\n}\\n\\n.vs .monaco-custom-checkbox.monaco-whole-word {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe29wYWNpdHk6MDtmaWxsOiNGNkY2RjY7fSAuc3Qxe2ZpbGw6I0Y2RjZGNjt9IC5zdDJ7ZmlsbDojNDI0MjQyO308L3N0eWxlPjxnIGlkPSJvdXRsaW5lIj48cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTYgNC4wMjJ2LTMuMDIyaC0xNi4wMTR2My4wMjJoMy4wNDZsLTMuMDQzIDcuOTQ1aC0uMDA0di4wMWwuMDE1IDEuMDIzaC0uMDE0djEuOTkxaDE2LjAxNHYtMy4wMjNoLTF2LTcuOTQ2aDF6bS01LjkxNCA1LjMwMWMwIC4yMzMtLjAyMy40NDEtLjA2Ni41OTUtLjA0Ny4xNjQtLjA5OS4yNDctLjEyNy4yODRsLS4wNzguMDY5LS4xNTEuMDI2LS4xMTUtLjAxNy0uMTM5LS4xMzdjLS4wMzEtLjA3OC0uMTEyLS4zMzItLjExMi0uNTY2IDAtLjI1NC4wOTEtLjU2MS4xMjYtLjY1NmwuMDY5LS4xNDEuMTA5LS4wODIuMTc4LS4wMjdjLjA3NyAwIC4xMTcuMDE0LjE3Ny4wNTZsLjA4Ny4xNzkuMDUxLjIzNy0uMDA5LjE4em0tMy42OTUtNS4zMDF2Mi44OTNsLTEuMTE2LTIuODkzaDEuMTE2em0tMy4wMjYgNy4wMmgxLjU3M2wuMzUxLjkyNmgtMi4yNTRsLjMzLS45MjZ6bTguNjM1LTQuMzU0Yy0uMjA2LS4yLS40MzEtLjM4LS42OTUtLjUxMi0uMzk2LS4xOTgtLjg1My0uMjk4LTEuMzU1LS4yOTgtLjIxNSAwLS40MjMuMDItLjYyMS4wNTh2LTEuOTE0aDIuNjcxdjIuNjY2eiIvPjwvZz48ZyBpZD0iaWNvbl94NUZfYmciPjxyZWN0IHg9IjEzIiB5PSI0IiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTExLjIyNSA4LjM4N2MtLjA3OC0uMjk5LS4xOTktLjU2Mi0uMzYtLjc4NnMtLjM2NS0uNDAxLS42MDktLjUzLS41MzQtLjE5My0uODY2LS4xOTNjLS4xOTggMC0uMzguMDI0LS41NDcuMDczLS4xNjUuMDQ5LS4zMTYuMTE3LS40NTMuMjA1LS4xMzYuMDg4LS4yNTcuMTk0LS4zNjUuMzE4bC0uMTc5LjI1OHYtMy4xNTRoLS44OTN2Ny40MjJoLjg5M3YtLjU3NWwuMTI2LjE3NWMuMDg3LjEwMi4xODkuMTkuMzA0LjI2OS4xMTcuMDc4LjI0OS4xNC4zOTguMTg2LjE0OS4wNDYuMzE0LjA2OC40OTguMDY4LjM1MyAwIC42NjYtLjA3MS45MzctLjIxMi4yNzItLjE0My40OTktLjMzOC42ODItLjU4Ni4xODMtLjI1LjMyMS0uNTQzLjQxNC0uODc5LjA5My0uMzM4LjE0LS43MDMuMTQtMS4wOTctLjAwMS0uMzQyLS4wNC0uNjYzLS4xMi0uOTYyem0tMS40NzktLjYwN2MuMTUxLjA3MS4yODIuMTc2LjM5LjMxNC4xMDkuMTQuMTk0LjMxMy4yNTUuNTE3LjA1MS4xNzQuMDgyLjM3MS4wODkuNTg3bC0uMDA3LjEyNWMwIC4zMjctLjAzMy42Mi0uMS44NjktLjA2Ny4yNDYtLjE2MS40NTMtLjI3OC42MTQtLjExNy4xNjItLjI2LjI4NS0uNDIxLjM2Ni0uMzIyLjE2Mi0uNzYuMTY2LTEuMDY5LjAxNS0uMTUzLS4wNzUtLjI4Ni0uMTc1LS4zOTMtLjI5Ni0uMDg1LS4wOTYtLjE1Ni0uMjE2LS4yMTgtLjM2NyAwIDAtLjE3OS0uNDQ3LS4xNzktLjk0NyAwLS41LjE3OS0xLjAwMi4xNzktMS4wMDIuMDYyLS4xNzcuMTM2LS4zMTguMjI0LS40My4xMTQtLjE0My4yNTYtLjI1OS40MjQtLjM0NS4xNjgtLjA4Ni4zNjUtLjEyOS41ODctLjEyOS4xOSAwIC4zNjQuMDM3LjUxNy4xMDl6Ii8+PHJlY3QgeD0iLjk4NyIgeT0iMiIgY2xhc3M9InN0MiIgd2lkdGg9IjE0LjAxMyIgaGVpZ2h0PSIxLjAyMyIvPjxyZWN0IHg9Ii45ODciIHk9IjEyLjk2OCIgY2xhc3M9InN0MiIgd2lkdGg9IjE0LjAxMyIgaGVpZ2h0PSIxLjAyMyIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xLjk5MSAxMi4wMzFsLjcyOC0yLjAzMWgyLjIxOWwuNzc4IDIuMDMxaDEuMDgybC0yLjQ4NS03LjE1OGgtLjk0MWwtMi40NDEgNy4wODYtLjAyNS4wNzJoMS4wODV6bTEuODI3LTUuNjA5aC4wMjJsLjkxNCAyLjc1M2gtMS44NDFsLjkwNS0yLjc1M3oiLz48L2c+PC9zdmc+\") center center no-repeat;\\n}\\n.hc-black .monaco-custom-checkbox.monaco-whole-word,\\n.hc-black .monaco-custom-checkbox.monaco-whole-word:hover,\\n.vs-dark .monaco-custom-checkbox.monaco-whole-word {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe29wYWNpdHk6MDtmaWxsOiMyNjI2MjY7fSAuc3Qxe2ZpbGw6IzI2MjYyNjt9IC5zdDJ7ZmlsbDojQzVDNUM1O308L3N0eWxlPjxnIGlkPSJvdXRsaW5lIj48cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTYgNC4wMjJ2LTMuMDIyaC0xNi4wMTR2My4wMjJoMy4wNDZsLTMuMDQzIDcuOTQ1aC0uMDA0di4wMWwuMDE1IDEuMDIzaC0uMDE0djEuOTkxaDE2LjAxNHYtMy4wMjNoLTF2LTcuOTQ2aDF6bS01LjkxNCA1LjMwMWMwIC4yMzMtLjAyMy40NDEtLjA2Ni41OTUtLjA0Ny4xNjQtLjA5OS4yNDctLjEyNy4yODRsLS4wNzguMDY5LS4xNTEuMDI2LS4xMTUtLjAxNy0uMTM5LS4xMzdjLS4wMzEtLjA3OC0uMTEyLS4zMzItLjExMi0uNTY2IDAtLjI1NC4wOTEtLjU2MS4xMjYtLjY1NmwuMDY5LS4xNDEuMTA5LS4wODIuMTc4LS4wMjdjLjA3NyAwIC4xMTcuMDE0LjE3Ny4wNTZsLjA4Ny4xNzkuMDUxLjIzNy0uMDA5LjE4em0tMy42OTUtNS4zMDF2Mi44OTNsLTEuMTE2LTIuODkzaDEuMTE2em0tMy4wMjYgNy4wMmgxLjU3M2wuMzUxLjkyNmgtMi4yNTRsLjMzLS45MjZ6bTguNjM1LTQuMzU0Yy0uMjA2LS4yLS40MzEtLjM4LS42OTUtLjUxMi0uMzk2LS4xOTgtLjg1My0uMjk4LTEuMzU1LS4yOTgtLjIxNSAwLS40MjMuMDItLjYyMS4wNTh2LTEuOTE0aDIuNjcxdjIuNjY2eiIvPjwvZz48ZyBpZD0iaWNvbl94NUZfYmciPjxyZWN0IHg9IjEzIiB5PSI0IiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTExLjIyNSA4LjM4N2MtLjA3OC0uMjk5LS4xOTktLjU2Mi0uMzYtLjc4NnMtLjM2NS0uNDAxLS42MDktLjUzLS41MzQtLjE5My0uODY2LS4xOTNjLS4xOTggMC0uMzguMDI0LS41NDcuMDczLS4xNjUuMDQ5LS4zMTYuMTE3LS40NTMuMjA1LS4xMzYuMDg4LS4yNTcuMTk0LS4zNjUuMzE4bC0uMTc5LjI1OHYtMy4xNTRoLS44OTN2Ny40MjJoLjg5M3YtLjU3NWwuMTI2LjE3NWMuMDg3LjEwMi4xODkuMTkuMzA0LjI2OS4xMTcuMDc4LjI0OS4xNC4zOTguMTg2LjE0OS4wNDYuMzE0LjA2OC40OTguMDY4LjM1MyAwIC42NjYtLjA3MS45MzctLjIxMi4yNzItLjE0My40OTktLjMzOC42ODItLjU4Ni4xODMtLjI1LjMyMS0uNTQzLjQxNC0uODc5LjA5My0uMzM4LjE0LS43MDMuMTQtMS4wOTctLjAwMS0uMzQyLS4wNC0uNjYzLS4xMi0uOTYyem0tMS40NzktLjYwN2MuMTUxLjA3MS4yODIuMTc2LjM5LjMxNC4xMDkuMTQuMTk0LjMxMy4yNTUuNTE3LjA1MS4xNzQuMDgyLjM3MS4wODkuNTg3bC0uMDA3LjEyNWMwIC4zMjctLjAzMy42Mi0uMS44NjktLjA2Ny4yNDYtLjE2MS40NTMtLjI3OC42MTQtLjExNy4xNjItLjI2LjI4NS0uNDIxLjM2Ni0uMzIyLjE2Mi0uNzYuMTY2LTEuMDY5LjAxNS0uMTUzLS4wNzUtLjI4Ni0uMTc1LS4zOTMtLjI5Ni0uMDg1LS4wOTYtLjE1Ni0uMjE2LS4yMTgtLjM2NyAwIDAtLjE3OS0uNDQ3LS4xNzktLjk0NyAwLS41LjE3OS0xLjAwMi4xNzktMS4wMDIuMDYyLS4xNzcuMTM2LS4zMTguMjI0LS40My4xMTQtLjE0My4yNTYtLjI1OS40MjQtLjM0NS4xNjgtLjA4Ni4zNjUtLjEyOS41ODctLjEyOS4xOSAwIC4zNjQuMDM3LjUxNy4xMDl6Ii8+PHJlY3QgeD0iLjk4NyIgeT0iMiIgY2xhc3M9InN0MiIgd2lkdGg9IjE0LjAxMyIgaGVpZ2h0PSIxLjAyMyIvPjxyZWN0IHg9Ii45ODciIHk9IjEyLjk2OCIgY2xhc3M9InN0MiIgd2lkdGg9IjE0LjAxMyIgaGVpZ2h0PSIxLjAyMyIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xLjk5MSAxMi4wMzFsLjcyOC0yLjAzMWgyLjIxOWwuNzc4IDIuMDMxaDEuMDgybC0yLjQ4NS03LjE1OGgtLjk0MWwtMi40NDEgNy4wODYtLjAyNS4wNzJoMS4wODV6bTEuODI3LTUuNjA5aC4wMjJsLjkxNCAyLjc1M2gtMS44NDFsLjkwNS0yLjc1M3oiLz48L2c+PC9zdmc+\") center center no-repeat;\\n}\\n\\n.vs .monaco-custom-checkbox.monaco-regex {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBvbHlnb24gZmlsbD0iI0Y2RjZGNiIgcG9pbnRzPSIxMy42NCw3LjM5NiAxMi4xNjksMi44OTggMTAuNzA2LDMuNzYxIDExLjA4NywyIDYuNTU3LDIgNi45MzYsMy43NjIgNS40NzMsMi44OTggNCw3LjM5NiA1LjY4Miw3LjU1NCA0LjUxMyw4LjU2MSA1LjAxMyw5IDIsOSAyLDE0IDcsMTQgNywxMC43NDcgNy45NzgsMTEuNjA2IDguODIsOS43MjUgOS42NjEsMTEuNjAyIDEzLjE0NCw4LjU2MiAxMS45NjgsNy41NTQiLz48ZyBmaWxsPSIjNDI0MjQyIj48cGF0aCBkPSJNMTIuMzAxIDYuNTE4bC0yLjc3Mi4yNjIgMi4wODYgMS43ODgtMS41OTQgMS4zOTItMS4yMDEtMi42ODItMS4yMDEgMi42ODItMS41ODMtMS4zOTIgMi4wNzUtMS43ODgtMi43NzEtLjI2Mi42OTYtMi4xMjYgMi4zNTggMS4zOTItLjU5OS0yLjc4NGgyLjA1M2wtLjYwMiAyLjc4MyAyLjM1OS0xLjM5Mi42OTYgMi4xMjd6Ii8+PHJlY3QgeD0iMyIgeT0iMTAiIHdpZHRoPSIzIiBoZWlnaHQ9IjMiLz48L2c+PC9zdmc+\") center center no-repeat;\\n}\\n.hc-black .monaco-custom-checkbox.monaco-regex,\\n.hc-black .monaco-custom-checkbox.monaco-regex:hover,\\n.vs-dark .monaco-custom-checkbox.monaco-regex {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBvbHlnb24gZmlsbD0iIzJkMmQzMCIgcG9pbnRzPSIxMy42NCw3LjM5NiAxMi4xNjksMi44OTggMTAuNzA2LDMuNzYxIDExLjA4NywyIDYuNTU3LDIgNi45MzYsMy43NjIgNS40NzMsMi44OTggNCw3LjM5NiA1LjY4Miw3LjU1NCA0LjUxMyw4LjU2MSA1LjAxMyw5IDIsOSAyLDE0IDcsMTQgNywxMC43NDcgNy45NzgsMTEuNjA2IDguODIsOS43MjUgOS42NjEsMTEuNjAyIDEzLjE0NCw4LjU2MiAxMS45NjgsNy41NTQiLz48ZyBmaWxsPSIjQzVDNUM1Ij48cGF0aCBkPSJNMTIuMzAxIDYuNTE4bC0yLjc3Mi4yNjIgMi4wODYgMS43ODgtMS41OTQgMS4zOTItMS4yMDEtMi42ODItMS4yMDEgMi42ODItMS41ODMtMS4zOTIgMi4wNzUtMS43ODgtMi43NzEtLjI2Mi42OTYtMi4xMjYgMi4zNTggMS4zOTItLjU5OS0yLjc4NGgyLjA1M2wtLjYwMiAyLjc4MyAyLjM1OS0xLjM5Mi42OTYgMi4xMjd6Ii8+PHJlY3QgeD0iMyIgeT0iMTAiIHdpZHRoPSIzIiBoZWlnaHQ9IjMiLz48L2c+PC9zdmc+\") center center no-repeat;\\n}\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-custom-checkbox {\\n\\tmargin-left: 2px;\\n\\tfloat: left;\\n\\tcursor: pointer;\\n\\toverflow: hidden;\\n\\topacity: 0.7;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\tborder: 1px solid transparent;\\n\\tpadding: 1px;\\n\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-o-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n.monaco-custom-checkbox:hover,\\n.monaco-custom-checkbox.checked {\\n\\topacity: 1;\\n}\\n\\n.hc-black .monaco-custom-checkbox {\\n\\tbackground: none;\\n}\\n\\n.hc-black .monaco-custom-checkbox:hover {\\n\\tbackground: none;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-sash {\\n\\tposition: absolute;\\n\\tz-index: 90;\\n\\ttouch-action: none;\\n}\\n\\n.monaco-sash.vertical {\\n\\tcursor: ew-resize;\\n\\theight: 100%;\\n\\ttop: 0;\\n}\\n\\n.monaco-sash.horizontal {\\n\\tcursor: ns-resize;\\n\\twidth: 100%;\\n\\tleft: 0;\\n}\\n\\n.monaco-sash.disabled {\\n\\tcursor: default !important;\\n}\\n\\n/** Custom Mac Cursor */\\n\\n.monaco-sash.mac.vertical {\\n\\tcursor: col-resize;\\n}\\n\\n.monaco-sash.mac.horizontal {\\n\\tcursor: row-resize;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* marker zone */\\n\\n.monaco-editor .marker-widget {\\n\\tpadding-left: 2px;\\n\\ttext-overflow: ellipsis;\\n\\twhite-space: nowrap;\\n}\\n\\n.monaco-editor .marker-widget > .stale {\\n\\topacity: 0.6;\\n\\tfont-style: italic;\\n}\\n\\n.monaco-editor .marker-widget div.block {\\n\\tdisplay: inline-block;\\n\\tvertical-align: top;\\n}\\n\\n.monaco-editor .marker-widget .title {\\n\\tdisplay: inline-block;\\n\\tpadding-right: 5px;\\n}\\n\\n.monaco-editor .marker-widget .descriptioncontainer {\\n\\tposition: relative;\\n\\twhite-space: pre;\\n\\t-webkit-user-select: text;\\n\\tuser-select: text;\\n}\\n\\n.monaco-editor .marker-widget .descriptioncontainer .filename {\\n\\tcursor: pointer;\\n\\topacity: 0.6;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.monaco-editor .zone-widget {\\n\\tposition: absolute;\\n\\tz-index: 10;\\n}\\n\\n\\n.monaco-editor .zone-widget .zone-widget-container {\\n\\tborder-top-style: solid;\\n\\tborder-bottom-style: solid;\\n\\tborder-top-width: 0;\\n\\tborder-bottom-width: 0;\\n\\tposition: relative;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor-hover {\\n\\tcursor: default;\\n\\tposition: absolute;\\n\\toverflow: hidden;\\n\\tz-index: 50;\\n\\t-webkit-user-select: text;\\n\\t-ms-user-select: text;\\n\\t-khtml-user-select: text;\\n\\t-moz-user-select: text;\\n\\t-o-user-select: text;\\n\\tuser-select: text;\\n\\tbox-sizing: initial;\\n\\tanimation: fadein 100ms linear;\\n\\tline-height: 1.5em;\\n}\\n\\n.monaco-editor-hover.hidden {\\n\\tdisplay: none;\\n}\\n\\n.monaco-editor-hover .monaco-editor-hover-content {\\n\\tmax-width: 500px;\\n}\\n\\n.monaco-editor-hover .hover-row {\\n\\tpadding: 4px 5px;\\n}\\n\\n.monaco-editor-hover p,\\n.monaco-editor-hover ul {\\n\\tmargin: 8px 0;\\n}\\n\\n.monaco-editor-hover p:first-child,\\n.monaco-editor-hover ul:first-child {\\n\\tmargin-top: 0;\\n}\\n\\n.monaco-editor-hover p:last-child,\\n.monaco-editor-hover ul:last-child {\\n\\tmargin-bottom: 0;\\n}\\n\\n.monaco-editor-hover ul {\\n\\tpadding-left: 20px;\\n}\\n\\n.monaco-editor-hover li > p {\\n\\tmargin-bottom: 0;\\n}\\n\\n.monaco-editor-hover li > ul {\\n\\tmargin-top: 0;\\n}\\n\\n.monaco-editor-hover code {\\n\\tborder-radius: 3px;\\n\\tpadding: 0 0.4em;\\n}\\n\\n.monaco-editor-hover .monaco-tokenized-source {\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-all;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.colorpicker-widget {\\n\\theight: 190px;\\n\\tuser-select: none;\\n}\\n\\n.monaco-editor .colorpicker-hover:focus {\\n\\toutline: none;\\n}\\n\\n\\n/* Header */\\n\\n.colorpicker-header {\\n\\tdisplay: flex;\\n\\theight: 24px;\\n\\tposition: relative;\\n\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=\");\\n\\tbackground-size: 9px 9px;\\n\\timage-rendering: pixelated;\\n}\\n\\n.colorpicker-header .picked-color {\\n\\twidth: 216px;\\n\\ttext-align: center;\\n\\tline-height: 24px;\\n\\tcursor: pointer;\\n\\tcolor: white;\\n\\tflex: 1;\\n\\ttext-align: center;\\n}\\n\\n.colorpicker-header .picked-color.light {\\n\\tcolor: black;\\n}\\n\\n.colorpicker-header .original-color {\\n\\twidth: 74px;\\n\\tz-index: inherit;\\n\\tcursor: pointer;\\n}\\n\\n\\n/* Body */\\n\\n.colorpicker-body {\\n\\tdisplay: flex;\\n\\tpadding: 8px;\\n\\tposition: relative;\\n}\\n\\n.colorpicker-body .saturation-wrap {\\n\\toverflow: hidden;\\n\\theight: 150px;\\n\\tposition: relative;\\n\\tmin-width: 220px;\\n\\tflex: 1;\\n}\\n\\n.colorpicker-body .saturation-box {\\n\\theight: 150px;\\n\\tposition: absolute;\\n}\\n\\n.colorpicker-body .saturation-selection {\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tmargin: -5px 0 0 -5px;\\n\\tborder: 1px solid rgb(255, 255, 255);\\n\\tborder-radius: 100%;\\n\\tbox-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);\\n\\tposition: absolute;\\n}\\n\\n.colorpicker-body .strip {\\n\\twidth: 25px;\\n\\theight: 150px;\\n}\\n\\n.colorpicker-body .hue-strip {\\n\\tposition: relative;\\n\\tmargin-left: 8px;\\n\\tcursor: -webkit-grab;\\n\\tbackground: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\\n}\\n\\n.colorpicker-body .opacity-strip {\\n\\tposition: relative;\\n\\tmargin-left: 8px;\\n\\tcursor: -webkit-grab;\\n\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=\");\\n\\tbackground-size: 9px 9px;\\n\\timage-rendering: pixelated;\\n}\\n\\n.colorpicker-body .strip.grabbing {\\n\\tcursor: -webkit-grabbing;\\n}\\n\\n.colorpicker-body .slider {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: -2px;\\n\\twidth: calc(100% + 4px);\\n\\theight: 4px;\\n\\tbox-sizing: border-box;\\n\\tborder: 1px solid rgba(255, 255, 255, 0.71);\\n\\tbox-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);\\n}\\n\\n.colorpicker-body .strip .overlay {\\n\\theight: 150px;\\n\\tpointer-events: none;\\n}',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.monaco-editor .detected-link,\\n.monaco-editor .detected-link-active {\\n\\ttext-decoration: underline;\\n\\ttext-underline-position: under;\\n}\\n\\n.monaco-editor .detected-link-active {\\n\\tcursor: pointer;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .goto-definition-link {\\n\\ttext-decoration: underline;\\n\\tcursor: pointer;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .peekview-widget .head {\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing: border-box;\\n\\t-moz-box-sizing: border-box;\\n\\t-ms-box-sizing: border-box;\\n\\tbox-sizing:\\tborder-box;\\n\\tdisplay: flex;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-title {\\n\\tdisplay: inline-block;\\n\\tfont-size: 13px;\\n\\tmargin-left: 20px;\\n\\tcursor: pointer;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {\\n\\tfont-size: 0.9em;\\n\\tmargin-left: 0.5em;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions {\\n\\tflex: 1;\\n\\ttext-align: right;\\n\\tpadding-right: 2px;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {\\n\\tdisplay: inline-block;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {\\n\\theight: 100%;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar .action-item {\\n\\tmargin-left: 4px;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar .action-label {\\n\\twidth: 16px;\\n\\theight: 100%;\\n\\tmargin: 0;\\n\\tline-height: inherit;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center center;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar .action-label.octicon {\\n\\tmargin: 0;\\n}\\n\\n.monaco-editor .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iIzQyNDI0MiIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\") center center no-repeat;\\n}\\n\\n.monaco-editor .peekview-widget > .body {\\n\\tborder-top: 1px solid;\\n\\tposition: relative;\\n}\\n\\n/* Dark Theme */\\n/* High Contrast Theme */\\n\\n.monaco-editor.hc-black .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action,\\n.monaco-editor.vs-dark .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iI2U4ZThlOCIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\") center center no-repeat;\\n}\\n\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n/* ---------- DiffEditor ---------- */\\n\\n.monaco-diff-editor .diffOverview {\\n\\tz-index: 9;\\n}\\n\\n/* colors not externalized: using transparancy on background */\\n.monaco-diff-editor.vs\\t\\t\\t.diffOverview { background: rgba(0, 0, 0, 0.03); }\\n.monaco-diff-editor.vs-dark\\t\\t.diffOverview { background: rgba(255, 255, 255, 0.01); }\\n\\n.monaco-diff-editor .diffViewport {\\n\\tbox-shadow: inset 0px 0px 1px 0px #B9B9B9;\\n\\tbackground: rgba(0, 0, 0, 0.10);\\n}\\n\\n.monaco-diff-editor.vs-dark .diffViewport,\\n.monaco-diff-editor.hc-black .diffViewport {\\n\\tbackground: rgba(255, 255, 255, 0.10);\\n}\\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\\t\\t.scrollbar { background: rgba(0,0,0,0); }\\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\\t.scrollbar { background: rgba(0,0,0,0); }\\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\\t.scrollbar { background: none; }\\n\\n.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {\\n\\tz-index: 10;\\n}\\n.modified-in-monaco-diff-editor\\t\\t\\t\\t.slider.active { background: rgba(171, 171, 171, .4); }\\n.modified-in-monaco-diff-editor.hc-black\\t.slider.active { background: none; }\\n\\n/* ---------- Diff ---------- */\\n\\n.monaco-editor .insert-sign,\\n.monaco-diff-editor .insert-sign,\\n.monaco-editor .delete-sign,\\n.monaco-diff-editor .delete-sign {\\n\\tbackground-size: 60%;\\n\\topacity: 0.7;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: 50% 50%;\\n}\\n.monaco-editor.hc-black .insert-sign,\\n.monaco-diff-editor.hc-black .insert-sign,\\n.monaco-editor.hc-black .delete-sign,\\n.monaco-diff-editor.hc-black .delete-sign {\\n\\topacity: 1;\\n}\\n.monaco-editor .insert-sign,\\n.monaco-diff-editor .insert-sign {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPkxheWVyIDE8L3RpdGxlPjxyZWN0IGhlaWdodD0iMTEiIHdpZHRoPSIzIiB5PSIzIiB4PSI3IiBmaWxsPSIjNDI0MjQyIi8+PHJlY3QgaGVpZ2h0PSIzIiB3aWR0aD0iMTEiIHk9IjciIHg9IjMiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=\");\\n}\\n.monaco-editor .delete-sign,\\n.monaco-diff-editor .delete-sign {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPkxheWVyIDE8L3RpdGxlPjxyZWN0IGhlaWdodD0iMyIgd2lkdGg9IjExIiB5PSI3IiB4PSIzIiBmaWxsPSIjNDI0MjQyIi8+PC9zdmc+\");\\n}\\n\\n.monaco-editor.vs-dark .insert-sign,\\n.monaco-diff-editor.vs-dark .insert-sign,\\n.monaco-editor.hc-black .insert-sign,\\n.monaco-diff-editor.hc-black .insert-sign {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPkxheWVyIDE8L3RpdGxlPjxyZWN0IGhlaWdodD0iMTEiIHdpZHRoPSIzIiB5PSIzIiB4PSI3IiBmaWxsPSIjQzVDNUM1Ii8+PHJlY3QgaGVpZ2h0PSIzIiB3aWR0aD0iMTEiIHk9IjciIHg9IjMiIGZpbGw9IiNDNUM1QzUiLz48L3N2Zz4=\");\\n}\\n.monaco-editor.vs-dark .delete-sign,\\n.monaco-diff-editor.vs-dark .delete-sign,\\n.monaco-editor.hc-black .delete-sign,\\n.monaco-diff-editor.hc-black .delete-sign {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPkxheWVyIDE8L3RpdGxlPjxyZWN0IGhlaWdodD0iMyIgd2lkdGg9IjExIiB5PSI3IiB4PSIzIiBmaWxsPSIjQzVDNUM1Ii8+PC9zdmc+\");\\n}\\n\\n.monaco-editor .inline-deleted-margin-view-zone {\\n\\ttext-align: right;\\n}\\n.monaco-editor .inline-added-margin-view-zone {\\n\\ttext-align: right;\\n}\\n\\n.monaco-editor .diagonal-fill {\\n\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAChJREFUKFNjOH/+fAMDDgCSu3Dhwn9c8gwwBTgNGR4KQP4HhQOhsAIAZCBTkhtqePcAAAAASUVORK5CYII=\");\\n}\\n.monaco-editor.vs-dark .diagonal-fill {\\n\\topacity: 0.2;\\n}\\n.monaco-editor.hc-black .diagonal-fill {\\n\\tbackground: none;\\n}\\n\\n/* ---------- Inline Diff ---------- */\\n\\n.monaco-editor .view-zones .view-lines .view-line span {\\n\\tdisplay: inline-block;\\n}\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-diff-editor .diff-review-line-number {\\n\\ttext-align: right;\\n\\tdisplay: inline-block;\\n}\\n\\n.monaco-diff-editor .diff-review {\\n\\tposition: absolute;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-o-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n.monaco-diff-editor .diff-review-summary {\\n\\tpadding-left: 10px;\\n}\\n\\n.monaco-diff-editor .diff-review-shadow {\\n\\tposition: absolute;\\n}\\n\\n.monaco-diff-editor .diff-review-row {\\n\\twhite-space: pre;\\n}\\n\\n.monaco-diff-editor .diff-review-table {\\n\\tdisplay: table;\\n\\tmin-width: 100%;\\n}\\n\\n.monaco-diff-editor .diff-review-row {\\n\\tdisplay: table-row;\\n\\twidth: 100%;\\n}\\n\\n.monaco-diff-editor .diff-review-cell {\\n\\tdisplay: table-cell;\\n}\\n\\n.monaco-diff-editor .diff-review-spacer {\\n\\tdisplay: inline-block;\\n\\twidth: 10px;\\n}\\n\\n.monaco-diff-editor .diff-review-actions {\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tright: 10px;\\n\\ttop: 2px;\\n}\\n\\n.monaco-diff-editor .diff-review-actions .action-label {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tmargin: 2px 0;\\n}\\n.monaco-diff-editor .action-label.icon.close-diff-review {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iIzQyNDI0MiIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\") center center no-repeat;\\n}\\n.monaco-diff-editor.hc-black .action-label.icon.close-diff-review,\\n.monaco-diff-editor.vs-dark .action-label.icon.close-diff-review {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iI2U4ZThlOCIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\") center center no-repeat;\\n}',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* -- zone widget */\\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {\\n\\tborder-top-width: 1px;\\n\\tborder-bottom-width: 1px;\\n}\\n\\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget.results-loaded {\\n\\t-webkit-transition: height 100ms ease-in;\\n\\ttransition: height 100ms ease-in;\\n}\\n\\n.monaco-editor .reference-zone-widget .inline {\\n\\tdisplay: inline-block;\\n\\tvertical-align: top;\\n}\\n\\n.monaco-editor .reference-zone-widget .messages {\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttext-align: center;\\n\\tpadding: 3em 0;\\n}\\n\\n.monaco-editor .reference-zone-widget .ref-tree {\\n\\tline-height: 23px;\\n}\\n\\n.monaco-editor .reference-zone-widget .ref-tree .reference {\\n\\ttext-overflow: ellipsis;\\n\\toverflow: hidden;\\n}\\n\\n.monaco-editor .reference-zone-widget .ref-tree .reference-file {\\n\\tdisplay: inline-flex;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {\\n\\tmargin-right: 12px;\\n\\tmargin-left: auto;\\n}\\n\\n/* High Contrast Theming */\\n\\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file {\\n\\tfont-weight: bold;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-count-badge {\\n\\tpadding: 0.2em 0.5em;\\n\\tborder-radius: 1em;\\n\\tfont-size: 85%;\\n\\tfont-weight: normal;\\n\\ttext-align: center;\\n\\tdisplay: inline;\\n}\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* ---------- Icon label ---------- */\\n\\n.monaco-icon-label {\\n\\tdisplay: flex; /* required for icons support :before rule */\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n}\\n\\n.monaco-icon-label::before {\\n\\n\\t/* svg icons rendered as background image */\\n\\tbackground-size: 16px;\\n\\tbackground-position: left center;\\n\\tbackground-repeat: no-repeat;\\n\\tpadding-right: 6px;\\n\\twidth: 16px;\\n\\theight: 22px;\\n\\tdisplay: inline-block;\\n\\n\\t/* fonts icons */\\n\\t-webkit-font-smoothing: antialiased;\\n\\tvertical-align: top;\\n\\n\\tflex-shrink: 0; /* fix for https://github.com/Microsoft/vscode/issues/13787 */\\n}\\n\\n.monaco-icon-label > .monaco-icon-label-description-container {\\n\\toverflow: hidden; /* this causes the label/description to shrink first if decorations are enabled */\\n\\ttext-overflow: ellipsis;\\n}\\n\\n.monaco-icon-label > .monaco-icon-label-description-container > .label-name {\\n\\tcolor: inherit;\\n\\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\\n}\\n\\n.monaco-icon-label > .monaco-icon-label-description-container > .label-description {\\n\\topacity: 0.7;\\n\\tmargin-left: 0.5em;\\n\\tfont-size: 0.9em;\\n\\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\\n}\\n\\n.monaco-icon-label.italic > .monaco-icon-label-description-container > .label-name,\\n.monaco-icon-label.italic > .monaco-icon-label-description-container > .label-description {\\n\\tfont-style: italic;\\n}\\n\\n.monaco-icon-label::after {\\n\\topacity: 0.75;\\n\\tfont-size: 90%;\\n\\tfont-weight: 600;\\n\\tpadding: 0 12px 0 5px;\\n\\tmargin-left: auto;\\n\\ttext-align: center;\\n}\\n\\n/* make sure selection color wins when a label is being selected */\\n.monaco-tree.focused .selected .monaco-icon-label, /* tree */\\n.monaco-tree.focused .selected .monaco-icon-label::after,\\n.monaco-list:focus .selected .monaco-icon-label, /* list */\\n.monaco-list:focus .selected .monaco-icon-label::after\\n{\\n\\tcolor: inherit !important;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.monaco-tree {\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\twhite-space: nowrap;\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: -moz-none;\\n\\t-ms-user-select: none;\\n\\t-o-user-select: none;\\n\\tuser-select: none;\\n\\tposition: relative;\\n}\\n\\n.monaco-tree > .monaco-scrollable-element {\\n\\theight: 100%;\\n}\\n\\n.monaco-tree > .monaco-scrollable-element > .monaco-tree-wrapper {\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\tposition: relative;\\n}\\n\\n.monaco-tree .monaco-tree-rows {\\n\\tposition: absolute;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.monaco-tree .monaco-tree-rows > .monaco-tree-row {\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\tcursor: pointer;\\n\\toverflow: hidden;\\n\\twidth: 100%;\\n\\ttouch-action: none;\\n}\\n\\n.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content {\\n\\tposition: relative;\\n\\theight: 100%;\\n}\\n\\n.monaco-tree-drag-image {\\n\\tdisplay: inline-block;\\n\\tpadding: 1px 7px;\\n\\tborder-radius: 10px;\\n\\tfont-size: 12px;\\n\\tposition: absolute;\\n}\\n\\n/* for OS X ballistic scrolling */\\n.monaco-tree .monaco-tree-rows > .monaco-tree-row.scrolling {\\n\\tdisplay: none;\\n}\\n\\n/* Expansion */\\n\\n.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content:before {\\n\\tcontent: \\' \\';\\n\\tposition: absolute;\\n\\tdisplay: block;\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==\") 50% 50% no-repeat;\\n\\twidth: 16px;\\n\\theight: 100%;\\n\\ttop: 0;\\n\\tleft: -16px;\\n}\\n\\n.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTExIDEwSDUuMzQ0TDExIDQuNDE0VjEweiIvPjwvc3ZnPg==\");\\n}\\n\\n.monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children.loading > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnPgoJCTxjaXJjbGUgY3g9JzUnIGN5PScxJyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzcuODI4NCcgY3k9JzIuMTcxNicgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc5JyBjeT0nNScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc3LjgyODQnIGN5PSc3LjgyODQnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNScgY3k9JzknIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMi4xNzE2JyBjeT0nNy44Mjg0JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzEnIGN5PSc1JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzIuMTcxNicgY3k9JzIuMTcxNicgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCTwvZz4KPC9zdmc+Cg==\");\\n}\\n\\n/* Highlighted */\\n\\n.monaco-tree.highlighted .monaco-tree-rows > .monaco-tree-row:not(.highlighted) {\\n\\topacity: 0.3;\\n}\\n\\n.vs-dark .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==\");\\n}\\n\\n.vs-dark .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTExIDEwSDUuMzQ0TDExIDQuNDE0VjEweiIvPjwvc3ZnPg==\");\\n}\\n\\n.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children.loading > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnIHN0eWxlPSJmaWxsOmdyZXk7Ij4KCQk8Y2lyY2xlIGN4PSc1JyBjeT0nMScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc3LjgyODQnIGN5PScyLjE3MTYnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nOScgY3k9JzUnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNy44Mjg0JyBjeT0nNy44Mjg0JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzUnIGN5PSc5JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzIuMTcxNicgY3k9JzcuODI4NCcgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScxJyBjeT0nNScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScyLjE3MTYnIGN5PScyLjE3MTYnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+Cgk8L2c+Cjwvc3ZnPgo=\");\\n}\\n\\n.hc-black .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content:before\\t{\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRsMS41ODYgMS41ODYtMS41ODYgMS41ODZ2LTMuMTcyeiIvPjwvc3ZnPg==\");\\n}\\n\\n.hc-black .monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExIDEwLjA3aC01LjY1Nmw1LjY1Ni01LjY1NnY1LjY1NnoiLz48L3N2Zz4=\");\\n}\\n\\n.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row.has-children.loading > .content:before {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnIHN0eWxlPSJmaWxsOndoaXRlOyI+CgkJPGNpcmNsZSBjeD0nNScgY3k9JzEnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNy44Mjg0JyBjeT0nMi4xNzE2JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzknIGN5PSc1JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzcuODI4NCcgY3k9JzcuODI4NCcgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc1JyBjeT0nOScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScyLjE3MTYnIGN5PSc3LjgyODQnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMScgY3k9JzUnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMi4xNzE2JyBjeT0nMi4xNzE2JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJPC9nPgo8L3N2Zz4K\");\\n}\\n\\n.monaco-tree-action.collapse-all {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtMSAwIDE2IDE2Ij48cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMTQgMXY5aC0xdi04aC04di0xaDl6bS0xMSAydjFoOHY4aDF2LTloLTl6bTcgMnY5aC05di05aDl6bS0yIDJoLTV2NWg1di01eiIvPjxyZWN0IHg9IjQiIHk9IjkiIGZpbGw9IiMwMDUzOUMiIHdpZHRoPSIzIiBoZWlnaHQ9IjEiLz48L3N2Zz4=\") center center no-repeat;\\n}\\n\\n.hc-black .monaco-tree-action.collapse-all,\\n.vs-dark .monaco-tree-action.collapse-all {\\n\\tbackground: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtMSAwIDE2IDE2Ij48cGF0aCBmaWxsPSIjQzVDNUM1IiBkPSJNMTQgMXY5aC0xdi04aC04di0xaDl6bS0xMSAydjFoOHY4aDF2LTloLTl6bTcgMnY5aC05di05aDl6bS0yIDJoLTV2NWg1di01eiIvPjxyZWN0IHg9IjQiIHk9IjkiIGZpbGw9IiM3NUJFRkYiIHdpZHRoPSIzIiBoZWlnaHQ9IjEiLz48L3N2Zz4=\") center center no-repeat;\\n}\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .rename-box {\\n\\tz-index: 100;\\n\\tcolor: inherit;\\n}\\n\\n.monaco-editor .rename-box .rename-input {\\n\\tpadding: 4px;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor .monaco-editor-overlaymessage {\\n\\tpadding-bottom: 8px;\\n}\\n\\n@keyframes fadeIn {\\n\\tfrom { opacity: 0; }\\n\\tto { opacity: 1; }\\n}\\n.monaco-editor .monaco-editor-overlaymessage.fadeIn {\\n\\tanimation: fadeIn 150ms ease-out;\\n}\\n\\n@keyframes fadeOut {\\n\\tfrom { opacity: 1; }\\n\\tto { opacity: 0; }\\n}\\n.monaco-editor .monaco-editor-overlaymessage.fadeOut {\\n\\tanimation: fadeOut 100ms ease-out;\\n}\\n\\n.monaco-editor .monaco-editor-overlaymessage .message {\\n\\tpadding: 1px 4px;\\n}\\n\\n.monaco-editor .monaco-editor-overlaymessage .anchor {\\n\\twidth: 0 !important;\\n\\theight: 0 !important;\\n\\tborder-color: transparent;\\n\\tborder-style: solid;\\n\\tz-index: 1000;\\n\\tborder-width: 8px;\\n\\tposition: absolute;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-editor.vs\\t\\t.snippet-placeholder { background-color: rgba(10, 50, 100, 0.2); min-width: 2px; }\\n.monaco-editor.vs-dark\\t.snippet-placeholder { background-color: rgba(124, 124, 124, 0.3); min-width: 2px; }\\n.monaco-editor.hc-black\\t.snippet-placeholder { background-color: rgba(124, 124, 124, 0.3); min-width: 2px; }\\n\\n.monaco-editor.vs\\t\\t.finish-snippet-placeholder { outline: rgba(10, 50, 100, 0.5) solid 1px; }\\n.monaco-editor.vs-dark\\t.finish-snippet-placeholder\\t{ outline: #525252 solid 1px; }\\n.monaco-editor.hc-black\\t.finish-snippet-placeholder\\t{ outline: #525252 solid 1px; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n/* Suggest widget*/\\n.monaco-editor .suggest-widget {\\n\\tz-index: 40;\\n}\\n\\n/** Initial widths **/\\n\\n.monaco-editor .suggest-widget {\\n\\twidth: 430px;\\n}\\n\\n.monaco-editor .suggest-widget > .message,\\n.monaco-editor .suggest-widget > .tree,\\n.monaco-editor .suggest-widget > .details {\\n\\twidth: 100%;\\n\\tborder-style: solid;\\n\\tborder-width: 1px;\\n\\tbox-sizing: border-box;\\n}\\n\\n.monaco-editor.hc-black .suggest-widget > .message,\\n.monaco-editor.hc-black .suggest-widget > .tree,\\n.monaco-editor.hc-black .suggest-widget > .details {\\n\\tborder-width: 2px;\\n}\\n\\n/** Adjust width when docs are expanded to the side **/\\n.monaco-editor .suggest-widget.docs-side {\\n\\twidth: 660px;\\n}\\n\\n.monaco-editor .suggest-widget.docs-side > .tree,\\n.monaco-editor .suggest-widget.docs-side > .details {\\n\\twidth: 50%;\\n\\tfloat: left;\\n}\\n\\n.monaco-editor .suggest-widget.docs-side.list-right > .tree,\\n.monaco-editor .suggest-widget.docs-side.list-right > .details  {\\n\\tfloat: right;\\n}\\n\\n\\n/* Styles for Message element for when widget is loading or is empty */\\n.monaco-editor .suggest-widget > .message {\\n\\tpadding-left: 22px;\\n}\\n\\n/** Styles for the list element **/\\n.monaco-editor .suggest-widget > .tree {\\n\\theight: 100%;\\n}\\n\\n\\n\\n/** Styles for each row in the list element **/\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row {\\n\\tdisplay: flex;\\n\\t-mox-box-sizing: border-box;\\n\\tbox-sizing: border-box;\\n\\tpadding-right: 10px;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: 2px 2px;\\n\\twhite-space: nowrap;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {\\n\\tflex: 1;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\tpadding-left: 2px;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\twhite-space: pre;\\n}\\n\\n.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {\\n\\tfont-weight: bold;\\n}\\n\\n/** Icon styles **/\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .readMore {\\n\\topacity: 0.6;\\n\\tbackground-position: center center;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-size: 70%;\\n\\tcursor: pointer;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iIzQyNDI0MiIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\");\\n\\tfloat: right;\\n\\tmargin-right: 5px;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .readMore {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTggMWMtMy44NjUgMC03IDMuMTM1LTcgN3MzLjEzNSA3IDcgNyA3LTMuMTM1IDctNy0zLjEzNS03LTctN3ptMSAxMmgtMnYtN2gydjd6bTAtOGgtMnYtMmgydjJ6IiBmaWxsPSIjMUJBMUUyIi8+PHBhdGggZD0iTTcgNmgydjdoLTJ2LTd6bTAtMWgydi0yaC0ydjJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+\");\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close:hover,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .readMore:hover {\\n\\topacity: 1;\\n}\\n\\n/** Type Info and icon next to the label in the focused completion item **/\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .type-label {\\n\\tmargin-left: 0.8em;\\n\\tflex: 1;\\n\\ttext-align: right;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\topacity: 0.7;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .type-label > .monaco-tokenized-source {\\n\\tdisplay: inline;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .readMore,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .type-label,\\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused > .contents > .main > .readMore,\\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused > .contents > .main > .type-label,\\n.monaco-editor .suggest-widget.docs-below .monaco-list .monaco-list-row.focused > .contents > .main > .readMore {\\n\\tdisplay: none;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main > .readMore,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main > .type-label {\\n\\tdisplay: inline;\\n}\\n\\n/** Styles for each row in the list **/\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {\\n\\tdisplay: block;\\n\\theight: 16px;\\n\\twidth: 16px;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-size: 80%;\\n\\tbackground-position: center;\\n}\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDEwYzAgMi4yMDUtMS43OTQgNC00IDQtMS44NTggMC0zLjQxMS0xLjI3OS0zLjg1OC0zaC0uOTc4bDIuMzE4IDRIMHYtMS43MDNsMi0zLjQwOFYwaDExdjYuMTQyYzEuNzIxLjQ0NyAzIDIgMyAzLjg1OHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik0xMiAxdjQuNzVBNC4yNTUgNC4yNTUgMCAwIDAgNy43NSAxMGgtLjczMkw0LjI3NSA1LjI2OSAzIDcuNDQyVjFoOXpNNy43NDcgMTRMNC4yNjkgOCAuNzQ4IDE0aDYuOTk5ek0xNSAxMGEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDB6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.method,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.function,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.constructor { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtZmd7ZmlsbDojZjBlZmYxfS5pY29uLXZzLWFjdGlvbi1wdXJwbGV7ZmlsbDojNjUyZDkwfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE1IDMuMzQ5djguNDAzTDguOTc1IDE2SDguMDdMMSAxMS41ODJWMy4zMjdMNy41OTUgMGgxLjExOEwxNSAzLjM0OXoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0xMi43MTUgNC4zOThMOC40ODcgNy4wMiAzLjU2NSA0LjI3Mmw0LjU3OC0yLjMwOSA0LjU3MiAyLjQzNXpNMyA1LjEwMmw1IDIuNzkydjUuNzA1bC01LTMuMTI1VjUuMTAyem02IDguNDM0VjcuODc4bDQtMi40OHY1LjMxN2wtNCAyLjgyMXoiIGlkPSJpY29uRmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tcHVycGxlIiBkPSJNOC4xNTYuODM3TDIgMy45NDJ2Ny4wODVMOC41MTcgMTUuMSAxNCAxMS4yMzNWMy45NUw4LjE1Ni44Mzd6bTQuNTU5IDMuNTYxTDguNDg3IDcuMDIgMy41NjUgNC4yNzJsNC41NzgtMi4zMDkgNC41NzIgMi40MzV6TTMgNS4xMDJsNSAyLjc5MnY1LjcwNWwtNS0zLjEyNVY1LjEwMnptNiA4LjQzNFY3Ljg3OGw0LTIuNDh2NS4zMTdsLTQgMi44MjF6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.field { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtZmd7ZmlsbDojZjBlZmYxfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6IzAwNTM5Y308L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0wIDEwLjczNlY0LjVMOSAwbDcgMy41djYuMjM2bC05IDQuNS03LTMuNXoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik05IDFMMSA1djVsNiAzIDgtNFY0TDkgMXpNNyA2Ljg4MkwzLjIzNiA1IDkgMi4xMTggMTIuNzY0IDQgNyA2Ljg4MnoiIGlkPSJpY29uQmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTkgMi4xMThMMTIuNzY0IDQgNyA2Ljg4MiAzLjIzNiA1IDkgMi4xMTh6IiBpZD0iaWNvbkZnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.event { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYWN0aW9uLW9yYW5nZXtmaWxsOiNjMjdkMWF9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTQgMS40MTRMOS40MTQgNkgxNHYxLjQxNEw1LjQxNCAxNkgzdi0xLjIzNEw1LjM3MSAxMEgyVjguNzY0TDYuMzgyIDBIMTR2MS40MTR6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLW9yYW5nZSIgZD0iTTcgN2g2bC04IDhINGwyLjk4NS02SDNsNC04aDZMNyA3eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.operator { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtZmd7ZmlsbDojZjBlZmYxfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6IzAwNTM5Y308L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xIDF2MTRoMTRWMUgxem02IDEySDN2LTFoNHYxem0wLTNIM1Y5aDR2MXptMC01SDV2Mkg0VjVIMlY0aDJWMmgxdjJoMnYxem0zLjI4MSA4SDguNzE5bDMtNGgxLjU2M2wtMy4wMDEgNHpNMTQgNUg5VjRoNXYxeiIgaWQ9Imljb25CZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNNyA1SDV2Mkg0VjVIMlY0aDJWMmgxdjJoMnYxem03LTFIOXYxaDVWNHpNNyA5SDN2MWg0Vjl6bTAgM0gzdjFoNHYtMXptMy4yODEgMWwzLTRoLTEuNTYzbC0zIDRoMS41NjN6IiBpZD0iaWNvbkZnIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiLz48L3N2Zz4=\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.variable { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX0uaWNvbi12cy1hY3Rpb24tYmx1ZXtmaWxsOiMwMDUzOWN9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTEgM3YxLjAxNUw4LjczMyAyLjg4MiA1IDQuNzQ5VjNIMHYxMGg1di0xLjg1OWwyLjE1NiAxLjA3N0wxMSAxMC4yOTVWMTNoNVYzaC01eiIgaWQ9Im91dGxpbmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMiA1djZoMnYxSDFWNGgzdjFIMnptMTAgNnYxaDNWNGgtM3YxaDJ2NmgtMnoiIGlkPSJpY29uQmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTcuMTU2IDcuMTU2bC0xLjU3OC0uNzg5IDMuMTU2LTEuNTc4IDEuNTc4Ljc4OS0zLjE1NiAxLjU3OHoiIGlkPSJpY29uRmciIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWFjdGlvbi1ibHVlIiBkPSJNOC43MzMgNEw0IDYuMzY3djMuMTU2TDcuMTU2IDExLjFsNC43MzMtMi4zNjdWNS41NzhMOC43MzMgNHpNNy4xNTYgNy4xNTZsLTEuNTc4LS43ODkgMy4xNTYtMS41NzggMS41NzguNzg5LTMuMTU2IDEuNTc4eiIgaWQ9ImNvbG9ySW1wb3J0YW5jZSIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.class { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYWN0aW9uLW9yYW5nZXtmaWxsOiNjMjdkMWF9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTYgNi41ODZsLTMtM0wxMS41ODYgNUg5LjQxNGwxLTEtNC00aC0uODI4TDAgNS41ODZ2LjgyOGw0IDRMNi40MTQgOEg3djVoMS41ODZsMyAzaC44MjhMMTYgMTIuNDE0di0uODI4TDEzLjkxNCA5LjUgMTYgNy40MTR2LS44Mjh6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWFjdGlvbi1vcmFuZ2UiIGQ9Ik0xMyAxMGwyIDItMyAzLTItMiAxLTFIOFY3SDZMNCA5IDEgNmw1LTUgMyAzLTIgMmg1bDEtMSAyIDItMyAzLTItMiAxLTFIOXY0bDIuOTk5LjAwMkwxMyAxMHoiIGlkPSJpY29uQmciLz48L3N2Zz4=\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.interface { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtZmd7ZmlsbDojZjBlZmYxfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6IzAwNTM5Y308L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xMS41IDEyYy0xLjkxNSAwLTMuNjAyLTEuMjQxLTQuMjI4LTNoLTEuNDFhMy4xMSAzLjExIDAgMCAxLTIuNzM3IDEuNjI1QzEuNDAyIDEwLjYyNSAwIDkuMjIzIDAgNy41czEuNDAyLTMuMTI1IDMuMTI1LTMuMTI1YzEuMTY1IDAgMi4yMDEuNjM5IDIuNzM3IDEuNjI1aDEuNDFjLjYyNi0xLjc1OSAyLjMxMy0zIDQuMjI4LTNDMTMuOTgxIDMgMTYgNS4wMTkgMTYgNy41UzEzLjk4MSAxMiAxMS41IDEyeiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTExLjUgOUExLjUwMSAxLjUwMSAwIDEgMSAxMyA3LjVjMCAuODI2LS42NzMgMS41LTEuNSAxLjV6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xMS41IDRhMy40OSAzLjQ5IDAgMCAwLTMuNDUgM0g1LjE4NUEyLjEyMiAyLjEyMiAwIDAgMCAxIDcuNWEyLjEyMyAyLjEyMyAwIDEgMCA0LjE4NS41SDguMDVhMy40OSAzLjQ5IDAgMCAwIDMuNDUgMyAzLjUgMy41IDAgMSAwIDAtN3ptMCA1Yy0uODI3IDAtMS41LS42NzMtMS41LTEuNVMxMC42NzMgNiAxMS41IDZzMS41LjY3MyAxLjUgMS41UzEyLjMyNyA5IDExLjUgOXoiIGlkPSJpY29uQmciLz48L3N2Zz4=\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.struct { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYWN0aW9uLWJsdWV7ZmlsbDojMDA1MzljfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTkgMTRWOEg3djZIMVYyaDE0djEySDl6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xMCA5aDR2NGgtNFY5em0tOCA0aDRWOUgydjR6TTIgM3Y0aDEyVjNIMnoiIGlkPSJpY29uQmciLz48L3N2Zz4=\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.type-parameter { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTEwLjcwMiAxMC41bDItMi0yLTIgLjUtLjVIMTB2NWgxdjNINXYtM2gxVjZINC43OThsLjUuNS0yIDIgMiAyTDMgMTIuNzk3bC0zLTNWNy4yMDFsMy0zVjJoMTB2Mi4yMDFsMyAzdjIuNTk2bC0zIDMtMi4yOTgtMi4yOTd6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik00IDNoOHYyaC0xdi0uNWMwLS4yNzctLjIyNC0uNS0uNS0uNUg5djcuNWMwIC4yNzUuMjI0LjUuNS41aC41djFINnYtMWguNWEuNS41IDAgMCAwIC41LS41VjRINS41YS41LjUgMCAwIDAtLjUuNVY1SDRWM3pNMyA1LjYxNUwuMTE2IDguNSAzIDExLjM4M2wuODg0LS44ODMtMi0yIDItMkwzIDUuNjE1em0xMCAwbC0uODg0Ljg4NSAyIDItMiAyIC44ODQuODgzTDE1Ljg4NCA4LjUgMTMgNS42MTV6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.module { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTkuMjYgMTEuOTg0bC45NzgtLjAyMWEuOTYyLjk2MiAwIDAgMCAuMDktLjAwNmMuMDExLS4wNjMuMDI2LS4xNzkuMDI2LS4zNjFWOS42ODhjMC0uNjc5LjE4NS0xLjI1Ny41My0xLjcwNy0uMzQ2LS40NTItLjUzLTEuMDMtLjUzLTEuNzA1VjQuMzVjMC0uMTY3LS4wMjEtLjI1OS0uMDM0LS4zMDJMOS4yNiA0LjAyVi45NzNsMS4wMTEuMDExYzIuMTY3LjAyNCAzLjQwOSAxLjE1NiAzLjQwOSAzLjEwNXYxLjk2MmMwIC4zNTEuMDcxLjQ2MS4wNzIuNDYybC45MzYuMDYuMDUzLjkyN3YxLjkzNmwtLjkzNi4wNjFjLS4wNzYuMDE2LS4xMjUuMTQ2LS4xMjUuNDI0djIuMDE3YzAgLjkxNC0uMzMyIDMuMDQzLTMuNDA4IDMuMDc4bC0xLjAxMi4wMTF2LTMuMDQzem0tMy41MjEgMy4wMzJjLTMuMDg5LS4wMzUtMy40MjItMi4xNjQtMy40MjItMy4wNzhWOS45MjFjMC0uMzI3LS4wNjYtLjQzMi0uMDY3LS40MzNsLS45MzctLjA2LS4wNjMtLjkyOVY2LjU2M2wuOTQyLS4wNmMuMDU4IDAgLjEyNS0uMTE0LjEyNS0uNDUyVjQuMDljMC0xLjk0OSAxLjI0OC0zLjA4MSAzLjQyMi0zLjEwNUw2Ljc1Ljk3M1Y0LjAybC0uOTc1LjAyM2EuNTcyLjU3MiAwIDAgMC0uMDkzLjAxYy4wMDYuMDIxLS4wMTkuMTE1LS4wMTkuMjk3djEuOTI4YzAgLjY3NS0uMTg2IDEuMjUzLS41MzQgMS43MDUuMzQ4LjQ1LjUzNCAxLjAyOC41MzQgMS43MDd2MS45MDdjMCAuMTc1LjAxNC4yOTEuMDI3LjM2My4wMjMuMDAyIDEuMDYuMDI1IDEuMDYuMDI1djMuMDQzbC0xLjAxMS0uMDEyeiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1iZyIgZD0iTTUuNzUgMTQuMDE2Yy0xLjYyMy0uMDE5LTIuNDM0LS43MTEtMi40MzQtMi4wNzhWOS45MjFjMC0uOTAyLS4zNTUtMS4zNzYtMS4wNjYtMS40MjJ2LS45OThjLjcxMS0uMDQ1IDEuMDY2LS41MjkgMS4wNjYtMS40NDlWNC4wOWMwLTEuMzg1LjgxMS0yLjA4NyAyLjQzNC0yLjEwNXYxLjA2Yy0uNzI1LjAxNy0xLjA4Ny40NTMtMS4wODcgMS4zMDV2MS45MjhjMCAuOTItLjQ1NCAxLjQ4OC0xLjM2IDEuNzAyVjhjLjkwNy4yMDEgMS4zNi43NjMgMS4zNiAxLjY4OHYxLjkwN2MwIC40ODguMDgxLjgzNS4yNDMgMS4wNDIuMTYyLjIwOC40NDMuMzE2Ljg0NC4zMjV2MS4wNTR6bTcuOTktNS41MTdjLS43MDYuMDQ1LTEuMDYuNTItMS4wNiAxLjQyMnYyLjAxN2MwIDEuMzY3LS44MDcgMi4wNi0yLjQyIDIuMDc4di0xLjA1M2MuMzk2LS4wMDkuNjc4LS4xMTguODQ0LS4zMjguMTY3LS4yMS4yNS0uNTU2LjI1LTEuMDM5VjkuNjg4YzAtLjkyNS40NDktMS40ODggMS4zNDctMS42ODh2LS4wMjFjLS44OTgtLjIxNC0xLjM0Ny0uNzgyLTEuMzQ3LTEuNzAyVjQuMzVjMC0uODUyLS4zNjQtMS4yODgtMS4wOTQtMS4zMDZ2LTEuMDZjMS42MTMuMDE4IDIuNDIuNzIgMi40MiAyLjEwNXYxLjk2MmMwIC45Mi4zNTQgMS40MDQgMS4wNiAxLjQ0OXYuOTk5eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.property { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDUuNWE1LjUgNS41IDAgMCAxLTUuNSA1LjVjLS4yNzUgMC0uNTQzLS4wMjctLjgwNy0uMDY2bC0uMDc5LS4wMTJhNS40MjkgNS40MjkgMCAwIDEtLjgxLS4xOTJsLTQuNTM3IDQuNTM3Yy0uNDcyLjQ3My0xLjEuNzMzLTEuNzY3LjczM3MtMS4yOTUtLjI2LTEuNzY4LS43MzJhMi41MDIgMi41MDIgMCAwIDEgMC0zLjUzNWw0LjUzNy00LjUzN2E1LjQ1MiA1LjQ1MiAwIDAgMS0uMTkxLS44MTJjLS4wMDUtLjAyNS0uMDA4LS4wNTEtLjAxMi0uMDc3QTUuNTAzIDUuNTAzIDAgMCAxIDUgNS41YTUuNSA1LjUgMCAxIDEgMTEgMHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik0xNSA1LjVhNC41IDQuNSAwIDAgMS00LjUgNC41Yy0uNjkzIDAtMS4zNDItLjE3LTEuOTI5LS40NWwtNS4wMSA1LjAxYy0uMjkzLjI5NC0uNjc3LjQ0LTEuMDYxLjQ0cy0uNzY4LS4xNDYtMS4wNjEtLjQzOWExLjUgMS41IDAgMCAxIDAtMi4xMjFsNS4wMS01LjAxQTQuNDgzIDQuNDgzIDAgMCAxIDYgNS41IDQuNSA0LjUgMCAwIDEgMTAuNSAxYy42OTMgMCAxLjM0Mi4xNyAxLjkyOS40NUw5LjYzNiA0LjI0M2wyLjEyMSAyLjEyMSAyLjc5My0yLjc5M2MuMjguNTg3LjQ1IDEuMjM2LjQ1IDEuOTI5eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.unit { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAxMS4wMTNIMVY0aDE1djcuMDEzeiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTggOUg3VjZoM3YzSDlWN0g4djJ6TTQgN2gxdjJoMVY2SDN2M2gxVjd6bTggMGgxdjJoMVY2aC0zdjNoMVY3eiIgaWQ9Imljb25GZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMiA1djVoMTNWNUgyem00IDRINVY3SDR2MkgzVjZoM3Yzem00IDBIOVY3SDh2Mkg3VjZoM3Yzem00IDBoLTFWN2gtMXYyaC0xVjZoM3YzeiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.constant { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX0uaWNvbi12cy1hY3Rpb24tYmx1ZXtmaWxsOiMwMDUzOWN9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMi44NzkgMTRMMSAxMi4xMjFWMy44NzlMMi44NzkgMmgxMC4yNDJMMTUgMy44Nzl2OC4yNDJMMTMuMTIxIDE0SDIuODc5eiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTEyLjI5MyA0SDMuNzA3TDMgNC43MDd2Ni41ODZsLjcwNy43MDdoOC41ODZsLjcwNy0uNzA3VjQuNzA3TDEyLjI5MyA0ek0xMSAxMEg1VjloNnYxem0wLTNINVY2aDZ2MXoiIGlkPSJpY29uRmciLz48ZyBpZD0iaWNvbkJnIj48cGF0aCBjbGFzcz0iaWNvbi12cy1iZyIgZD0iTTEyLjcwNyAxM0gzLjI5M0wyIDExLjcwN1Y0LjI5M0wzLjI5MyAzaDkuNDE0TDE0IDQuMjkzdjcuNDE0TDEyLjcwNyAxM3ptLTktMWg4LjU4NmwuNzA3LS43MDdWNC43MDdMMTIuMjkzIDRIMy43MDdMMyA0LjcwN3Y2LjU4NmwuNzA3LjcwN3oiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tYmx1ZSIgZD0iTTExIDdINVY2aDZ2MXptMCAySDV2MWg2Vjl6Ii8+PC9nPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.value,\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.enum { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtZmd7ZmlsbDojZjBlZmYxfS5pY29uLXZzLWFjdGlvbi1vcmFuZ2V7ZmlsbDojYzI3ZDFhfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE0LjQxNCAxTDE2IDIuNTg2djUuODI4TDE0LjQxNCAxMEgxMHYzLjQxNkw4LjQxNCAxNUgxLjU4NkwwIDEzLjQxNnYtNS44M0wxLjU4NiA2SDZWMi41ODZMNy41ODYgMWg2LjgyOHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0yIDEzaDZWOEgydjV6bTEtNGg0djFIM1Y5em0wIDJoNHYxSDN2LTF6bTExLTVWM0g4djNoLjQxNEw5IDYuNTg2VjZoNHYxSDkuNDE0bC41ODYuNTg2VjhoNFY2em0tMS0xSDlWNGg0djF6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLW9yYW5nZSIgZD0iTTMgMTFoNC4wMDF2MUgzdi0xem0wLTFoNC4wMDFWOUgzdjF6bTYtMnY1bC0xIDFIMmwtMS0xVjhsMS0xaDZsMSAxek04IDhIMnY1aDZWOHptMS0ybDEgMWgzVjZIOXptMC0xaDRWNEg5djF6bTUtM0g4TDcgM3YzaDFWM2g2djVoLTR2MWg0bDEtMVYzbC0xLTF6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.enum-member { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtZmd7ZmlsbDojZjBlZmYxfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6IzAwNTM5Y308L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0wIDE1VjZoNlYyLjU4Nkw3LjU4NSAxaDYuODI5TDE2IDIuNTg2djUuODI5TDE0LjQxNCAxMEgxMHY1SDB6bTMtNnoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik04IDN2M2g1djFoLTN2MWg0VjNIOHptNSAySDlWNGg0djF6TTIgOHY1aDZWOEgyem01IDNIM3YtMWg0djF6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xMCA2aDN2MWgtM1Y2ek05IDR2MWg0VjRIOXptNS0ySDhMNyAzdjNoMVYzaDZ2NWgtNHYxaDRsMS0xVjNsLTEtMXptLTcgOEgzdjFoNHYtMXptMi0zdjdIMVY3aDh6TTggOEgydjVoNlY4eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.keyword { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiA1VjJIOVYxSDB2MTRoMTN2LTNoM1Y5aC0xVjZIOVY1aDd6bS04IDdWOWgxdjNIOHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0yIDNoNXYxSDJWM3oiIGlkPSJpY29uRmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1iZyIgZD0iTTE1IDRoLTVWM2g1djF6bS0xIDNoLTJ2MWgyVjd6bS00IDBIMXYxaDlWN3ptMiA2SDF2MWgxMXYtMXptLTUtM0gxdjFoNnYtMXptOCAwaC01djFoNXYtMXpNOCAydjNIMVYyaDd6TTcgM0gydjFoNVYzeiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.text { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAxNUgwVjFoMTZ2MTR6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNOS4yMjkgNy4zNTRjLjAzNS4xNDYuMDUyLjMxLjA1Mi40OTQgMCAuMjM0LS4wMi40NDEtLjA2LjYyMS0uMDM5LjE4LS4wOTUuMzI4LS4xNjguNDQ1YS42ODcuNjg3IDAgMCAxLS45MTQuMjgxLjc2Ljc2IDAgMCAxLS4yMzctLjIwNy45ODguOTg4IDAgMCAxLS4xNTQtLjMwNiAxLjI2MiAxLjI2MiAwIDAgMS0uMDU3LS4zODF2LS41MDZjMC0uMTcuMDItLjMyNi4wNjEtLjQ2NXMuMDk2LS4yNTguMTY4LS4zNTlhLjc1Ni43NTYgMCAwIDEgLjI1Ny0uMjMyYy4xLS4wNTUuMjEtLjA4Mi4zMzEtLjA4MmEuNjQ2LjY0NiAwIDAgMSAuNTcxLjMyYy4wNjcuMTA1LjExNi4yMy4xNS4zNzd6bS01LjEyNi44NjlhLjU1Ny41NTcgMCAwIDAtLjE5Ni4xMzJjLS4wNDcuMDUzLS4wOC4xMTItLjA5Ny4xOHMtLjAyOC4xNDctLjAyOC4yMzNhLjUxMy41MTMgMCAwIDAgLjE1Ny4zOS41MjguNTI4IDAgMCAwIC4xODYuMTEzLjY4Mi42ODIgMCAwIDAgLjI0Mi4wNDEuNzYuNzYgMCAwIDAgLjU5My0uMjcxLjg5Ny44OTcgMCAwIDAgLjE2NS0uMjk1Yy4wMzgtLjExMy4wNTktLjIzNC4wNTktLjM2NXYtLjM0NmwtLjc2MS4xMWExLjI5IDEuMjkgMCAwIDAtLjMyLjA3OHpNMTQgM3YxMEgyVjNoMTJ6TTUuOTYyIDcuNDY5YzAtLjIzOC0uMDI3LS40NTEtLjA4My0uNjM3YTEuMjg2IDEuMjg2IDAgMCAwLS4yNDktLjQ3MSAxLjA4IDEuMDggMCAwIDAtLjQyNC0uMjk1IDEuNjQ0IDEuNjQ0IDAgMCAwLS42MDgtLjEwMWMtLjExOSAwLS4yNDEuMDEyLS4zNjguMDMzYTMuMjEzIDMuMjEzIDAgMCAwLS42NzMuMTk1IDEuMzEzIDEuMzEzIDAgMCAwLS4yMTIuMTE0di43NjhjLjE1OC0uMTMyLjM0MS0uMjM1LjU0NC0uMzEzLjIwNC0uMDc4LjQxMy0uMTE3LjYyNy0uMTE3LjIxMyAwIC4zNzcuMDYzLjQ5NC4xODYuMTE2LjEyNS4xNzQuMzI0LjE3NC42bC0xLjAzLjE1NGMtLjIwNS4wMjYtLjM4LjA3Ny0uNTI2LjE1MWExLjA4MyAxLjA4MyAwIDAgMC0uNTYzLjY2QTEuNTYyIDEuNTYyIDAgMCAwIDMgOC44NTdjMCAuMTcuMDI1LjMyMy4wNzQuNDYzYS45NDUuOTQ1IDAgMCAwIC41NjguNTk2Yy4xMzkuMDU3LjI5Ny4wODQuNDc4LjA4NC4yMjkgMCAuNDMxLS4wNTMuNjA0LS4xNmExLjMgMS4zIDAgMCAwIC40MzktLjQ2M2guMDE0di41MjloLjc4NVY3LjQ2OXpNMTAgNy44NjFhMy41NCAzLjU0IDAgMCAwLS4wNzQtLjczNCAyLjA0NyAyLjA0NyAwIDAgMC0uMjI4LS42MTEgMS4yMDMgMS4yMDMgMCAwIDAtLjM5NC0uNDE2IDEuMDMgMS4wMyAwIDAgMC0uNTc0LS4xNTNjLS4xMjMgMC0uMjM0LjAxOC0uMzM2LjA1MWExIDEgMCAwIDAtLjI3OC4xNDcgMS4xNTMgMS4xNTMgMCAwIDAtLjIyNS4yMjIgMi4wMjIgMi4wMjIgMCAwIDAtLjE4MS4yODloLS4wMTNWNUg3djQuODg3aC42OTd2LS40ODVoLjAxM2MuMDQ0LjA4Mi4wOTUuMTU4LjE1MS4yMjkuMDU3LjA3LjExOS4xMzMuMTkxLjE4NmEuODM1LjgzNSAwIDAgMCAuMjM4LjEyMS45NDMuOTQzIDAgMCAwIC4yOTMuMDQyYy4yMyAwIC40MzQtLjA1My42MDktLjE2YTEuMzQgMS4zNCAwIDAgMCAuNDQzLS40NDNjLjEyLS4xODguMjExLS40MTIuMjcyLS42NzJBMy42MiAzLjYyIDAgMCAwIDEwIDcuODYxem0zLTEuNjU4YS43LjcgMCAwIDAtLjEwNi0uMDY2IDEuMTgzIDEuMTgzIDAgMCAwLS4xNDItLjA2MyAxLjIzMyAxLjIzMyAwIDAgMC0uMzYzLS4wNjVjLS4yMDkgMC0uMzk5LjA1MS0uNTY5LjE1YTEuMzU1IDEuMzU1IDAgMCAwLS40MzMuNDI0Yy0uMTE4LjE4Mi0uMjEuNDAyLS4yNzMuNjZhMy42MyAzLjYzIDAgMCAwLS4wMDggMS42MTVjLjA2LjIzLjE0My40My4yNTIuNjAyLjEwOS4xNjguMjQxLjMwMy4zOTYuMzk2YS45NzIuOTcyIDAgMCAwIC41MjQuMTQ0Yy4xNTggMCAuMjk2LS4wMjEuNDEzLS4wNjguMTE3LS4wNDUuMjE5LS4xMDguMzA5LS4xODR2LS43N2ExLjA5NCAxLjA5NCAwIDAgMS0uMjg4LjIyNS44MTkuODE5IDAgMCAxLS4xNTguMDY4LjQ4LjQ4IDAgMCAxLS4xNTMuMDI3LjYyLjYyIDAgMCAxLS4yNzQtLjA3NGMtLjI0MS0uMTM2LS40MjMtLjQ3OS0uNDIzLTEuMTQ2IDAtLjcxNS4yMDYtMS4xMi40NjktMS4zMDEuMDc3LS4wMzIuMTUzLS4wNjQuMjM4LS4wNjQuMTEzIDAgLjIyLjAyNy4zMTcuMDgyLjA5Ni4wNTcuMTg4LjEzMS4yNzIuMjIzdi0uODE1eiIgaWQ9Imljb25GZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMSAydjEyaDE0VjJIMXptMTMgMTFIMlYzaDEydjEwek01LjYzIDYuMzYxYTEuMDggMS4wOCAwIDAgMC0uNDI0LS4yOTUgMS42NDQgMS42NDQgMCAwIDAtLjYwOC0uMTAxYy0uMTE5IDAtLjI0MS4wMTItLjM2OC4wMzNhMy4yMTMgMy4yMTMgMCAwIDAtLjY3My4xOTUgMS4zMTMgMS4zMTMgMCAwIDAtLjIxMi4xMTR2Ljc2OGMuMTU4LS4xMzIuMzQxLS4yMzUuNTQ0LS4zMTMuMjA0LS4wNzguNDEzLS4xMTcuNjI3LS4xMTcuMjEzIDAgLjM3Ny4wNjMuNDk0LjE4Ni4xMTYuMTI1LjE3NC4zMjQuMTc0LjZsLTEuMDMuMTU0Yy0uMjA1LjAyNi0uMzguMDc3LS41MjYuMTUxYTEuMDgzIDEuMDgzIDAgMCAwLS41NjMuNjZBMS41NjIgMS41NjIgMCAwIDAgMyA4Ljg1N2MwIC4xNy4wMjUuMzIzLjA3NC40NjNhLjk0NS45NDUgMCAwIDAgLjU2OC41OTZjLjEzOS4wNTcuMjk3LjA4NC40NzguMDg0LjIyOSAwIC40MzEtLjA1My42MDQtLjE2YTEuMyAxLjMgMCAwIDAgLjQzOS0uNDYzaC4wMTR2LjUyOWguNzg1VjcuNDY5YzAtLjIzOC0uMDI3LS40NTEtLjA4My0uNjM3YTEuMjg2IDEuMjg2IDAgMCAwLS4yNDktLjQ3MXptLS40NDYgMi4wMmMwIC4xMzEtLjAyLjI1Mi0uMDU5LjM2NWEuODk3Ljg5NyAwIDAgMS0uMTY1LjI5NS43NTguNzU4IDAgMCAxLS41OTMuMjcyLjY4Mi42ODIgMCAwIDEtLjI0Mi0uMDQxLjUwNy41MDcgMCAwIDEtLjMwMi0uMjg2LjU4My41ODMgMCAwIDEtLjA0MS0uMjE4YzAtLjA4Ni4wMS0uMTY0LjAyNy0uMjMycy4wNTEtLjEyNy4wOTgtLjE4YS41NDYuNTQ2IDAgMCAxIC4xOTYtLjEzM2MuMDgzLS4wMzMuMTg5LS4wNjEuMzItLjA3OGwuNzYxLS4xMDl2LjM0NXptNC41MTQtMS44NjVhMS4yMDMgMS4yMDMgMCAwIDAtLjM5NC0uNDE2IDEuMDMgMS4wMyAwIDAgMC0uNTc0LS4xNTNjLS4xMjMgMC0uMjM0LjAxOC0uMzM2LjA1MWExIDEgMCAwIDAtLjI3OC4xNDcgMS4xNTMgMS4xNTMgMCAwIDAtLjIyNS4yMjIgMi4wMjIgMi4wMjIgMCAwIDAtLjE4MS4yODloLS4wMTNWNUg3djQuODg3aC42OTd2LS40ODVoLjAxM2MuMDQ0LjA4Mi4wOTUuMTU4LjE1MS4yMjkuMDU3LjA3LjExOS4xMzMuMTkxLjE4NmEuODM1LjgzNSAwIDAgMCAuMjM4LjEyMS45NDMuOTQzIDAgMCAwIC4yOTMuMDQyYy4yMyAwIC40MzQtLjA1My42MDktLjE2YTEuMzQgMS4zNCAwIDAgMCAuNDQzLS40NDNjLjEyLS4xODguMjExLS40MTIuMjcyLS42NzJBMy42MiAzLjYyIDAgMCAwIDEwIDcuODYxYTMuNTQgMy41NCAwIDAgMC0uMDc0LS43MzQgMi4wNDcgMi4wNDcgMCAwIDAtLjIyOC0uNjExem0tLjQ3NiAxLjk1M2MtLjAzOS4xOC0uMDk1LjMyOC0uMTY4LjQ0NWEuNzU1Ljc1NSAwIDAgMS0uMjY0LjI2Ni42ODcuNjg3IDAgMCAxLS42NTEuMDE1Ljc2Ljc2IDAgMCAxLS4yMzctLjIwNy45ODguOTg4IDAgMCAxLS4xNTQtLjMwNiAxLjI2MiAxLjI2MiAwIDAgMS0uMDU3LS4zODF2LS41MDZjMC0uMTcuMDItLjMyNi4wNjEtLjQ2NXMuMDk2LS4yNTguMTY4LS4zNTlhLjc1Ni43NTYgMCAwIDEgLjI1Ny0uMjMyYy4xLS4wNTUuMjEtLjA4Mi4zMzEtLjA4MmEuNjQ2LjY0NiAwIDAgMSAuNTcxLjMyYy4wNjYuMTA1LjExNi4yMy4xNS4zNzcuMDM1LjE0Ni4wNTIuMzEuMDUyLjQ5NCAwIC4yMzQtLjAxOS40NDEtLjA1OS42MjF6bTMuNjcyLTIuMzMyYS43LjcgMCAwIDEgLjEwNi4wNjZ2LjgxNGExLjE3OCAxLjE3OCAwIDAgMC0uMjczLS4yMjMuNjQ1LjY0NSAwIDAgMC0uMzE3LS4wODFjLS4wODUgMC0uMTYxLjAzMi0uMjM4LjA2NC0uMjYzLjE4MS0uNDY5LjU4Ni0uNDY5IDEuMzAxIDAgLjY2OC4xODIgMS4wMTEuNDIzIDEuMTQ2LjA4NC4wNC4xNzEuMDc0LjI3NC4wNzQuMDQ5IDAgLjEwMS0uMDEuMTUzLS4wMjdhLjg1Ni44NTYgMCAwIDAgLjE1OC0uMDY4IDEuMTYgMS4xNiAwIDAgMCAuMjg4LS4yMjV2Ljc3Yy0uMDkuMDc2LS4xOTIuMTM5LS4zMDkuMTg0YTEuMDk4IDEuMDk4IDAgMCAxLS40MTIuMDY4Ljk3NC45NzQgMCAwIDEtLjUyMy0uMTQzIDEuMjU3IDEuMjU3IDAgMCAxLS4zOTYtLjM5NiAyLjA5OCAyLjA5OCAwIDAgMS0uMjUyLS42MDIgMy4xMTggMy4xMTggMCAwIDEtLjA4OC0uNzU0YzAtLjMxNi4wMzItLjYwNC4wOTYtLjg2MS4wNjMtLjI1OC4xNTUtLjQ3OS4yNzMtLjY2LjExOS0uMTgyLjI2NS0uMzIyLjQzMy0uNDI0YTEuMTAyIDEuMTAyIDAgMCAxIDEuMDczLS4wMjN6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.color { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLXJlZHtmaWxsOiNlNTE0MDB9Lmljb24tdnMteWVsbG93e2ZpbGw6I2ZmY2MwMH0uaWNvbi12cy1ncmVlbntmaWxsOiMzMzk5MzN9Lmljb24tdnMtYmx1ZXtmaWxsOiMxYmExZTJ9Lmljb24tdnMtYWN0aW9uLXB1cnBsZXtmaWxsOiM2NTJkOTB9Lmljb24td2hpdGV7ZmlsbDojZmZmZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDhjMCA0LjQxMS0zLjU4OSA4LTggOGEyLjgwMyAyLjgwMyAwIDAgMS0yLjgtMi44YzAtLjgzMy4yNzItMS42MjkuNzY2LTIuMjQxYS41OTYuNTk2IDAgMCAwIC4xMDEtLjM1OS42NjcuNjY3IDAgMCAwLS42NjctLjY2Ni41OC41OCAwIDAgMC0uMzU4LjEwMkEzLjU4NCAzLjU4NCAwIDAgMSAyLjggMTAuOCAyLjgwMyAyLjgwMyAwIDAgMSAwIDhjMC00LjQxMSAzLjU4OS04IDgtOHM4IDMuNTg5IDggOHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24td2hpdGUiIGQ9Ik01LjQgNy45MzNhMi42NyAyLjY3IDAgMCAxIDIuNjY3IDIuNjY2YzAgLjYwNi0uMTkzIDEuMTc5LS41NDQgMS42MTRhMS41OTkgMS41OTkgMCAwIDAtLjMyMy45ODcuOC44IDAgMCAwIC44LjhjMy4zMDkgMCA2LTIuNjkxIDYtNnMtMi42OTEtNi02LTYtNiAyLjY5MS02IDZjMCAuNDQxLjM1OS44LjguOC4zNzggMCAuNzI5LS4xMTQuOTg2LS4zMjJBMi41NjggMi41NjggMCAwIDEgNS40IDcuOTMzeiIgaWQ9Imljb25GZyIvPjxnIGlkPSJpY29uQmciPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNOCAxNWMtLjk5MiAwLTEuOC0uODA4LTEuOC0xLjggMC0uNjA2LjE5My0xLjE3OS41NDQtMS42MTMuMjA4LS4yNTkuMzIzLS42MDkuMzIzLS45ODcgMC0uOTE5LS43NDgtMS42NjYtMS42NjctMS42NjYtLjM3NyAwLS43MjguMTE1LS45ODYuMzIzQTIuNTggMi41OCAwIDAgMSAyLjggOS44QzEuODA4IDkuOCAxIDguOTkyIDEgOGMwLTMuODYgMy4xNC03IDctNyAzLjg1OSAwIDcgMy4xNCA3IDcgMCAzLjg1OS0zLjE0MSA3LTcgN3pNNS40IDcuOTMzYTIuNjcgMi42NyAwIDAgMSAyLjY2NyAyLjY2NmMwIC42MDYtLjE5MyAxLjE3OS0uNTQ0IDEuNjE0YTEuNTk5IDEuNTk5IDAgMCAwLS4zMjMuOTg3LjguOCAwIDAgMCAuOC44YzMuMzA5IDAgNi0yLjY5MSA2LTZzLTIuNjkxLTYtNi02LTYgMi42OTEtNiA2YzAgLjQ0MS4zNTkuOC44LjguMzc4IDAgLjcyOS0uMTE0Ljk4Ni0uMzIyQTIuNTY4IDIuNTY4IDAgMCAxIDUuNCA3LjkzM3oiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tcHVycGxlIiBkPSJNNC41IDUuMzc1YS44NzUuODc1IDAgMSAwIDAgMS43NS44NzUuODc1IDAgMCAwIDAtMS43NXoiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1ibHVlIiBkPSJNNy4xMjUgMy42MjVhLjg3NS44NzUgMCAxIDAgMCAxLjc1Ljg3NS44NzUgMCAwIDAgMC0xLjc1eiIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWdyZWVuIiBkPSJNMTAuNjI1IDQuNWEuODc1Ljg3NSAwIDEgMCAwIDEuNzUuODc1Ljg3NSAwIDAgMCAwLTEuNzV6Ii8+PHBhdGggY2xhc3M9Imljb24tdnMteWVsbG93IiBkPSJNMTEuNSA4YS44NzUuODc1IDAgMSAwIDAgMS43NS44NzUuODc1IDAgMCAwIDAtMS43NXoiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1yZWQiIGQ9Ik05Ljc1IDEwLjYyNWEuODc1Ljg3NSAwIDEgMCAwIDEuNzUuODc1Ljg3NSAwIDAgMCAwLTEuNzV6Ii8+PC9nPjwvc3ZnPg==\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.file { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNSAxNkgyVjBoOC42MjFMMTUgNC4zNzlWMTZ6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNMTMgMTRINFYyaDV2NGg0djh6bS0zLTlWMi4yMDdMMTIuNzkzIDVIMTB6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik0zIDF2MTRoMTFWNC43OTNMMTAuMjA3IDFIM3ptMTAgMTNINFYyaDV2NGg0djh6bS0zLTlWMi4yMDdMMTIuNzkzIDVIMTB6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.reference { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojZjZmNmY2fS5pY29uLXZzLW91dHtmaWxsOiNmNmY2ZjZ9Lmljb24tdnMtYmd7ZmlsbDojNDI0MjQyfS5pY29uLXZzLWZne2ZpbGw6I2YwZWZmMX0uaWNvbi12cy1hY3Rpb24tYmx1ZXtmaWxsOiMwMDUzOWN9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTQgNC41NTZWMTNjMCAuOTctLjcwMSAyLTIgMkg0Yy0uOTcgMC0yLS43MDEtMi0yVjYuNjQ5QTMuNDk1IDMuNDk1IDAgMCAxIDAgMy41QzAgMS41NyAxLjU3IDAgMy41IDBINXYxaDUuMDYxTDE0IDQuNTU2eiIgaWQ9Im91dGxpbmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMTMgNXY4cy0uMDM1IDEtMS4wMzUgMWgtOFMzIDE0IDMgMTNWOWgxdjRoOFY2SDkuMzk3bC41MTctLjUyTDkgNC41NzJWM0g3LjQxOUw2LjQxMyAyaDMuMjI4TDEzIDV6IiBpZD0iaWNvbkJnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik03LjQxOSAzSDl2MS41NzJMNy40MTkgM3ptMS45NzggM0w2LjQxNiA5SDR2NGg4VjZIOS4zOTd6IiBpZD0iaWNvbkZnIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tYmx1ZSIgZD0iTTUuOTg4IDZIMy41YTIuNSAyLjUgMCAxIDEgMC01SDR2MWgtLjVDMi42NzMgMiAyIDIuNjczIDIgMy41UzIuNjczIDUgMy41IDVoMi41MTNMNCAzaDJsMi41IDIuNDg0TDYgOEg0bDEuOTg4LTJ6IiBpZD0iY29sb3JBY3Rpb24iLz48L3N2Zz4=\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.snippet { background-image: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDY5NCIKICAgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0NzA1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzNDcwMyIgLz4KICA8c3R5bGUKICAgICBpZD0ic3R5bGU0Njk2Ij4uaWNvbi1jYW52YXMtdHJhbnNwYXJlbnR7b3BhY2l0eTowO2ZpbGw6I2Y2ZjZmNn0uaWNvbi12cy1vdXR7ZmlsbDojZjZmNmY2fS5pY29uLXZzLWFjdGlvbi1vcmFuZ2V7ZmlsbDojYzI3ZDFhfTwvc3R5bGU+CiAgPGcKICAgICBpZD0iZzQ3MDciCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzMzMzMzLDAsMCwxLjMzMzMzMzMsLTI0NS45OTk5OSwtNS4zMzMzMzMpIj4KICAgIDxwYXRoCiAgICAgICBkPSJtIDE4NSw0IDExLDAgMCwxMiAtMTEsMCB6IgogICAgICAgaWQ9InBhdGg0NTM0IgogICAgICAgc3R5bGU9ImZpbGw6I2Y2ZjZmNiIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIDE5NCwxMyAwLC03IC03LDAgMCw3IC0xLDAgMCwtOCA5LDAgMCw4IC0xLDAgeiBtIC03LDIgLTEsMCAwLC0xIDEsMCAwLDEgeiBtIDIsLTEgLTEsMCAwLDEgMSwwIDAsLTEgeiBtIDIsMCAtMSwwIDAsMSAxLDAgMCwtMSB6IG0gMiwxIC0xLDAgMCwtMSAxLDAgMCwxIHogbSAyLC0xIC0xLDAgMCwxIDEsMCAwLC0xIHoiCiAgICAgICBpZD0icGF0aDQ1MzYiCiAgICAgICBzdHlsZT0iZmlsbDojNDI0MjQyIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTg3LDEzIDAsLTcgNywwIDAsNyAtNywwIHoiCiAgICAgICBpZD0icGF0aDQ1MzgiCiAgICAgICBzdHlsZT0iZmlsbDojZjBlZmYxIiAvPgogIDwvZz4KICA8cGF0aAogICAgIGlkPSJjYW52YXMiCiAgICAgZD0iTTE2IDE2SDBWMGgxNnYxNnoiCiAgICAgY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiAvPgo8L3N2Zz4K\"); }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor { background-image: none; }\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.folder { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uaWNvbi1jYW52YXMtdHJhbnNwYXJlbnR7b3BhY2l0eTowO2ZpbGw6I0Y2RjZGNjt9IC5pY29uLXZzLW91dHtvcGFjaXR5OjA7ZmlsbDojRjZGNkY2O30gLmljb24tdnMtZmd7ZmlsbDojRjBFRkYxO30gLmljb24tZm9sZGVye2ZpbGw6IzY1NjU2NTt9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNmgtMTZ2LTE2aDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDIuNXYxMGMwIC44MjctLjY3MyAxLjUtMS41IDEuNWgtMTEuOTk2Yy0uODI3IDAtMS41LS42NzMtMS41LTEuNXYtOGMwLS44MjcuNjczLTEuNSAxLjUtMS41aDIuODg2bDEtMmg4LjExYy44MjcgMCAxLjUuNjczIDEuNSAxLjV6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLWZvbGRlciIgZD0iTTE0LjUgMmgtNy40OTJsLTEgMmgtMy41MDRjLS4yNzcgMC0uNS4yMjQtLjUuNXY4YzAgLjI3Ni4yMjMuNS41LjVoMTEuOTk2Yy4yNzUgMCAuNS0uMjI0LjUtLjV2LTEwYzAtLjI3Ni0uMjI1LS41LS41LS41em0tLjQ5NiAyaC02LjQ5NmwuNS0xaDUuOTk2djF6IiBpZD0iaWNvbkJnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0xNCAzdjFoLTYuNWwuNS0xaDZ6IiBpZD0iaWNvbkZnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {\\n\\tmargin: 0 0 0 0.3em;\\n\\tborder: 0.1em solid #000;\\n\\twidth: 0.7em;\\n\\theight: 0.7em;\\n\\tdisplay: inline-block;\\n}\\n\\n/** Styles for the docs of the completion item in focus **/\\n.monaco-editor .suggest-widget .details {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tcursor: default;\\n}\\n\\n.monaco-editor .suggest-widget .details.no-docs {\\n\\tdisplay: none;\\n}\\n\\n.monaco-editor .suggest-widget.docs-below .details {\\n\\tborder-top-width: 0px;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element {\\n\\tflex: 1;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body {\\n\\tposition: absolute;\\n\\tbox-sizing: border-box;\\n\\theight: 100%;\\n\\twidth: 100%;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .header > .type {\\n\\tflex: 2;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\topacity: 0.7;\\n\\tword-break: break-all;\\n\\tmargin: 0;\\n\\tpadding: 4px 0 4px 5px;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .docs {\\n\\tmargin: 0;\\n\\tpadding: 4px 5px;\\n\\twhite-space: pre-wrap;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .docs.markdown-docs {\\n\\twhite-space: initial;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > .docs .code {\\n\\twhite-space: pre-wrap;\\n\\tword-wrap: break-word;\\n}\\n\\n.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body > p:empty {\\n\\tdisplay: none;\\n}\\n\\n.monaco-editor .suggest-widget .details code {\\n\\tborder-radius: 3px;\\n\\tpadding: 0 0.4em;\\n}\\n\\n/* High Contrast and Dark Theming */\\n\\n.monaco-editor.vs-dark .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close,\\n.monaco-editor.hc-black .suggest-widget .details > .monaco-scrollable-element > .body > .header > .close {\\n\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDMgMyAxNiAxNiI+PHBvbHlnb24gZmlsbD0iI2U4ZThlOCIgcG9pbnRzPSIxMi41OTcsMTEuMDQyIDE1LjQsMTMuODQ1IDEzLjg0NCwxNS40IDExLjA0MiwxMi41OTggOC4yMzksMTUuNCA2LjY4MywxMy44NDUgOS40ODUsMTEuMDQyIDYuNjgzLDguMjM5IDguMjM4LDYuNjgzIDExLjA0Miw5LjQ4NiAxMy44NDUsNi42ODMgMTUuNCw4LjIzOSIvPjwvc3ZnPg==\");\\n}\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDEwYzAgMi4yMDUtMS43OTQgNC00IDQtMS44NTggMC0zLjQxMS0xLjI3OS0zLjg1OC0zaC0uOTc4bDIuMzE4IDRIMHYtMS43MDNsMi0zLjQwOFYwaDExdjYuMTQyYzEuNzIxLjQ0NyAzIDIgMyAzLjg1OHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik0xMiAxdjQuNzVBNC4yNTUgNC4yNTUgMCAwIDAgNy43NSAxMGgtLjczMkw0LjI3NSA1LjI2OSAzIDcuNDQyVjFoOXpNNy43NDcgMTRMNC4yNjkgOCAuNzQ4IDE0aDYuOTk5ek0xNSAxMGEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDB6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.method,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.method,\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.function,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.function,\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.constructor,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.constructor { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtZmd7ZmlsbDojMmIyODJlfS5pY29uLXZzLWFjdGlvbi1wdXJwbGV7ZmlsbDojYjE4MGQ3fTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE1IDMuMzQ5djguNDAzTDguOTc1IDE2SDguMDdMMSAxMS41ODJWMy4zMjdMNy41OTUgMGgxLjExOEwxNSAzLjM0OXoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0xMi43MTUgNC4zOThMOC40ODcgNy4wMiAzLjU2NSA0LjI3Mmw0LjU3OC0yLjMwOSA0LjU3MiAyLjQzNXpNMyA1LjEwMmw1IDIuNzkydjUuNzA1bC01LTMuMTI1VjUuMTAyem02IDguNDM0VjcuODc4bDQtMi40OHY1LjMxN2wtNCAyLjgyMXoiIGlkPSJpY29uRmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tcHVycGxlIiBkPSJNOC4xNTYuODM3TDIgMy45NDJ2Ny4wODVMOC41MTcgMTUuMSAxNCAxMS4yMzNWMy45NUw4LjE1Ni44Mzd6bTQuNTU5IDMuNTYxTDguNDg3IDcuMDIgMy41NjUgNC4yNzJsNC41NzgtMi4zMDkgNC41NzIgMi40MzV6TTMgNS4xMDJsNSAyLjc5MnY1LjcwNWwtNS0zLjEyNVY1LjEwMnptNiA4LjQzNFY3Ljg3OGw0LTIuNDh2NS4zMTdsLTQgMi44MjF6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.field,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.field { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtZmd7ZmlsbDojMmIyODJlfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6Izc1YmVmZn08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0wIDEwLjczNlY0LjVMOSAwbDcgMy41djYuMjM2bC05IDQuNS03LTMuNXoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik05IDFMMSA1djVsNiAzIDgtNFY0TDkgMXpNNyA2Ljg4MkwzLjIzNiA1IDkgMi4xMTggMTIuNzY0IDQgNyA2Ljg4MnoiIGlkPSJpY29uQmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTkgMi4xMThMMTIuNzY0IDQgNyA2Ljg4MiAzLjIzNiA1IDkgMi4xMTh6IiBpZD0iaWNvbkZnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.event,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.event { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYWN0aW9uLW9yYW5nZXtmaWxsOiNlOGFiNTN9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTQgMS40MTRMOS40MTQgNkgxNHYxLjQxNEw1LjQxNCAxNkgzdi0xLjIzNEw1LjM3MSAxMEgyVjguNzY0TDYuMzgyIDBIMTR2MS40MTR6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLW9yYW5nZSIgZD0iTTcgN2g2bC04IDhINGwyLjk4NS02SDNsNC04aDZMNyA3eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.operator,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.operator { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtZmd7ZmlsbDojMmIyODJlfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6Izc1YmVmZn08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xIDF2MTRoMTRWMUgxem02IDEySDN2LTFoNHYxem0wLTNIM1Y5aDR2MXptMC01SDV2Mkg0VjVIMlY0aDJWMmgxdjJoMnYxem0zLjI4MSA4SDguNzE5bDMtNGgxLjU2M2wtMy4wMDEgNHpNMTQgNUg5VjRoNXYxeiIgaWQ9Imljb25CZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNNyA1SDV2Mkg0VjVIMlY0aDJWMmgxdjJoMnYxem03LTFIOXYxaDVWNHpNNyA5SDN2MWg0Vjl6bTAgM0gzdjFoNHYtMXptMy4yODEgMWwzLTRoLTEuNTYzbC0zIDRoMS41NjN6IiBpZD0iaWNvbkZnIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiLz48L3N2Zz4=\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.variable,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.variable { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX0uaWNvbi12cy1hY3Rpb24tYmx1ZXtmaWxsOiM3NWJlZmZ9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTEgM3YxLjAxNUw4LjczMyAyLjg4MiA1IDQuNzQ5VjNIMHYxMGg1di0xLjg1OWwyLjE1NiAxLjA3N0wxMSAxMC4yOTVWMTNoNVYzaC01eiIgaWQ9Im91dGxpbmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMiA1djZoMnYxSDFWNGgzdjFIMnptMTAgNnYxaDNWNGgtM3YxaDJ2NmgtMnoiIGlkPSJpY29uQmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTcuMTU2IDcuMTU2bC0xLjU3OC0uNzg5IDMuMTU2LTEuNTc4IDEuNTc4Ljc4OS0zLjE1NiAxLjU3OHoiIGlkPSJpY29uRmciIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWFjdGlvbi1ibHVlIiBkPSJNOC43MzMgNEw0IDYuMzY3djMuMTU2TDcuMTU2IDExLjFsNC43MzMtMi4zNjdWNS41NzhMOC43MzMgNHpNNy4xNTYgNy4xNTZsLTEuNTc4LS43ODkgMy4xNTYtMS41NzggMS41NzguNzg5LTMuMTU2IDEuNTc4eiIgaWQ9ImNvbG9ySW1wb3J0YW5jZSIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.class,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.class { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYWN0aW9uLW9yYW5nZXtmaWxsOiNlOGFiNTN9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTYgNi41ODZsLTMtM0wxMS41ODYgNUg5LjQxNGwxLTEtNC00aC0uODI4TDAgNS41ODZ2LjgyOGw0IDRMNi40MTQgOEg3djVoMS41ODZsMyAzaC44MjhMMTYgMTIuNDE0di0uODI4TDEzLjkxNCA5LjUgMTYgNy40MTR2LS44Mjh6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWFjdGlvbi1vcmFuZ2UiIGQ9Ik0xMyAxMGwyIDItMyAzLTItMiAxLTFIOFY3SDZMNCA5IDEgNmw1LTUgMyAzLTIgMmg1bDEtMSAyIDItMyAzLTItMiAxLTFIOXY0bDIuOTk5LjAwMkwxMyAxMHoiIGlkPSJpY29uQmciLz48L3N2Zz4=\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.interface,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.interface { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtZmd7ZmlsbDojMmIyODJlfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6Izc1YmVmZn08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xMS41IDEyYy0xLjkxNSAwLTMuNjAyLTEuMjQxLTQuMjI4LTNoLTEuNDFhMy4xMSAzLjExIDAgMCAxLTIuNzM3IDEuNjI1QzEuNDAyIDEwLjYyNSAwIDkuMjIzIDAgNy41czEuNDAyLTMuMTI1IDMuMTI1LTMuMTI1YzEuMTY1IDAgMi4yMDEuNjM5IDIuNzM3IDEuNjI1aDEuNDFjLjYyNi0xLjc1OSAyLjMxMy0zIDQuMjI4LTNDMTMuOTgxIDMgMTYgNS4wMTkgMTYgNy41UzEzLjk4MSAxMiAxMS41IDEyeiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTExLjUgOUExLjUwMSAxLjUwMSAwIDEgMSAxMyA3LjVjMCAuODI2LS42NzMgMS41LTEuNSAxLjV6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xMS41IDRhMy40OSAzLjQ5IDAgMCAwLTMuNDUgM0g1LjE4NUEyLjEyMiAyLjEyMiAwIDAgMCAxIDcuNWEyLjEyMyAyLjEyMyAwIDEgMCA0LjE4NS41SDguMDVhMy40OSAzLjQ5IDAgMCAwIDMuNDUgMyAzLjUgMy41IDAgMSAwIDAtN3ptMCA1Yy0uODI3IDAtMS41LS42NzMtMS41LTEuNVMxMC42NzMgNiAxMS41IDZzMS41LjY3MyAxLjUgMS41UzEyLjMyNyA5IDExLjUgOXoiIGlkPSJpY29uQmciLz48L3N2Zz4=\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.struct,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.struct { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYWN0aW9uLWJsdWV7ZmlsbDojNzViZWZmfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTkgMTRWOEg3djZIMVYyaDE0djEySDl6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xMCA5aDR2NGgtNFY5em0tOCA0aDRWOUgydjR6TTIgM3Y0aDEyVjNIMnoiIGlkPSJpY29uQmciLz48L3N2Zz4=\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.type-parameter,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.type-parameter { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTEwLjcwMiAxMC41bDItMi0yLTIgLjUtLjVIMTB2NWgxdjNINXYtM2gxVjZINC43OThsLjUuNS0yIDIgMiAyTDMgMTIuNzk3bC0zLTNWNy4yMDFsMy0zVjJoMTB2Mi4yMDFsMyAzdjIuNTk2bC0zIDMtMi4yOTgtMi4yOTd6IiBpZD0ib3V0bGluZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik00IDNoOHYyaC0xdi0uNWMwLS4yNzctLjIyNC0uNS0uNS0uNUg5djcuNWMwIC4yNzUuMjI0LjUuNS41aC41djFINnYtMWguNWEuNS41IDAgMCAwIC41LS41VjRINS41YS41LjUgMCAwIDAtLjUuNVY1SDRWM3pNMyA1LjYxNUwuMTE2IDguNSAzIDExLjM4M2wuODg0LS44ODMtMi0yIDItMkwzIDUuNjE1em0xMCAwbC0uODg0Ljg4NSAyIDItMiAyIC44ODQuODgzTDE1Ljg4NCA4LjUgMTMgNS42MTV6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.module,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.module { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTkuMjYgMTEuOTg0bC45NzgtLjAyMWEuOTYyLjk2MiAwIDAgMCAuMDktLjAwNmMuMDExLS4wNjMuMDI2LS4xNzkuMDI2LS4zNjFWOS42ODhjMC0uNjc5LjE4NS0xLjI1Ny41My0xLjcwNy0uMzQ2LS40NTItLjUzLTEuMDMtLjUzLTEuNzA1VjQuMzVjMC0uMTY3LS4wMjEtLjI1OS0uMDM0LS4zMDJMOS4yNiA0LjAyVi45NzNsMS4wMTEuMDExYzIuMTY3LjAyNCAzLjQwOSAxLjE1NiAzLjQwOSAzLjEwNXYxLjk2MmMwIC4zNTEuMDcxLjQ2MS4wNzIuNDYybC45MzYuMDYuMDUzLjkyN3YxLjkzNmwtLjkzNi4wNjFjLS4wNzYuMDE2LS4xMjUuMTQ2LS4xMjUuNDI0djIuMDE3YzAgLjkxNC0uMzMyIDMuMDQzLTMuNDA4IDMuMDc4bC0xLjAxMi4wMTF2LTMuMDQzem0tMy41MjEgMy4wMzJjLTMuMDg5LS4wMzUtMy40MjItMi4xNjQtMy40MjItMy4wNzhWOS45MjFjMC0uMzI3LS4wNjYtLjQzMi0uMDY3LS40MzNsLS45MzctLjA2LS4wNjMtLjkyOVY2LjU2M2wuOTQyLS4wNmMuMDU4IDAgLjEyNS0uMTE0LjEyNS0uNDUyVjQuMDljMC0xLjk0OSAxLjI0OC0zLjA4MSAzLjQyMi0zLjEwNUw2Ljc1Ljk3M1Y0LjAybC0uOTc1LjAyM2EuNTcyLjU3MiAwIDAgMC0uMDkzLjAxYy4wMDYuMDIxLS4wMTkuMTE1LS4wMTkuMjk3djEuOTI4YzAgLjY3NS0uMTg2IDEuMjUzLS41MzQgMS43MDUuMzQ4LjQ1LjUzNCAxLjAyOC41MzQgMS43MDd2MS45MDdjMCAuMTc1LjAxNC4yOTEuMDI3LjM2My4wMjMuMDAyIDEuMDYuMDI1IDEuMDYuMDI1djMuMDQzbC0xLjAxMS0uMDEyeiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1iZyIgZD0iTTUuNzUgMTQuMDE2Yy0xLjYyMy0uMDE5LTIuNDM0LS43MTEtMi40MzQtMi4wNzhWOS45MjFjMC0uOTAyLS4zNTUtMS4zNzYtMS4wNjYtMS40MjJ2LS45OThjLjcxMS0uMDQ1IDEuMDY2LS41MjkgMS4wNjYtMS40NDlWNC4wOWMwLTEuMzg1LjgxMS0yLjA4NyAyLjQzNC0yLjEwNXYxLjA2Yy0uNzI1LjAxNy0xLjA4Ny40NTMtMS4wODcgMS4zMDV2MS45MjhjMCAuOTItLjQ1NCAxLjQ4OC0xLjM2IDEuNzAyVjhjLjkwNy4yMDEgMS4zNi43NjMgMS4zNiAxLjY4OHYxLjkwN2MwIC40ODguMDgxLjgzNS4yNDMgMS4wNDIuMTYyLjIwOC40NDMuMzE2Ljg0NC4zMjV2MS4wNTR6bTcuOTktNS41MTdjLS43MDYuMDQ1LTEuMDYuNTItMS4wNiAxLjQyMnYyLjAxN2MwIDEuMzY3LS44MDcgMi4wNi0yLjQyIDIuMDc4di0xLjA1M2MuMzk2LS4wMDkuNjc4LS4xMTguODQ0LS4zMjguMTY3LS4yMS4yNS0uNTU2LjI1LTEuMDM5VjkuNjg4YzAtLjkyNS40NDktMS40ODggMS4zNDctMS42ODh2LS4wMjFjLS44OTgtLjIxNC0xLjM0Ny0uNzgyLTEuMzQ3LTEuNzAyVjQuMzVjMC0uODUyLS4zNjQtMS4yODgtMS4wOTQtMS4zMDZ2LTEuMDZjMS42MTMuMDE4IDIuNDIuNzIgMi40MiAyLjEwNXYxLjk2MmMwIC45Mi4zNTQgMS40MDQgMS4wNiAxLjQ0OXYuOTk5eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.property,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.property { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDUuNWE1LjUgNS41IDAgMCAxLTUuNSA1LjVjLS4yNzUgMC0uNTQzLS4wMjctLjgwNy0uMDY2bC0uMDc5LS4wMTJhNS40MjkgNS40MjkgMCAwIDEtLjgxLS4xOTJsLTQuNTM3IDQuNTM3Yy0uNDcyLjQ3My0xLjEuNzMzLTEuNzY3LjczM3MtMS4yOTUtLjI2LTEuNzY4LS43MzJhMi41MDIgMi41MDIgMCAwIDEgMC0zLjUzNWw0LjUzNy00LjUzN2E1LjQ1MiA1LjQ1MiAwIDAgMS0uMTkxLS44MTJjLS4wMDUtLjAyNS0uMDA4LS4wNTEtLjAxMi0uMDc3QTUuNTAzIDUuNTAzIDAgMCAxIDUgNS41YTUuNSA1LjUgMCAxIDEgMTEgMHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik0xNSA1LjVhNC41IDQuNSAwIDAgMS00LjUgNC41Yy0uNjkzIDAtMS4zNDItLjE3LTEuOTI5LS40NWwtNS4wMSA1LjAxYy0uMjkzLjI5NC0uNjc3LjQ0LTEuMDYxLjQ0cy0uNzY4LS4xNDYtMS4wNjEtLjQzOWExLjUgMS41IDAgMCAxIDAtMi4xMjFsNS4wMS01LjAxQTQuNDgzIDQuNDgzIDAgMCAxIDYgNS41IDQuNSA0LjUgMCAwIDEgMTAuNSAxYy42OTMgMCAxLjM0Mi4xNyAxLjkyOS40NUw5LjYzNiA0LjI0M2wyLjEyMSAyLjEyMSAyLjc5My0yLjc5M2MuMjguNTg3LjQ1IDEuMjM2LjQ1IDEuOTI5eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.unit,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.unit { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAxMS4wMTNIMVY0aDE1djcuMDEzeiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTggOUg3VjZoM3YzSDlWN0g4djJ6TTQgN2gxdjJoMVY2SDN2M2gxVjd6bTggMGgxdjJoMVY2aC0zdjNoMVY3eiIgaWQ9Imljb25GZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMiA1djVoMTNWNUgyem00IDRINVY3SDR2MkgzVjZoM3Yzem00IDBIOVY3SDh2Mkg3VjZoM3Yzem00IDBoLTFWN2gtMXYyaC0xVjZoM3YzeiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.constant,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.constant { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMjUyNTI2fS5pY29uLXZzLW91dHtmaWxsOiMyNTI1MjZ9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX0uaWNvbi12cy1hY3Rpb24tYmx1ZXtmaWxsOiM3NWJlZmZ9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMi44NzkgMTRMMSAxMi4xMjFWMy44NzlMMi44NzkgMmgxMC4yNDJMMTUgMy44Nzl2OC4yNDJMMTMuMTIxIDE0SDIuODc5eiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1mZyIgZD0iTTEyLjI5MyA0SDMuNzA3TDMgNC43MDd2Ni41ODZsLjcwNy43MDdoOC41ODZsLjcwNy0uNzA3VjQuNzA3TDEyLjI5MyA0ek0xMSAxMEg1VjloNnYxem0wLTNINVY2aDZ2MXoiIGlkPSJpY29uRmciLz48ZyBpZD0iaWNvbkJnIj48cGF0aCBjbGFzcz0iaWNvbi12cy1iZyIgZD0iTTEyLjcwNyAxM0gzLjI5M0wyIDExLjcwN1Y0LjI5M0wzLjI5MyAzaDkuNDE0TDE0IDQuMjkzdjcuNDE0TDEyLjcwNyAxM3ptLTktMWg4LjU4NmwuNzA3LS43MDdWNC43MDdMMTIuMjkzIDRIMy43MDdMMyA0LjcwN3Y2LjU4NmwuNzA3LjcwN3oiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tYmx1ZSIgZD0iTTExIDdINVY2aDZ2MXptMCAySDV2MWg2Vjl6Ii8+PC9nPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.value,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.value,\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.enum,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.enum { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtZmd7ZmlsbDojMmIyODJlfS5pY29uLXZzLWFjdGlvbi1vcmFuZ2V7ZmlsbDojZThhYjUzfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE0LjQxNCAxTDE2IDIuNTg2djUuODI4TDE0LjQxNCAxMEgxMHYzLjQxNkw4LjQxNCAxNUgxLjU4NkwwIDEzLjQxNnYtNS44M0wxLjU4NiA2SDZWMi41ODZMNy41ODYgMWg2LjgyOHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0yIDEzaDZWOEgydjV6bTEtNGg0djFIM1Y5em0wIDJoNHYxSDN2LTF6bTExLTVWM0g4djNoLjQxNEw5IDYuNTg2VjZoNHYxSDkuNDE0bC41ODYuNTg2VjhoNFY2em0tMS0xSDlWNGg0djF6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLW9yYW5nZSIgZD0iTTMgMTFoNC4wMDF2MUgzdi0xem0wLTFoNC4wMDFWOUgzdjF6bTYtMnY1bC0xIDFIMmwtMS0xVjhsMS0xaDZsMSAxek04IDhIMnY1aDZWOHptMS0ybDEgMWgzVjZIOXptMC0xaDRWNEg5djF6bTUtM0g4TDcgM3YzaDFWM2g2djVoLTR2MWg0bDEtMVYzbC0xLTF6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.enum-member,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.enum-member { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtZmd7ZmlsbDojMmIyODJlfS5pY29uLXZzLWFjdGlvbi1ibHVle2ZpbGw6Izc1YmVmZn08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0wIDE1VjZoNlYyLjU4Nkw3LjU4NSAxaDYuODI5TDE2IDIuNTg2djUuODI5TDE0LjQxNCAxMEgxMHY1SDB6bTMtNnoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik04IDN2M2g1djFoLTN2MWg0VjNIOHptNSAySDlWNGg0djF6TTIgOHY1aDZWOEgyem01IDNIM3YtMWg0djF6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYWN0aW9uLWJsdWUiIGQ9Ik0xMCA2aDN2MWgtM1Y2ek05IDR2MWg0VjRIOXptNS0ySDhMNyAzdjNoMVYzaDZ2NWgtNHYxaDRsMS0xVjNsLTEtMXptLTcgOEgzdjFoNHYtMXptMi0zdjdIMVY3aDh6TTggOEgydjVoNlY4eiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.keyword,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.keyword { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiA1VjJIOVYxSDB2MTRoMTN2LTNoM1Y5aC0xVjZIOVY1aDd6bS04IDdWOWgxdjNIOHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik0yIDNoNXYxSDJWM3oiIGlkPSJpY29uRmciLz48cGF0aCBjbGFzcz0iaWNvbi12cy1iZyIgZD0iTTE1IDRoLTVWM2g1djF6bS0xIDNoLTJ2MWgyVjd6bS00IDBIMXYxaDlWN3ptMiA2SDF2MWgxMXYtMXptLTUtM0gxdjFoNnYtMXptOCAwaC01djFoNXYtMXpNOCAydjNIMVYyaDd6TTcgM0gydjFoNVYzeiIgaWQ9Imljb25CZyIvPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.text,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.text { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAxNUgwVjFoMTZ2MTR6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNOS4yMjkgNy4zNTRjLjAzNS4xNDYuMDUyLjMxLjA1Mi40OTQgMCAuMjM0LS4wMi40NDEtLjA2LjYyMS0uMDM5LjE4LS4wOTUuMzI4LS4xNjguNDQ1YS42ODcuNjg3IDAgMCAxLS45MTQuMjgxLjc2Ljc2IDAgMCAxLS4yMzctLjIwNy45ODguOTg4IDAgMCAxLS4xNTQtLjMwNiAxLjI2MiAxLjI2MiAwIDAgMS0uMDU3LS4zODF2LS41MDZjMC0uMTcuMDItLjMyNi4wNjEtLjQ2NXMuMDk2LS4yNTguMTY4LS4zNTlhLjc1Ni43NTYgMCAwIDEgLjI1Ny0uMjMyYy4xLS4wNTUuMjEtLjA4Mi4zMzEtLjA4MmEuNjQ2LjY0NiAwIDAgMSAuNTcxLjMyYy4wNjcuMTA1LjExNi4yMy4xNS4zNzd6bS01LjEyNi44NjlhLjU1Ny41NTcgMCAwIDAtLjE5Ni4xMzJjLS4wNDcuMDUzLS4wOC4xMTItLjA5Ny4xOHMtLjAyOC4xNDctLjAyOC4yMzNhLjUxMy41MTMgMCAwIDAgLjE1Ny4zOS41MjguNTI4IDAgMCAwIC4xODYuMTEzLjY4Mi42ODIgMCAwIDAgLjI0Mi4wNDEuNzYuNzYgMCAwIDAgLjU5My0uMjcxLjg5Ny44OTcgMCAwIDAgLjE2NS0uMjk1Yy4wMzgtLjExMy4wNTktLjIzNC4wNTktLjM2NXYtLjM0NmwtLjc2MS4xMWExLjI5IDEuMjkgMCAwIDAtLjMyLjA3OHpNMTQgM3YxMEgyVjNoMTJ6TTUuOTYyIDcuNDY5YzAtLjIzOC0uMDI3LS40NTEtLjA4My0uNjM3YTEuMjg2IDEuMjg2IDAgMCAwLS4yNDktLjQ3MSAxLjA4IDEuMDggMCAwIDAtLjQyNC0uMjk1IDEuNjQ0IDEuNjQ0IDAgMCAwLS42MDgtLjEwMWMtLjExOSAwLS4yNDEuMDEyLS4zNjguMDMzYTMuMjEzIDMuMjEzIDAgMCAwLS42NzMuMTk1IDEuMzEzIDEuMzEzIDAgMCAwLS4yMTIuMTE0di43NjhjLjE1OC0uMTMyLjM0MS0uMjM1LjU0NC0uMzEzLjIwNC0uMDc4LjQxMy0uMTE3LjYyNy0uMTE3LjIxMyAwIC4zNzcuMDYzLjQ5NC4xODYuMTE2LjEyNS4xNzQuMzI0LjE3NC42bC0xLjAzLjE1NGMtLjIwNS4wMjYtLjM4LjA3Ny0uNTI2LjE1MWExLjA4MyAxLjA4MyAwIDAgMC0uNTYzLjY2QTEuNTYyIDEuNTYyIDAgMCAwIDMgOC44NTdjMCAuMTcuMDI1LjMyMy4wNzQuNDYzYS45NDUuOTQ1IDAgMCAwIC41NjguNTk2Yy4xMzkuMDU3LjI5Ny4wODQuNDc4LjA4NC4yMjkgMCAuNDMxLS4wNTMuNjA0LS4xNmExLjMgMS4zIDAgMCAwIC40MzktLjQ2M2guMDE0di41MjloLjc4NVY3LjQ2OXpNMTAgNy44NjFhMy41NCAzLjU0IDAgMCAwLS4wNzQtLjczNCAyLjA0NyAyLjA0NyAwIDAgMC0uMjI4LS42MTEgMS4yMDMgMS4yMDMgMCAwIDAtLjM5NC0uNDE2IDEuMDMgMS4wMyAwIDAgMC0uNTc0LS4xNTNjLS4xMjMgMC0uMjM0LjAxOC0uMzM2LjA1MWExIDEgMCAwIDAtLjI3OC4xNDcgMS4xNTMgMS4xNTMgMCAwIDAtLjIyNS4yMjIgMi4wMjIgMi4wMjIgMCAwIDAtLjE4MS4yODloLS4wMTNWNUg3djQuODg3aC42OTd2LS40ODVoLjAxM2MuMDQ0LjA4Mi4wOTUuMTU4LjE1MS4yMjkuMDU3LjA3LjExOS4xMzMuMTkxLjE4NmEuODM1LjgzNSAwIDAgMCAuMjM4LjEyMS45NDMuOTQzIDAgMCAwIC4yOTMuMDQyYy4yMyAwIC40MzQtLjA1My42MDktLjE2YTEuMzQgMS4zNCAwIDAgMCAuNDQzLS40NDNjLjEyLS4xODguMjExLS40MTIuMjcyLS42NzJBMy42MiAzLjYyIDAgMCAwIDEwIDcuODYxem0zLTEuNjU4YS43LjcgMCAwIDAtLjEwNi0uMDY2IDEuMTgzIDEuMTgzIDAgMCAwLS4xNDItLjA2MyAxLjIzMyAxLjIzMyAwIDAgMC0uMzYzLS4wNjVjLS4yMDkgMC0uMzk5LjA1MS0uNTY5LjE1YTEuMzU1IDEuMzU1IDAgMCAwLS40MzMuNDI0Yy0uMTE4LjE4Mi0uMjEuNDAyLS4yNzMuNjZhMy42MyAzLjYzIDAgMCAwLS4wMDggMS42MTVjLjA2LjIzLjE0My40My4yNTIuNjAyLjEwOS4xNjguMjQxLjMwMy4zOTYuMzk2YS45NzIuOTcyIDAgMCAwIC41MjQuMTQ0Yy4xNTggMCAuMjk2LS4wMjEuNDEzLS4wNjguMTE3LS4wNDUuMjE5LS4xMDguMzA5LS4xODR2LS43N2ExLjA5NCAxLjA5NCAwIDAgMS0uMjg4LjIyNS44MTkuODE5IDAgMCAxLS4xNTguMDY4LjQ4LjQ4IDAgMCAxLS4xNTMuMDI3LjYyLjYyIDAgMCAxLS4yNzQtLjA3NGMtLjI0MS0uMTM2LS40MjMtLjQ3OS0uNDIzLTEuMTQ2IDAtLjcxNS4yMDYtMS4xMi40NjktMS4zMDEuMDc3LS4wMzIuMTUzLS4wNjQuMjM4LS4wNjQuMTEzIDAgLjIyLjAyNy4zMTcuMDgyLjA5Ni4wNTcuMTg4LjEzMS4yNzIuMjIzdi0uODE1eiIgaWQ9Imljb25GZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMSAydjEyaDE0VjJIMXptMTMgMTFIMlYzaDEydjEwek01LjYzIDYuMzYxYTEuMDggMS4wOCAwIDAgMC0uNDI0LS4yOTUgMS42NDQgMS42NDQgMCAwIDAtLjYwOC0uMTAxYy0uMTE5IDAtLjI0MS4wMTItLjM2OC4wMzNhMy4yMTMgMy4yMTMgMCAwIDAtLjY3My4xOTUgMS4zMTMgMS4zMTMgMCAwIDAtLjIxMi4xMTR2Ljc2OGMuMTU4LS4xMzIuMzQxLS4yMzUuNTQ0LS4zMTMuMjA0LS4wNzguNDEzLS4xMTcuNjI3LS4xMTcuMjEzIDAgLjM3Ny4wNjMuNDk0LjE4Ni4xMTYuMTI1LjE3NC4zMjQuMTc0LjZsLTEuMDMuMTU0Yy0uMjA1LjAyNi0uMzguMDc3LS41MjYuMTUxYTEuMDgzIDEuMDgzIDAgMCAwLS41NjMuNjZBMS41NjIgMS41NjIgMCAwIDAgMyA4Ljg1N2MwIC4xNy4wMjUuMzIzLjA3NC40NjNhLjk0NS45NDUgMCAwIDAgLjU2OC41OTZjLjEzOS4wNTcuMjk3LjA4NC40NzguMDg0LjIyOSAwIC40MzEtLjA1My42MDQtLjE2YTEuMyAxLjMgMCAwIDAgLjQzOS0uNDYzaC4wMTR2LjUyOWguNzg1VjcuNDY5YzAtLjIzOC0uMDI3LS40NTEtLjA4My0uNjM3YTEuMjg2IDEuMjg2IDAgMCAwLS4yNDktLjQ3MXptLS40NDYgMi4wMmMwIC4xMzEtLjAyLjI1Mi0uMDU5LjM2NWEuODk3Ljg5NyAwIDAgMS0uMTY1LjI5NS43NTguNzU4IDAgMCAxLS41OTMuMjcyLjY4Mi42ODIgMCAwIDEtLjI0Mi0uMDQxLjUwNy41MDcgMCAwIDEtLjMwMi0uMjg2LjU4My41ODMgMCAwIDEtLjA0MS0uMjE4YzAtLjA4Ni4wMS0uMTY0LjAyNy0uMjMycy4wNTEtLjEyNy4wOTgtLjE4YS41NDYuNTQ2IDAgMCAxIC4xOTYtLjEzM2MuMDgzLS4wMzMuMTg5LS4wNjEuMzItLjA3OGwuNzYxLS4xMDl2LjM0NXptNC41MTQtMS44NjVhMS4yMDMgMS4yMDMgMCAwIDAtLjM5NC0uNDE2IDEuMDMgMS4wMyAwIDAgMC0uNTc0LS4xNTNjLS4xMjMgMC0uMjM0LjAxOC0uMzM2LjA1MWExIDEgMCAwIDAtLjI3OC4xNDcgMS4xNTMgMS4xNTMgMCAwIDAtLjIyNS4yMjIgMi4wMjIgMi4wMjIgMCAwIDAtLjE4MS4yODloLS4wMTNWNUg3djQuODg3aC42OTd2LS40ODVoLjAxM2MuMDQ0LjA4Mi4wOTUuMTU4LjE1MS4yMjkuMDU3LjA3LjExOS4xMzMuMTkxLjE4NmEuODM1LjgzNSAwIDAgMCAuMjM4LjEyMS45NDMuOTQzIDAgMCAwIC4yOTMuMDQyYy4yMyAwIC40MzQtLjA1My42MDktLjE2YTEuMzQgMS4zNCAwIDAgMCAuNDQzLS40NDNjLjEyLS4xODguMjExLS40MTIuMjcyLS42NzJBMy42MiAzLjYyIDAgMCAwIDEwIDcuODYxYTMuNTQgMy41NCAwIDAgMC0uMDc0LS43MzQgMi4wNDcgMi4wNDcgMCAwIDAtLjIyOC0uNjExem0tLjQ3NiAxLjk1M2MtLjAzOS4xOC0uMDk1LjMyOC0uMTY4LjQ0NWEuNzU1Ljc1NSAwIDAgMS0uMjY0LjI2Ni42ODcuNjg3IDAgMCAxLS42NTEuMDE1Ljc2Ljc2IDAgMCAxLS4yMzctLjIwNy45ODguOTg4IDAgMCAxLS4xNTQtLjMwNiAxLjI2MiAxLjI2MiAwIDAgMS0uMDU3LS4zODF2LS41MDZjMC0uMTcuMDItLjMyNi4wNjEtLjQ2NXMuMDk2LS4yNTguMTY4LS4zNTlhLjc1Ni43NTYgMCAwIDEgLjI1Ny0uMjMyYy4xLS4wNTUuMjEtLjA4Mi4zMzEtLjA4MmEuNjQ2LjY0NiAwIDAgMSAuNTcxLjMyYy4wNjYuMTA1LjExNi4yMy4xNS4zNzcuMDM1LjE0Ni4wNTIuMzEuMDUyLjQ5NCAwIC4yMzQtLjAxOS40NDEtLjA1OS42MjF6bTMuNjcyLTIuMzMyYS43LjcgMCAwIDEgLjEwNi4wNjZ2LjgxNGExLjE3OCAxLjE3OCAwIDAgMC0uMjczLS4yMjMuNjQ1LjY0NSAwIDAgMC0uMzE3LS4wODFjLS4wODUgMC0uMTYxLjAzMi0uMjM4LjA2NC0uMjYzLjE4MS0uNDY5LjU4Ni0uNDY5IDEuMzAxIDAgLjY2OC4xODIgMS4wMTEuNDIzIDEuMTQ2LjA4NC4wNC4xNzEuMDc0LjI3NC4wNzQuMDQ5IDAgLjEwMS0uMDEuMTUzLS4wMjdhLjg1Ni44NTYgMCAwIDAgLjE1OC0uMDY4IDEuMTYgMS4xNiAwIDAgMCAuMjg4LS4yMjV2Ljc3Yy0uMDkuMDc2LS4xOTIuMTM5LS4zMDkuMTg0YTEuMDk4IDEuMDk4IDAgMCAxLS40MTIuMDY4Ljk3NC45NzQgMCAwIDEtLjUyMy0uMTQzIDEuMjU3IDEuMjU3IDAgMCAxLS4zOTYtLjM5NiAyLjA5OCAyLjA5OCAwIDAgMS0uMjUyLS42MDIgMy4xMTggMy4xMTggMCAwIDEtLjA4OC0uNzU0YzAtLjMxNi4wMzItLjYwNC4wOTYtLjg2MS4wNjMtLjI1OC4xNTUtLjQ3OS4yNzMtLjY2LjExOS0uMTgyLjI2NS0uMzIyLjQzMy0uNDI0YTEuMTAyIDEuMTAyIDAgMCAxIDEuMDczLS4wMjN6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.color,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.color { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLXJlZHtmaWxsOiNmNDg3NzF9Lmljb24tdnMteWVsbG93e2ZpbGw6I2ZmY2MwMH0uaWNvbi12cy1ncmVlbntmaWxsOiMzMzk5MzN9Lmljb24tdnMtYmx1ZXtmaWxsOiMxYmExZTJ9Lmljb24tdnMtYWN0aW9uLXB1cnBsZXtmaWxsOiNiMTgwZDd9Lmljb24td2hpdGV7ZmlsbDojMDAwMDAwfTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZIMFYwaDE2djE2eiIgaWQ9ImNhbnZhcyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLW91dCIgZD0iTTE2IDhjMCA0LjQxMS0zLjU4OSA4LTggOGEyLjgwMyAyLjgwMyAwIDAgMS0yLjgtMi44YzAtLjgzMy4yNzItMS42MjkuNzY2LTIuMjQxYS41OTYuNTk2IDAgMCAwIC4xMDEtLjM1OS42NjcuNjY3IDAgMCAwLS42NjctLjY2Ni41OC41OCAwIDAgMC0uMzU4LjEwMkEzLjU4NCAzLjU4NCAwIDAgMSAyLjggMTAuOCAyLjgwMyAyLjgwMyAwIDAgMSAwIDhjMC00LjQxMSAzLjU4OS04IDgtOHM4IDMuNTg5IDggOHoiIGlkPSJvdXRsaW5lIi8+PHBhdGggY2xhc3M9Imljb24td2hpdGUiIGQ9Ik01LjQgNy45MzNhMi42NyAyLjY3IDAgMCAxIDIuNjY3IDIuNjY2YzAgLjYwNi0uMTkzIDEuMTc5LS41NDQgMS42MTRhMS41OTkgMS41OTkgMCAwIDAtLjMyMy45ODcuOC44IDAgMCAwIC44LjhjMy4zMDkgMCA2LTIuNjkxIDYtNnMtMi42OTEtNi02LTYtNiAyLjY5MS02IDZjMCAuNDQxLjM1OS44LjguOC4zNzggMCAuNzI5LS4xMTQuOTg2LS4zMjJBMi41NjggMi41NjggMCAwIDEgNS40IDcuOTMzeiIgaWQ9Imljb25GZyIvPjxnIGlkPSJpY29uQmciPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNOCAxNWMtLjk5MiAwLTEuOC0uODA4LTEuOC0xLjggMC0uNjA2LjE5My0xLjE3OS41NDQtMS42MTMuMjA4LS4yNTkuMzIzLS42MDkuMzIzLS45ODcgMC0uOTE5LS43NDgtMS42NjYtMS42NjctMS42NjYtLjM3NyAwLS43MjguMTE1LS45ODYuMzIzQTIuNTggMi41OCAwIDAgMSAyLjggOS44QzEuODA4IDkuOCAxIDguOTkyIDEgOGMwLTMuODYgMy4xNC03IDctNyAzLjg1OSAwIDcgMy4xNCA3IDcgMCAzLjg1OS0zLjE0MSA3LTcgN3pNNS40IDcuOTMzYTIuNjcgMi42NyAwIDAgMSAyLjY2NyAyLjY2NmMwIC42MDYtLjE5MyAxLjE3OS0uNTQ0IDEuNjE0YTEuNTk5IDEuNTk5IDAgMCAwLS4zMjMuOTg3LjguOCAwIDAgMCAuOC44YzMuMzA5IDAgNi0yLjY5MSA2LTZzLTIuNjkxLTYtNi02LTYgMi42OTEtNiA2YzAgLjQ0MS4zNTkuOC44LjguMzc4IDAgLjcyOS0uMTE0Ljk4Ni0uMzIyQTIuNTY4IDIuNTY4IDAgMCAxIDUuNCA3LjkzM3oiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tcHVycGxlIiBkPSJNNC41IDUuMzc1YS44NzUuODc1IDAgMSAwIDAgMS43NS44NzUuODc1IDAgMCAwIDAtMS43NXoiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1ibHVlIiBkPSJNNy4xMjUgMy42MjVhLjg3NS44NzUgMCAxIDAgMCAxLjc1Ljg3NS44NzUgMCAwIDAgMC0xLjc1eiIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWdyZWVuIiBkPSJNMTAuNjI1IDQuNWEuODc1Ljg3NSAwIDEgMCAwIDEuNzUuODc1Ljg3NSAwIDAgMCAwLTEuNzV6Ii8+PHBhdGggY2xhc3M9Imljb24tdnMteWVsbG93IiBkPSJNMTEuNSA4YS44NzUuODc1IDAgMSAwIDAgMS43NS44NzUuODc1IDAgMCAwIDAtMS43NXoiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1yZWQiIGQ9Ik05Ljc1IDEwLjYyNWEuODc1Ljg3NSAwIDEgMCAwIDEuNzUuODc1Ljg3NSAwIDAgMCAwLTEuNzV6Ii8+PC9nPjwvc3ZnPg==\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.file,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.file { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX08L3N0eWxlPjxwYXRoIGNsYXNzPSJpY29uLWNhbnZhcy10cmFuc3BhcmVudCIgZD0iTTE2IDE2SDBWMGgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNSAxNkgyVjBoOC42MjFMMTUgNC4zNzlWMTZ6IiBpZD0ib3V0bGluZSIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNMTMgMTRINFYyaDV2NGg0djh6bS0zLTlWMi4yMDdMMTIuNzkzIDVIMTB6IiBpZD0iaWNvbkZnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtYmciIGQ9Ik0zIDF2MTRoMTFWNC43OTNMMTAuMjA3IDFIM3ptMTAgMTNINFYyaDV2NGg0djh6bS0zLTlWMi4yMDdMMTIuNzkzIDVIMTB6IiBpZD0iaWNvbkJnIi8+PC9zdmc+\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.reference,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.reference { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlPi5pY29uLWNhbnZhcy10cmFuc3BhcmVudHtvcGFjaXR5OjA7ZmlsbDojMmQyZDMwfS5pY29uLXZzLW91dHtmaWxsOiMyZDJkMzB9Lmljb24tdnMtYmd7ZmlsbDojYzVjNWM1fS5pY29uLXZzLWZne2ZpbGw6IzJiMjgyZX0uaWNvbi12cy1hY3Rpb24tYmx1ZXtmaWxsOiM3NWJlZmZ9PC9zdHlsZT48cGF0aCBjbGFzcz0iaWNvbi1jYW52YXMtdHJhbnNwYXJlbnQiIGQ9Ik0xNiAxNkgwVjBoMTZ2MTZ6IiBpZD0iY2FudmFzIi8+PHBhdGggY2xhc3M9Imljb24tdnMtb3V0IiBkPSJNMTQgNC41NTZWMTNjMCAuOTctLjcwMSAyLTIgMkg0Yy0uOTcgMC0yLS43MDEtMi0yVjYuNjQ5QTMuNDk1IDMuNDk1IDAgMCAxIDAgMy41QzAgMS41NyAxLjU3IDAgMy41IDBINXYxaDUuMDYxTDE0IDQuNTU2eiIgaWQ9Im91dGxpbmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWJnIiBkPSJNMTMgNXY4cy0uMDM1IDEtMS4wMzUgMWgtOFMzIDE0IDMgMTNWOWgxdjRoOFY2SDkuMzk3bC41MTctLjUyTDkgNC41NzJWM0g3LjQxOUw2LjQxMyAyaDMuMjI4TDEzIDV6IiBpZD0iaWNvbkJnIi8+PHBhdGggY2xhc3M9Imljb24tdnMtZmciIGQ9Ik03LjQxOSAzSDl2MS41NzJMNy40MTkgM3ptMS45NzggM0w2LjQxNiA5SDR2NGg4VjZIOS4zOTd6IiBpZD0iaWNvbkZnIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1hY3Rpb24tYmx1ZSIgZD0iTTUuOTg4IDZIMy41YTIuNSAyLjUgMCAxIDEgMC01SDR2MWgtLjVDMi42NzMgMiAyIDIuNjczIDIgMy41UzIuNjczIDUgMy41IDVoMi41MTNMNCAzaDJsMi41IDIuNDg0TDYgOEg0bDEuOTg4LTJ6IiBpZD0iY29sb3JBY3Rpb24iLz48L3N2Zz4=\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.snippet,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.snippet { background-image: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDY5NCIKICAgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0NzA1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzNDcwMyIgLz4KICA8c3R5bGUKICAgICBpZD0ic3R5bGU0Njk2Ij4uaWNvbi1jYW52YXMtdHJhbnNwYXJlbnR7b3BhY2l0eTowO2ZpbGw6I2Y2ZjZmNn0uaWNvbi12cy1vdXR7ZmlsbDojZjZmNmY2fS5pY29uLXZzLWFjdGlvbi1vcmFuZ2V7ZmlsbDojYzI3ZDFhfTwvc3R5bGU+CiAgPGcKICAgICBpZD0iZzQ3MjQiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzMzMzMzLDAsMCwxLjMzMzMzMzMsLTI0NS45OTk5OSwtMzEuOTk5OTk5KSI+CiAgICA8cGF0aAogICAgICAgZD0ibSAxODUsMjQgMTEsMCAwLDEyIC0xMSwwIHoiCiAgICAgICBpZD0icGF0aDQ1MjgiCiAgICAgICBzdHlsZT0iZmlsbDojMmQyZDMwIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTk0LDMzIDAsLTcgLTcsMCAwLDcgLTEsMCAwLC04IDksMCAwLDggeiBtIC04LDEgMSwwIDAsMSAtMSwwIHogbSAyLDAgMSwwIDAsMSAtMSwwIHogbSAyLDAgMSwwIDAsMSAtMSwwIHogbSAyLDAgMSwwIDAsMSAtMSwwIHogbSAyLDAgMSwwIDAsMSAtMSwwIHoiCiAgICAgICBpZD0icGF0aDQ1MzAiCiAgICAgICBzdHlsZT0iZmlsbDojYzVjNWM1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTg3LDI2IDcsMCAwLDcgLTcsMCB6IgogICAgICAgaWQ9InBhdGg0NTMyIgogICAgICAgc3R5bGU9ImZpbGw6IzJiMjgyZSIgLz4KICA8L2c+Cjwvc3ZnPgo=\"); }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.customcolor,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.customcolor { background-image: none; }\\n\\n.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.folder,\\n.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.folder { background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uaWNvbi1jYW52YXMtdHJhbnNwYXJlbnR7b3BhY2l0eTowO2ZpbGw6I0Y2RjZGNjt9IC5pY29uLXZzLW91dHtvcGFjaXR5OjA7ZmlsbDojRjZGNkY2O30gLmljb24tdnMtZmd7b3BhY2l0eTowO2ZpbGw6I0YwRUZGMTt9IC5pY29uLWZvbGRlcntmaWxsOiNDNUM1QzU7fTwvc3R5bGU+PHBhdGggY2xhc3M9Imljb24tY2FudmFzLXRyYW5zcGFyZW50IiBkPSJNMTYgMTZoLTE2di0xNmgxNnYxNnoiIGlkPSJjYW52YXMiLz48cGF0aCBjbGFzcz0iaWNvbi12cy1vdXQiIGQ9Ik0xNiAyLjV2MTBjMCAuODI3LS42NzMgMS41LTEuNSAxLjVoLTExLjk5NmMtLjgyNyAwLTEuNS0uNjczLTEuNS0xLjV2LThjMC0uODI3LjY3My0xLjUgMS41LTEuNWgyLjg4NmwxLTJoOC4xMWMuODI3IDAgMS41LjY3MyAxLjUgMS41eiIgaWQ9Im91dGxpbmUiLz48cGF0aCBjbGFzcz0iaWNvbi1mb2xkZXIiIGQ9Ik0xNC41IDJoLTcuNDkybC0xIDJoLTMuNTA0Yy0uMjc3IDAtLjUuMjI0LS41LjV2OGMwIC4yNzYuMjIzLjUuNS41aDExLjk5NmMuMjc1IDAgLjUtLjIyNC41LS41di0xMGMwLS4yNzYtLjIyNS0uNS0uNS0uNXptLS40OTYgMmgtNi40OTZsLjUtMWg1Ljk5NnYxeiIgaWQ9Imljb25CZyIvPjxwYXRoIGNsYXNzPSJpY29uLXZzLWZnIiBkPSJNMTQgM3YxaC02LjVsLjUtMWg2eiIgaWQ9Imljb25GZyIvPjwvc3ZnPg==\"); }\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n\\n/* Default standalone editor font */\\n.monaco-editor {\\n\\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", \"Ubuntu\", \"Droid Sans\", sans-serif;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-item .action-label:focus {\\n\\tcolor: #0059AC;\\n\\tstroke-width: 1.2px;\\n\\ttext-shadow: 0px 0px 0.15px #0059AC;\\n}\\n\\n.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item .action-label:focus,\\n.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-item .action-label:focus {\\n\\tcolor: #ACDDFF;\\n\\tstroke-width: 1.2px;\\n\\ttext-shadow: 0px 0px 0.15px #ACDDFF;\\n}\\n\\n.monaco-editor-hover p {\\n\\tmargin: 0;\\n}\\n\\n/* The hc-black theme is already high contrast optimized */\\n.monaco-editor.hc-black {\\n\\t-ms-high-contrast-adjust: none;\\n}\\n/* In case the browser goes into high contrast mode and the editor is not configured with the hc-black theme */\\n@media screen and (-ms-high-contrast:active) {\\n\\n\\t/* current line highlight */\\n\\t.monaco-editor.vs .view-overlays .current-line,\\n\\t.monaco-editor.vs-dark .view-overlays .current-line {\\n\\t\\tborder-color: windowtext !important;\\n\\t\\tborder-left: 0;\\n\\t\\tborder-right: 0;\\n\\t}\\n\\n\\t/* view cursors */\\n\\t.monaco-editor.vs .cursor,\\n\\t.monaco-editor.vs-dark .cursor {\\n\\t\\tbackground-color: windowtext !important;\\n\\t}\\n\\t/* dnd target */\\n\\t.monaco-editor.vs .dnd-target,\\n\\t.monaco-editor.vs-dark .dnd-target {\\n\\t\\tborder-color: windowtext !important;\\n\\t}\\n\\n\\t/* selected text background */\\n\\t.monaco-editor.vs .selected-text,\\n\\t.monaco-editor.vs-dark .selected-text {\\n\\t\\tbackground-color: highlight !important;\\n\\t}\\n\\n\\t/* allow the text to have a transparent background. */\\n\\t.monaco-editor.vs .view-line,\\n\\t.monaco-editor.vs-dark .view-line {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t}\\n\\n\\t/* text color */\\n\\t.monaco-editor.vs .view-line span,\\n\\t.monaco-editor.vs-dark .view-line span {\\n\\t\\tcolor: windowtext !important;\\n\\t}\\n\\t/* selected text color */\\n\\t.monaco-editor.vs .view-line span.inline-selected-text,\\n\\t.monaco-editor.vs-dark .view-line span.inline-selected-text {\\n\\t\\tcolor: highlighttext !important;\\n\\t}\\n\\n\\t/* allow decorations */\\n\\t.monaco-editor.vs .view-overlays,\\n\\t.monaco-editor.vs-dark .view-overlays {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t}\\n\\n\\t/* various decorations */\\n\\t.monaco-editor.vs .selectionHighlight,\\n\\t.monaco-editor.vs-dark .selectionHighlight,\\n\\t.monaco-editor.vs .wordHighlight,\\n\\t.monaco-editor.vs-dark .wordHighlight,\\n\\t.monaco-editor.vs .wordHighlightStrong,\\n\\t.monaco-editor.vs-dark .wordHighlightStrong,\\n\\t.monaco-editor.vs .reference-decoration,\\n\\t.monaco-editor.vs-dark .reference-decoration {\\n\\t\\tborder: 2px dotted highlight !important;\\n\\t\\tbackground: transparent !important;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\t.monaco-editor.vs .rangeHighlight,\\n\\t.monaco-editor.vs-dark .rangeHighlight {\\n\\t\\tbackground: transparent !important;\\n\\t\\tborder: 1px dotted activeborder !important;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\t.monaco-editor.vs .bracket-match,\\n\\t.monaco-editor.vs-dark .bracket-match {\\n\\t\\tborder-color: windowtext !important;\\n\\t\\tbackground: transparent !important;\\n\\t}\\n\\n\\t/* find widget */\\n\\t.monaco-editor.vs .findMatch,\\n\\t.monaco-editor.vs-dark .findMatch,\\n\\t.monaco-editor.vs .currentFindMatch,\\n\\t.monaco-editor.vs-dark .currentFindMatch {\\n\\t\\tborder: 2px dotted activeborder !important;\\n\\t\\tbackground: transparent !important;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\t.monaco-editor.vs .find-widget,\\n\\t.monaco-editor.vs-dark .find-widget {\\n\\t\\tborder: 1px solid windowtext;\\n\\t}\\n\\n\\t/* list - used by suggest widget */\\n\\t.monaco-editor.vs .monaco-list .monaco-list-row,\\n\\t.monaco-editor.vs-dark .monaco-list .monaco-list-row {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t\\tcolor: windowtext !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-list .monaco-list-row.focused,\\n\\t.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused {\\n\\t\\tcolor: highlighttext !important;\\n\\t\\tbackground-color: highlight !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-list .monaco-list-row:hover,\\n\\t.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover {\\n\\t\\tbackground: transparent !important;\\n\\t\\tborder: 1px solid highlight;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\n\\t/* tree */\\n\\t.monaco-editor.vs .monaco-tree .monaco-tree-row,\\n\\t.monaco-editor.vs-dark .monaco-tree .monaco-tree-row {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t\\tcolor: windowtext !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-tree .monaco-tree-row.selected,\\n\\t.monaco-editor.vs-dark .monaco-tree .monaco-tree-row.selected,\\n\\t.monaco-editor.vs .monaco-tree .monaco-tree-row.focused,\\n\\t.monaco-editor.vs-dark .monaco-tree .monaco-tree-row.focused {\\n\\t\\tcolor: highlighttext !important;\\n\\t\\tbackground-color: highlight !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-tree .monaco-tree-row:hover,\\n\\t.monaco-editor.vs-dark .monaco-tree .monaco-tree-row:hover {\\n\\t\\tbackground: transparent !important;\\n\\t\\tborder: 1px solid highlight;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\n\\t/* scrollbars */\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar,\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t\\tbackground: background !important;\\n\\t\\tborder: 1px solid windowtext;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider,\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider {\\n\\t\\tbackground: windowtext !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider:hover,\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider:hover {\\n\\t\\tbackground: highlight !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider.active,\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active {\\n\\t\\tbackground: highlight !important;\\n\\t}\\n\\n\\t/* overview ruler */\\n\\t.monaco-editor.vs .decorationsOverviewRuler,\\n\\t.monaco-editor.vs-dark .decorationsOverviewRuler {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t/* minimap */\\n\\t.monaco-editor.vs .minimap,\\n\\t.monaco-editor.vs-dark .minimap {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* squiggles */\\n\\t.monaco-editor.vs .squiggly-d-error,\\n\\t.monaco-editor.vs-dark .squiggly-d-error {\\n\\t\\tbackground: transparent !important;\\n\\t\\tborder-bottom: 4px double #E47777;\\n\\t}\\n\\t.monaco-editor.vs .squiggly-c-warning,\\n\\t.monaco-editor.vs-dark .squiggly-c-warning {\\n\\t\\tborder-bottom: 4px double #71B771;\\n\\t}\\n\\t.monaco-editor.vs .squiggly-b-info,\\n\\t.monaco-editor.vs-dark .squiggly-b-info {\\n\\t\\tborder-bottom: 4px double #71B771;\\n\\t}\\n\\t.monaco-editor.vs .squiggly-a-hint,\\n\\t.monaco-editor.vs-dark .squiggly-a-hint {\\n\\t\\tborder-bottom: 4px double #6c6c6c;\\n\\t}\\n\\n\\t/* contextmenu */\\n\\t.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-item .action-label:focus,\\n\\t.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item .action-label:focus {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t\\tcolor: highlighttext !important;\\n\\t\\tbackground-color: highlight !important;\\n\\t}\\n\\t.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-item .action-label:hover,\\n\\t.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item .action-label:hover {\\n\\t\\t-ms-high-contrast-adjust: none;\\n\\t\\tbackground: transparent !important;\\n\\t\\tborder: 1px solid highlight;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\n\\t/* diff editor */\\n\\t.monaco-diff-editor.vs .diffOverviewRuler,\\n\\t.monaco-diff-editor.vs-dark .diffOverviewRuler {\\n\\t\\tdisplay: none;\\n\\t}\\n\\t.monaco-editor.vs .line-insert,\\n\\t.monaco-editor.vs-dark .line-insert,\\n\\t.monaco-editor.vs .line-delete,\\n\\t.monaco-editor.vs-dark .line-delete {\\n\\t\\tbackground: transparent !important;\\n\\t\\tborder: 1px solid highlight !important;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\t.monaco-editor.vs .char-insert,\\n\\t.monaco-editor.vs-dark .char-insert,\\n\\t.monaco-editor.vs .char-delete,\\n\\t.monaco-editor.vs-dark .char-delete {\\n\\t\\tbackground: transparent !important;\\n\\t}\\n}\\n\\n/*.monaco-editor.vs [tabindex=\"0\"]:focus {\\n\\toutline: 1px solid rgba(0, 122, 204, 0.4);\\n\\toutline-offset: -1px;\\n\\topacity: 1 !important;\\n}\\n\\n.monaco-editor.vs-dark [tabindex=\"0\"]:focus {\\n\\toutline: 1px solid rgba(14, 99, 156, 0.6);\\n\\toutline-offset: -1px;\\n\\topacity: 1 !important;\\n}*/\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.context-view .monaco-menu {\\n\\tmin-width: 130px;\\n}\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*---------------------------------------------------------------------------------------------\\n *  Copyright (c) Microsoft Corporation. All rights reserved.\\n *  Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n\\n.monaco-menu .monaco-action-bar.vertical {\\n\\tmargin-left: 0;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .actions-container {\\n\\tdisplay: block;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-item {\\n\\tpadding: 0;\\n\\t-ms-transform: none;\\n\\t-webkit-transform: none;\\n\\t-moz-transform: none;\\n\\t-o-transform: none;\\n\\ttransform: none;\\n\\tdisplay: -ms-flexbox;\\n\\tdisplay: flex;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\\n\\t-ms-transform: none;\\n\\t-webkit-transform: none;\\n\\t-moz-transform: none;\\n\\t-o-transform: none;\\n\\ttransform: none;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-item.focused {\\n\\tbackground-color: #E4E4E4;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-item:hover:not(.disabled) {\\n\\tbackground-color: #EEE;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-label {\\n\\t-ms-flex: 1 1 auto;\\n\\tflex: 1 1 auto;\\n\\ttext-decoration: none;\\n\\tpadding: 0.8em 1em;\\n\\tline-height: 1.1em;\\n\\tbackground: none;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .keybinding {\\n\\tdisplay: inline-block;\\n\\t-ms-flex: 2 1 auto;\\n\\tflex: 2 1 auto;\\n\\tpadding: 0.8em 1em;\\n\\tline-height: 1.1em;\\n\\tfont-size: 12px;\\n\\ttext-align: right;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding {\\n\\topacity: 0.4;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\\n\\tdisplay: inline-block;\\n\\t-webkit-box-sizing:\\tborder-box;\\n\\t-o-box-sizing:\\t\\tborder-box;\\n\\t-moz-box-sizing:\\tborder-box;\\n\\t-ms-box-sizing:\\t\\tborder-box;\\n\\tbox-sizing:\\t\\t\\tborder-box;\\n\\tmargin: 0;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\\n\\tpadding: 0.5em 0 0 0;\\n\\tmargin-bottom: 0.5em;\\n\\twidth: 100%;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\\n\\tpadding: 0.7em 1em 0.1em 1em;\\n\\tfont-weight: bold;\\n\\topacity: 1;\\n}\\n\\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\\n\\tcolor: inherit;\\n}\\n\\n/* Context Menu */\\n\\n.context-view.monaco-menu-container {\\n\\tfont-family: \"Segoe WPC\", \"Segoe UI\", \".SFNSDisplay-Light\", \"SFUIText-Light\", \"HelveticaNeue-Light\", sans-serif, \"Droid Sans Fallback\";\\n\\toutline: 0;\\n\\tbox-shadow: 0 2px 8px #A8A8A8;\\n\\tborder: none;\\n\\tcolor: #646465;\\n\\tbackground-color: white;\\n\\t-webkit-animation: fadeIn 0.083s linear;\\n\\t-o-animation: fadeIn 0.083s linear;\\n\\t-moz-animation: fadeIn 0.083s linear;\\n\\t-ms-animation: fadeIn 0.083s linear;\\n\\tanimation: fadeIn 0.083s linear;\\n}\\n\\n.context-view.monaco-menu-container :focus {\\n\\toutline: 0;\\n}\\n\\n/* Dark theme */\\n.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item.focused {\\n\\tbackground-color: #4B4C4D;\\n}\\n\\n.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item:hover:not(.disabled) {\\n\\tbackground-color: #3A3A3A;\\n}\\n\\n.vs-dark .context-view.monaco-menu-container {\\n\\tbox-shadow: 0 2px 8px #000;\\n\\tcolor: #BBB;\\n\\tbackground-color: #2D2F31;\\n}\\n\\n/* High Contrast Theming */\\n.hc-black .context-view.monaco-menu-container {\\n\\tborder: 2px solid #6FC3DF;\\n\\tcolor: white;\\n\\tbackground-color: #0C141F;\\n\\tbox-shadow: none;\\n}\\n\\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused {\\n\\tbackground: none;\\n\\tborder: 1px dotted #f38518;\\n}\\n\\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item:hover:not(.disabled) {\\n\\tbackground: none;\\n\\tborder: 1px dashed #f38518;\\n}',\"\"])},function(e,t,n){\"use strict\";var r,i,o=n(368),s=n(386),a=n(389),u=n(10),l=n(27),c=n(13);function h(e){return Object.keys(e.rules).sort().map(function(t){return e.rules[t]})}function d(e,t,n,r){if(this.name=e,this.superGrammar=t,this.rules=n,r){if(!(r in n))throw new Error(\"Invalid start rule: '\"+r+\"' is not a rule in grammar '\"+e+\"'\");this.defaultStartRule=r}}d.initApplicationParser=function(e,t){r=e,i=t},d.prototype={matcher:function(){return new s(this)},isBuiltIn:function(){return this===d.ProtoBuiltInRules||this===d.BuiltInRules},equals:function(e){if(this===e)return!0;if(null==e||this.name!==e.name||this.defaultStartRule!==e.defaultStartRule||this.superGrammar!==e.superGrammar&&!this.superGrammar.equals(e.superGrammar))return!1;var t=h(this),n=h(e);return t.length===n.length&&t.every(function(e,t){return e.description===n[t].description&&e.formals.join(\",\")===n[t].formals.join(\",\")&&e.body.toString()===n[t].body.toString()})},match:function(e,t){var n=this.matcher();return n.replaceInputRange(0,0,e),n.match(t)},trace:function(e,t){var n=this.matcher();return n.replaceInputRange(0,0,e),n.trace(t)},semantics:function(){throw new Error(\"semantics() is deprecated -- use createSemantics() instead.\")},createSemantics:function(){return a.createSemantics(this)},extendSemantics:function(e){return a.createSemantics(this,e._getSemantics())},_checkTopDownActionDict:function(e,t,n){var r,i=[];for(var o in n){var s=n[o];if(\"_iter\"===(r=o)||\"_terminal\"===r||\"_nonterminal\"===r||\"_default\"===r||o in this.rules)if(\"function\"!=typeof s)i.push(\"'\"+o+\"' must be a function in an action dictionary for '\"+this.name+\"'\");else{var a=s.length,u=this._topDownActionArity(o);a!==u&&i.push(\"Semantic action '\"+o+\"' has the wrong arity: expected \"+u+\", got \"+a)}else i.push(\"'\"+o+\"' is not a valid semantic action for '\"+this.name+\"'\")}if(i.length>0){var l=i.map(function(e){return\"- \"+e}),c=new Error(\"Found errors in the action dictionary of the '\"+t+\"' \"+e+\":\\n\"+l.join(\"\\n\"));throw c.problems=i,c}},_topDownActionArity:function(e){return\"_iter\"===e||\"_nonterminal\"===e||\"_default\"===e?1:\"_terminal\"===e?0:this.rules[e].body.getArity()},_inheritsFrom:function(e){for(var t=this.superGrammar;t;){if(t.equals(e,!0))return!0;t=t.superGrammar}return!1},toRecipe:function(e){var t={};this.source&&(t.source=this.source.contents);var n=null;this.superGrammar&&!this.superGrammar.isBuiltIn()&&(n=JSON.parse(this.superGrammar.toRecipe()));var r=null;this.defaultStartRule&&(r=this.defaultStartRule);var i={},o=this;return Object.keys(this.rules).forEach(function(e){var t,n=o.rules[e],r=n.body,s=!o.superGrammar||!o.superGrammar.rules[e];t=s?\"define\":r instanceof c.Extend?\"extend\":\"override\";var a={};if(n.source&&o.source){var u=n.source.relativeTo(o.source);a.sourceInterval=[u.startIdx,u.endIdx]}var l=s?n.description:null,h=r.outputRecipe(n.formals,o.source);i[e]=[t,a,l,n.formals,h]}),JSON.stringify([\"grammar\",t,this.name,n,r,i])},toOperationActionDictionaryTemplate:function(){return this._toOperationOrAttributeActionDictionaryTemplate()},toAttributeActionDictionaryTemplate:function(){return this._toOperationOrAttributeActionDictionaryTemplate()},_toOperationOrAttributeActionDictionaryTemplate:function(){var e=new u.StringBuffer;e.append(\"{\");var t=!0;for(var n in this.rules){var r=this.rules[n].body;t?t=!1:e.append(\",\"),e.append(\"\\n\"),e.append(\"  \"),this.addSemanticActionTemplate(n,r,e)}return e.append(\"\\n}\"),e.contents()},addSemanticActionTemplate:function(e,t,n){n.append(e),n.append(\": function(\");var r=this._topDownActionArity(e);n.append(u.repeat(\"_\",r).join(\", \")),n.append(\") {\\n\"),n.append(\"  }\")},parseApplication:function(e){var t;if(-1===e.indexOf(\"<\"))t=new c.Apply(e);else{var n=r.match(e,\"Base_application\");t=i(n,{})}if(!(t.ruleName in this.rules))throw l.undeclaredRule(t.ruleName,this.name);var o=this.rules[t.ruleName].formals;if(o.length!==t.args.length){var s=this.rules[t.ruleName].source;throw l.wrongNumberOfParameters(t.ruleName,o.length,t.args.length,s)}return t}},d.ProtoBuiltInRules=new d(\"ProtoBuiltInRules\",void 0,{any:{body:c.any,formals:[],description:\"any character\",primitive:!0},end:{body:c.end,formals:[],description:\"end of input\",primitive:!0},caseInsensitive:{body:new o(new c.Param(0)),formals:[\"str\"],primitive:!0},lower:{body:new c.UnicodeChar(\"Ll\"),formals:[],description:\"a lowercase letter\",primitive:!0},upper:{body:new c.UnicodeChar(\"Lu\"),formals:[],description:\"an uppercase letter\",primitive:!0},unicodeLtmo:{body:new c.UnicodeChar(\"Ltmo\"),formals:[],description:\"a Unicode character in Lt, Lm, or Lo\",primitive:!0},spaces:{body:new c.Star(new c.Apply(\"space\")),formals:[]},space:{body:new c.Range(\"\\0\",\" \"),formals:[],description:\"a space\"}}),e.exports=d},function(e,t){e.exports=function(e,t){if(!t||\"object\"!=typeof t)return e;var n=Object.keys(t),r=n.length;for(;r--;)e[n[r]]=t[n[r]];return e}},function(e,t,n){\"use strict\";var r=n(10).assert,i=n(27),o=n(43);function s(e,t,n){this.sourceString=e,this.startIdx=t,this.endIdx=n}s.coverage=function(){for(var e=arguments[0].sourceString,t=arguments[0].startIdx,n=arguments[0].endIdx,r=1;r<arguments.length;r++){if(arguments[r].sourceString!==e)throw i.intervalSourcesDontMatch();t=Math.min(t,arguments[r].startIdx),n=Math.max(n,arguments[r].endIdx)}return new s(e,t,n)},s.prototype={coverageWith:function(){var e=Array.prototype.slice.call(arguments);return e.push(this),s.coverage.apply(void 0,e)},collapsedLeft:function(){return new s(this.sourceString,this.startIdx,this.startIdx)},collapsedRight:function(){return new s(this.sourceString,this.endIdx,this.endIdx)},getLineAndColumnMessage:function(){var e=[this.startIdx,this.endIdx];return o.getLineAndColumnMessage(this.sourceString,this.startIdx,e)},minus:function(e){if(this.sourceString!==e.sourceString)throw i.intervalSourcesDontMatch();return this.startIdx===e.startIdx&&this.endIdx===e.endIdx?[]:this.startIdx<e.startIdx&&e.endIdx<this.endIdx?[new s(this.sourceString,this.startIdx,e.startIdx),new s(this.sourceString,e.endIdx,this.endIdx)]:this.startIdx<e.endIdx&&e.endIdx<this.endIdx?[new s(this.sourceString,e.endIdx,this.endIdx)]:this.startIdx<e.startIdx&&e.startIdx<this.endIdx?[new s(this.sourceString,this.startIdx,e.startIdx)]:[this]},relativeTo:function(e){if(this.sourceString!==e.sourceString)throw i.intervalSourcesDontMatch();return r(this.startIdx>=e.startIdx&&this.endIdx<=e.endIdx,\"other interval does not cover this one\"),new s(this.sourceString,this.startIdx-e.startIdx,this.endIdx-e.startIdx)},trimmed:function(){var e=this.contents,t=this.startIdx+e.match(/^\\s*/)[0].length,n=this.endIdx-e.match(/\\s*$/)[0].length;return new s(this.sourceString,t,n)},subInterval:function(e,t){var n=this.startIdx+e;return new s(this.sourceString,n,n+t)}},Object.defineProperties(s.prototype,{contents:{get:function(){return void 0===this._contents&&(this._contents=this.sourceString.slice(this.startIdx,this.endIdx)),this._contents},enumerable:!0},length:{get:function(){return this.endIdx-this.startIdx},enumerable:!0}}),e.exports=s},function(e,t,n){\"use strict\";var r=n(141);function i(e){this.source=e,this.pos=0,this.examinedLength=0}i.prototype={atEnd:function(){var e=this.pos===this.source.length;return this.examinedLength=Math.max(this.examinedLength,this.pos+1),e},next:function(){var e=this.source[this.pos++];return this.examinedLength=Math.max(this.examinedLength,this.pos),e},matchString:function(e,t){var n;if(t){for(n=0;n<e.length;n++){var r=this.next(),i=e[n];if(null==r||r.toUpperCase()!==i.toUpperCase())return!1}return!0}for(n=0;n<e.length;n++)if(this.next()!==e[n])return!1;return!0},sourceSlice:function(e,t){return this.source.slice(e,t)},interval:function(e,t){return new r(this.source,e,t||this.pos)}},e.exports=i},function(e,t,n){\"use strict\";var r=n(10),i=n(43),o=n(141);function s(e,t,n,o,s,a,u){this.matcher=e,this.input=t,this.startExpr=n,this._cst=o,this._cstOffset=s,this._rightmostFailurePosition=a,this._rightmostFailures=u,this.failed()&&(r.defineLazyProperty(this,\"message\",function(){var e=\"Expected \"+this.getExpectedText();return i.getLineAndColumnMessage(this.input,this.getRightmostFailurePosition())+e}),r.defineLazyProperty(this,\"shortMessage\",function(){var e=\"expected \"+this.getExpectedText(),t=i.getLineAndColumn(this.input,this.getRightmostFailurePosition());return\"Line \"+t.lineNum+\", col \"+t.colNum+\": \"+e}))}s.prototype.succeeded=function(){return!!this._cst},s.prototype.failed=function(){return!this.succeeded()},s.prototype.getRightmostFailurePosition=function(){return this._rightmostFailurePosition},s.prototype.getRightmostFailures=function(){if(!this._rightmostFailures){this.matcher.setInput(this.input);var e=this.matcher._match(this.startExpr,!1,this.getRightmostFailurePosition());this._rightmostFailures=e.getRightmostFailures()}return this._rightmostFailures},s.prototype.toString=function(){return this.succeeded()?\"[match succeeded]\":\"[match failed at position \"+this.getRightmostFailurePosition()+\"]\"},s.prototype.getExpectedText=function(){if(this.succeeded())throw new Error(\"cannot get expected text of a successful MatchResult\");var e=new r.StringBuffer,t=this.getRightmostFailures();t=t.filter(function(e){return!e.isFluffy()});for(var n=0;n<t.length;n++)n>0&&(n===t.length-1?e.append(t.length>2?\", or \":\" or \"):e.append(\", \")),e.append(t[n].toString());return e.contents()},s.prototype.getInterval=function(){var e=this.getRightmostFailurePosition();return new o(this.input,e,e)},e.exports=s},function(e,t,n){\"use strict\";var r=n(400)();e.exports=function(e){return e!==r&&null!==e}},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,\"exports\",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,n){\"use strict\";(function(t){var r=n(7),i=n(197),o=new Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function a(e,t){return e<<t|e>>>32-t}function u(e,t,n,r,i,o,s){return a(e+(t&n|~t&r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return a(e+(t&r|n&~r)+i+o|0,s)+t|0}function c(e,t,n,r,i,o,s){return a(e+(t^n^r)+i+o|0,s)+t|0}function h(e,t,n,r,i,o,s){return a(e+(n^(t|~r))+i+o|0,s)+t|0}r(s,i),s.prototype._update=function(){for(var e=o,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,s=this._d;r=h(r=h(r=h(r=h(r=c(r=c(r=c(r=c(r=l(r=l(r=l(r=l(r=u(r=u(r=u(r=u(r,i=u(i,s=u(s,n=u(n,r,i,s,e[0],3614090360,7),r,i,e[1],3905402710,12),n,r,e[2],606105819,17),s,n,e[3],3250441966,22),i=u(i,s=u(s,n=u(n,r,i,s,e[4],4118548399,7),r,i,e[5],1200080426,12),n,r,e[6],2821735955,17),s,n,e[7],4249261313,22),i=u(i,s=u(s,n=u(n,r,i,s,e[8],1770035416,7),r,i,e[9],2336552879,12),n,r,e[10],4294925233,17),s,n,e[11],2304563134,22),i=u(i,s=u(s,n=u(n,r,i,s,e[12],1804603682,7),r,i,e[13],4254626195,12),n,r,e[14],2792965006,17),s,n,e[15],1236535329,22),i=l(i,s=l(s,n=l(n,r,i,s,e[1],4129170786,5),r,i,e[6],3225465664,9),n,r,e[11],643717713,14),s,n,e[0],3921069994,20),i=l(i,s=l(s,n=l(n,r,i,s,e[5],3593408605,5),r,i,e[10],38016083,9),n,r,e[15],3634488961,14),s,n,e[4],3889429448,20),i=l(i,s=l(s,n=l(n,r,i,s,e[9],568446438,5),r,i,e[14],3275163606,9),n,r,e[3],4107603335,14),s,n,e[8],1163531501,20),i=l(i,s=l(s,n=l(n,r,i,s,e[13],2850285829,5),r,i,e[2],4243563512,9),n,r,e[7],1735328473,14),s,n,e[12],2368359562,20),i=c(i,s=c(s,n=c(n,r,i,s,e[5],4294588738,4),r,i,e[8],2272392833,11),n,r,e[11],1839030562,16),s,n,e[14],4259657740,23),i=c(i,s=c(s,n=c(n,r,i,s,e[1],2763975236,4),r,i,e[4],1272893353,11),n,r,e[7],4139469664,16),s,n,e[10],3200236656,23),i=c(i,s=c(s,n=c(n,r,i,s,e[13],681279174,4),r,i,e[0],3936430074,11),n,r,e[3],3572445317,16),s,n,e[6],76029189,23),i=c(i,s=c(s,n=c(n,r,i,s,e[9],3654602809,4),r,i,e[12],3873151461,11),n,r,e[15],530742520,16),s,n,e[2],3299628645,23),i=h(i,s=h(s,n=h(n,r,i,s,e[0],4096336452,6),r,i,e[7],1126891415,10),n,r,e[14],2878612391,15),s,n,e[5],4237533241,21),i=h(i,s=h(s,n=h(n,r,i,s,e[12],1700485571,6),r,i,e[3],2399980690,10),n,r,e[10],4293915773,15),s,n,e[1],2240044497,21),i=h(i,s=h(s,n=h(n,r,i,s,e[8],1873313359,6),r,i,e[15],4264355552,10),n,r,e[6],2734768916,15),s,n,e[13],1309151649,21),i=h(i,s=h(s,n=h(n,r,i,s,e[4],4149444226,6),r,i,e[11],3174756917,10),n,r,e[2],718787259,15),s,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+s|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=new t(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s}).call(this,n(12).Buffer)},function(e,t,n){e.exports=i;var r=n(148).EventEmitter;function i(){r.call(this)}n(7)(i,r),i.Readable=n(149),i.Writable=n(424),i.Duplex=n(425),i.Transform=n(426),i.PassThrough=n(427),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on(\"data\",i),e.on(\"drain\",o),e._isStdio||t&&!1===t.end||(n.on(\"end\",a),n.on(\"close\",u));var s=!1;function a(){s||(s=!0,e.end())}function u(){s||(s=!0,\"function\"==typeof e.destroy&&e.destroy())}function l(e){if(c(),0===r.listenerCount(this,\"error\"))throw e}function c(){n.removeListener(\"data\",i),e.removeListener(\"drain\",o),n.removeListener(\"end\",a),n.removeListener(\"close\",u),n.removeListener(\"error\",l),e.removeListener(\"error\",l),n.removeListener(\"end\",c),n.removeListener(\"close\",c),e.removeListener(\"close\",c)}return n.on(\"error\",l),e.on(\"error\",l),n.on(\"end\",c),n.on(\"close\",c),e.on(\"close\",c),e.emit(\"pipe\",n),e}},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return\"function\"==typeof e}function i(e){return\"object\"==typeof e&&null!==e}function o(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw TypeError(\"n must be a positive number\");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,s,a,u,l;if(this._events||(this._events={}),\"error\"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw c.context=t,c}if(o(n=this._events[e]))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(i(n))for(a=Array.prototype.slice.call(arguments,1),s=(l=n.slice()).length,u=0;u<s;u++)l[u].apply(this,a);return!0},n.prototype.addListener=function(e,t){var s;if(!r(t))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",e,r(t.listener)?t.listener:t),this._events[e]?i(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,i(this._events[e])&&!this._events[e].warned&&(s=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[e].length),\"function\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError(\"listener must be a function\");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,s,a;if(!r(t))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[e])return this;if(s=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit(\"removeListener\",e,t);else if(i(n)){for(a=s;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){o=a;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit(\"removeListener\",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)\"removeListener\"!==t&&this.removeAllListeners(t);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){(t=e.exports=n(198)).Stream=t,t.Readable=t,t.Writable=n(150),t.Duplex=n(33),t.Transform=n(201),t.PassThrough=n(423)},function(e,t,n){\"use strict\";(function(t,r,i){var o=n(61);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,u=!t.browser&&[\"v0.10\",\"v0.9.\"].indexOf(t.version.slice(0,5))>-1?r:o.nextTick;y.WritableState=v;var l=n(45);l.inherits=n(7);var c={deprecate:n(422)},h=n(199),d=n(9).Buffer,p=i.Uint8Array||function(){};var f,g=n(200);function m(){}function v(e,t){a=a||n(33),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(E,e,t),e._writableState.errorEmitted=!0,e.emit(\"error\",r)):(i(r),e._writableState.errorEmitted=!0,e.emit(\"error\",r),E(e,t))}(e,n,r,t,i);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||C(e,n),r?u(_,e,n,s,i):_(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||n(33),!(f.call(y,this)||this instanceof a))return new y(e);this._writableState=new v(e,this),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),h.call(this)}function b(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function _(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,r(),E(e,t)}function C(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,u=!0;n;)i[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;i.allBuffers=u,b(e,t,!0,t.length,i,\"\",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,c=n.encoding,h=n.callback;if(b(e,t,!1,t.objectMode?1:l.length,l,c,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function D(e,t){e._final(function(n){t.pendingcb--,n&&e.emit(\"error\",n),t.prefinished=!0,e.emit(\"prefinish\"),E(e,t)})}function E(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||(\"function\"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(D,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"))),n}l.inherits(y,h),v.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(v.prototype,\"buffer\",{get:c.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===y&&(e&&e._writableState instanceof v)}})):f=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe, not readable\"))},y.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof p);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),\"function\"==typeof t&&(n=t,t=null),a?t=\"buffer\":t||(t=i.defaultEncoding),\"function\"!=typeof n&&(n=m),i.ended?function(e,t){var n=new Error(\"write after end\");e.emit(\"error\",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError(\"May not write null values to stream\"):\"string\"==typeof n||void 0===n||t.objectMode||(s=new TypeError(\"Invalid non-string/buffer chunk\")),s&&(e.emit(\"error\",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i=\"buffer\",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var u=t.length<t.highWaterMark;u||(t.needDrain=!0);if(t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},l?l.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else b(e,t,!1,a,r,i,o);return u}(this,i,a,e,t,n)),s},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||C(this,e))},y.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new TypeError(\"Unknown encoding: \"+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,n){n(new Error(\"_write() is not implemented\"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var r=this._writableState;\"function\"==typeof e?(n=e,e=null,t=null):\"function\"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,E(e,t),n&&(t.finished?o.nextTick(n):e.once(\"finish\",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(y.prototype,\"destroyed\",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=g.destroy,y.prototype._undestroy=g.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(21),n(196).setImmediate,n(17))},function(e,t,n){\"use strict\";var r=n(9).Buffer,i=r.isEncoding||function(e){switch((e=\"\"+e)&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}(e);if(\"string\"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}(e),this.encoding){case\"utf16le\":this.text=u,this.end=l,t=4;break;case\"utf8\":this.fillLast=a,t=4;break;case\"base64\":this.text=c,this.end=h,t=3;break;default:return this.write=d,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,\"�\";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,\"�\";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,\"�\"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString(\"utf16le\",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,n)}return t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString(\"base64\",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):\"\"}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return\"\";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return\"\";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||\"\"},o.prototype.end=function(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"�\":t},o.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=s(t[r]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--r<n||-2===i)return 0;if((i=s(t[r]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--r<n||-2===i)return 0;if((i=s(t[r]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString(\"utf8\",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){\"use strict\";var r=n(12).Buffer,i=n(7),o=n(197),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],c=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],h=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function p(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function f(e,t){return e<<t|e>>>32-t}function g(e,t,n,r,i,o,s,a){return f(e+(t^n^r)+o+s|0,a)+i|0}function m(e,t,n,r,i,o,s,a){return f(e+(t&n|~t&r)+o+s|0,a)+i|0}function v(e,t,n,r,i,o,s,a){return f(e+((t|~n)^r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return f(e+(t&r|n&~r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return f(e+(t^(n|~r))+o+s|0,a)+i|0}i(p,o),p.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,p=0|this._e,_=0|this._a,C=0|this._b,w=0|this._c,D=0|this._d,E=0|this._e,A=0;A<80;A+=1){var S,x;A<16?(S=g(n,r,i,o,p,e[a[A]],h[0],l[A]),x=b(_,C,w,D,E,e[u[A]],d[0],c[A])):A<32?(S=m(n,r,i,o,p,e[a[A]],h[1],l[A]),x=y(_,C,w,D,E,e[u[A]],d[1],c[A])):A<48?(S=v(n,r,i,o,p,e[a[A]],h[2],l[A]),x=v(_,C,w,D,E,e[u[A]],d[2],c[A])):A<64?(S=y(n,r,i,o,p,e[a[A]],h[3],l[A]),x=m(_,C,w,D,E,e[u[A]],d[3],c[A])):(S=b(n,r,i,o,p,e[a[A]],h[4],l[A]),x=g(_,C,w,D,E,e[u[A]],d[4],c[A])),n=p,p=o,o=f(i,10),i=r,r=S,_=E,E=D,D=f(w,10),w=C,C=x}var M=this._b+i+D|0;this._b=this._c+o+E|0,this._c=this._d+p+_|0,this._d=this._e+n+C|0,this._e=this._a+r+w|0,this._a=M},p.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=p},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+\" is not supported (we accept pull requests)\");return new n}).sha=n(428),t.sha1=n(429),t.sha224=n(430),t.sha256=n(202),t.sha384=n(431),t.sha512=n(203)},function(e,t,n){\"use strict\";t.utils=n(437),t.Cipher=n(438),t.DES=n(439),t.CBC=n(440),t.EDE=n(441)},function(e,t,n){var r=n(442),i=n(450),o=n(213);t.createCipher=t.Cipher=r.createCipher,t.createCipheriv=t.Cipheriv=r.createCipheriv,t.createDecipher=t.Decipher=i.createDecipher,t.createDecipheriv=t.Decipheriv=i.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(o)}},function(e,t,n){var r={ECB:n(443),CBC:n(444),CFB:n(445),CFB8:n(446),CFB1:n(447),OFB:n(448),CTR:n(211),GCM:n(211)},i=n(213);for(var o in i)i[o].module=r[i[o].mode];e.exports=i},function(e,t,n){(function(t){var r=n(14),i=n(36);function o(e,n){var i=function(e){var t=s(e);return{blinder:t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(n),o=n.modulus.byteLength(),a=(r.mont(n.modulus),new r(e).mul(i.blinder).umod(n.modulus)),u=a.toRed(r.mont(n.prime1)),l=a.toRed(r.mont(n.prime2)),c=n.coefficient,h=n.prime1,d=n.prime2,p=u.redPow(n.exponent1),f=l.redPow(n.exponent2);p=p.fromRed(),f=f.fromRed();var g=p.isub(f).imul(c).umod(h);return g.imul(d),f.iadd(g),new t(f.imul(i.unblinder).umod(n.modulus).toArray(!1,o))}function s(e){for(var t=e.modulus.byteLength(),n=new r(i(t));n.cmp(e.modulus)>=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new r(i(t));return n}e.exports=o,o.getr=s}).call(this,n(12).Buffer)},function(e,t,n){var r=t;r.utils=n(23),r.common=n(47),r.sha=n(467),r.ripemd=n(471),r.hmac=n(472),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'.codeHighlight {\\n  font-family: \"Fira Code\"; }\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'@charset \"UTF-8\";\\n.scalar-input {\\n  flex: 1;\\n  position: relative;\\n  font-size: larger;\\n  max-height: 2em; }\\n  .scalar-input:hover {\\n    background-color: rgba(0, 160, 236, 0.05);\\n    mix-blend-mode: screen;\\n    border-color: #0f8fff;\\n    cursor: pointer; }\\n  .scalar-input:focus {\\n    outline: none;\\n    background-color: white !important;\\n    border-color: #0f8fff !important; }\\n    .scalar-input:focus:after {\\n      content: \"\\\\2191\\\\2193\";\\n      position: absolute;\\n      right: 0.5em;\\n      height: 1em;\\n      top: 0;\\n      bottom: 0;\\n      font-size: smaller;\\n      color: #9e9e9e;\\n      margin: auto; }\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'.property {\\n  display: grid;\\n  grid-template-rows: max-content;\\n  font-family: \"Fira Code\";\\n  padding: 0.5em;\\n  background-color: white;\\n  border-radius: 5px;\\n  box-sizing: border-box;\\n  border: 1px solid lightgray;\\n  flex: 1; }\\n  .property:hover, .property:focus-within {\\n    background-color: rgba(0, 160, 236, 0.05);\\n    border-color: rgba(15, 143, 255, 0.69);\\n    mix-blend-mode: screen; }\\n  .property .header {\\n    display: flex;\\n    flex-direction: row;\\n    text-align: left;\\n    margin-bottom: 0.1em; }\\n    .property .header .cell {\\n      flex: 1; }\\n      .property .header .cell.symbol {\\n        text-align: right;\\n        font-size: 0.6em;\\n        display: flex;\\n        align-items: center;\\n        justify-content: flex-end;\\n        flex: none; }\\n  .property .content {\\n    display: flex; }\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"svg.svg-tensor {\\n  margin: 0.2em;\\n  filter: drop-shadow(0px 0px 1px darkgray);\\n  min-height: 10px;\\n  max-height: 200px;\\n  min-width: 100%;\\n  max-width: 100%; }\\n  svg.svg-tensor text {\\n    font-size: 0.8em; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"div.canvas {\\n  flex: 1;\\n  align-items: center;\\n  justify-content: center;\\n  display: flex; }\\n  div.canvas .tensor-canvas {\\n    image-rendering: pixelated;\\n    box-sizing: border-box;\\n    margin: 0.2em;\\n    filter: drop-shadow(0px 0px 1px darkgray);\\n    object-fit: fill;\\n    min-width: 75%;\\n    max-width: 100%;\\n    max-height: 200px;\\n    min-height: 100%; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".info {\\n  margin-left: 0.5em;\\n  flex: 1; }\\n  .info .field {\\n    font-size: smaller;\\n    display: flex;\\n    align-items: baseline; }\\n    .info .field .label, .info .field .value {\\n      flex: 1; }\\n    .info .field .value {\\n      text-align: right;\\n      white-space: pre;\\n      font-size: smaller; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\"div.tensor-content {\\n  display: flex;\\n  flex-direction: row;\\n  flex: 1;\\n  flex-wrap: wrap;\\n  align-items: center; }\\n  div.tensor-content div.visualization {\\n    display: flex;\\n    flex: 1; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".function-content {\\n  font-size: xx-large;\\n  text-align: center;\\n  align-self: center;\\n  flex: 1;\\n  color: darkgray; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".WestWorldQuote {\\n  font-size: small;\\n  text-align: center;\\n  align-self: center;\\n  flex: 1; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".promise {\\n  display: contents; }\\n  .promise > * {\\n    transition: filter 0.3s, box-shadow 0.3s; }\\n  .promise.resolved > * {\\n    filter: none; }\\n  .promise.unresolved > * {\\n    filter: saturate(0) invert(0.05) opacity(0.5);\\n    box-shadow: inset 0 0 20px 0px #bfbfbf;\\n    animation: 2s infinite pulse;\\n    animation-delay: 1s;\\n    cursor: wait; }\\n\\n@keyframes pulse {\\n  0% {\\n    box-shadow: inset 0 0 20px 0px #bfbfbf; }\\n  50% {\\n    box-shadow: inset 0 0 20px 10px #bfbfbf; }\\n  100% {\\n    box-shadow: inset 0 0 20px 0px #bfbfbf; } }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".observable {\\n  border-radius: 5px;\\n  padding: 1px;\\n  display: flex; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".property.error {\\n  background: #fadcd9;\\n  border-color: #d3a4a1; }\\n\\n.error-content {\\n  color: #7d2116; }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'.markdown {\\n  font-family: \"Helvetica Neue\", \"Helvetica\", \"Segoe UI\", Arial, sans-serif;\\n  width: 100%;\\n  grid-column-start: 1;\\n  grid-column-end: -1;\\n  display: block;\\n  line-height: 1.5em;\\n  box-sizing: border-box;\\n  padding: 15px; }\\n  .markdown:hover {\\n    background-color: white !important; }\\n  .markdown > * {\\n    width: 100%;\\n    box-sizing: border-box; }\\n  .markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 {\\n    margin-top: 24px;\\n    margin-bottom: 16px;\\n    font-weight: 600;\\n    line-height: 1.25; }\\n    .markdown h1:first-child, .markdown h2:first-child, .markdown h3:first-child, .markdown h4:first-child, .markdown h5:first-child, .markdown h6:first-child {\\n      margin-top: 0; }\\n  .markdown h1 {\\n    font-size: 1.8em; }\\n  .markdown h1, .markdown h2 {\\n    padding-bottom: 0.3em;\\n    border-bottom: 1px solid #eaecef; }\\n  .markdown .code, .markdown code {\\n    font-family: \"Fira Code\";\\n    padding: 0.5em 1em;\\n    margin: 0.5em 0;\\n    font-size: 85%;\\n    background-color: #f6f8fa;\\n    overflow: auto;\\n    border-radius: 5px;\\n    position: relative; }\\n  .markdown code {\\n    padding: 0.3em;\\n    margin: initial; }\\n  .markdown ol, .markdown ul {\\n    padding-left: 2em; }\\n  .markdown blockquote {\\n    margin: 0;\\n    margin-left: 15px;\\n    padding: 0 1em;\\n    color: #6a737d;\\n    border-left: 0.25em solid #dfe2e5; }\\n\\n.codeContainer .runButton {\\n  position: absolute;\\n  right: 0;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  vertical-align: top;\\n  border-radius: 0 8px 8px 0;\\n  border: 1px solid darkgray;\\n  background-color: #eee;\\n  padding: 0 1em;\\n  font-size: 1.1em;\\n  cursor: pointer;\\n  font-weight: bold;\\n  color: #333;\\n  outline: none;\\n  background-color: rgba(0, 160, 236, 0.05);\\n  border-color: rgba(15, 143, 255, 0.69);\\n  color: rgba(15, 143, 255, 0.69);\\n  mix-blend-mode: multiply;\\n  border-width: 0; }\\n  .codeContainer .runButton:hover {\\n    filter: invert(1); }\\n',\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,\".properties {\\n  display: grid;\\n  flex: 1;\\n  overflow: auto;\\n  grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));\\n  grid-gap: 0.5em;\\n  grid-auto-flow: dense;\\n  align-items: stretch; }\\n\\n.property.object {\\n  grid-column-start: 1;\\n  grid-column-end: -1; }\\n\\n.property.unknown {\\n  mix-blend-mode: normal;\\n  background: repeating-linear-gradient(135deg, rgba(169, 169, 169, 0.5), rgba(169, 169, 169, 0.5) 20px, rgba(211, 211, 211, 0.5) 20px, rgba(211, 211, 211, 0.5) 40px);\\n  background-size: 56px 56px;\\n  animation: danger linear 2s infinite; }\\n\\n@keyframes danger {\\n  0% {\\n    background-position: 0 0; }\\n  100% {\\n    background-position: 56px 0; } }\\n\",\"\"])},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'.panel {\\n  display: grid;\\n  overflow-y: scroll;\\n  overflow-x: hidden;\\n  position: relative;\\n  flex: 1; }\\n  .panel::-webkit-scrollbar {\\n    width: 5px; }\\n  .panel::-webkit-scrollbar-thumb {\\n    border-radius: 10px;\\n    background-color: rgba(100, 100, 100, 0.4); }\\n    .panel::-webkit-scrollbar-thumb:hover {\\n      background-color: rgba(100, 100, 100, 0.7); }\\n    .panel::-webkit-scrollbar-thumb:active {\\n      background-color: rgba(0, 0, 0, 0.6); }\\n  .panel:after {\\n    content: \"\";\\n    position: absolute;\\n    width: calc(100% - 2px);\\n    left: 1px;\\n    height: 6px;\\n    border-radius: 5px;\\n    box-shadow: #ddd 0 6px 6px -6px inset;\\n    pointer-events: none;\\n    opacity: 0;\\n    transition: opacity 0.2s; }\\n  .panel.scrolled:after {\\n    opacity: 1; }\\n  .panel.disabled {\\n    filter: grayscale(1) opacity(0.5); }\\n  .panel > .header {\\n    display: none; }\\n  .panel.property {\\n    will-change: transform; }\\n    .panel.property:hover {\\n      background-color: transparent !important;\\n      border-color: lightgray !important; }\\n',\"\"])},function(e,t,n){\"use strict\";(function(e){var r=n(69),i=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&\"object\"==typeof e&&e&&!e.nodeType&&e,s=o&&o.exports===i&&r.a.process,a=function(){try{var e=o&&o.require&&o.require(\"util\").types;return e||s&&s.binding&&s.binding(\"util\")}catch(e){}}();t.a=a}).call(this,n(145)(e))},,function(e,t,n){var r=n(71);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(56),i=n(57),o=n(29),s=n(73),a=n(30),u=n(178),l=Object.getOwnPropertyDescriptor;t.f=n(31)?l:function(e,t){if(e=o(e),t=s(t,!0),u)try{return l(e,t)}catch(e){}if(a(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){e.exports=!n(31)&&!n(34)(function(){return 7!=Object.defineProperty(n(179)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(39),i=n(25).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){var r=n(40),i=n(20),o=n(34);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],s={};s[e]=t(n),r(r.S+r.F*o(function(){n(1)}),\"Object\",s)}},function(e,t,n){e.exports=n(35)},function(e,t,n){t.f=n(26)},function(e,t,n){var r=n(30),i=n(29),o=n(279)(!1),s=n(77)(\"IE_PROTO\");e.exports=function(e,t){var n,a=i(e),u=0,l=[];for(n in a)n!=s&&r(a,n)&&l.push(n);for(;t.length>u;)r(a,n=t[u++])&&(~o(l,n)||l.push(n));return l}},function(e,t,n){var r=n(41),i=n(283),o=n(78),s=n(77)(\"IE_PROTO\"),a=function(){},u=function(){var e,t=n(179)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(284).appendChild(t),t.src=\"javascript:\",(e=t.contentWindow.document).open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),u=e.F;r--;)delete u.prototype[o[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(a.prototype=r(e),n=new a,a.prototype=null,n[s]=e):n=u(),void 0===t?n:i(n,t)}},function(e,t,n){var r=n(183),i=n(78).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},function(e,t,n){e.exports=n.p+\"5c6aa3e267f5554fd7cf15557b7e44aa.eot\"},function(e,t,n){e.exports=n.p+\"4cfc570109e603356ee7586978c46852.eot\"},function(e,t,n){e.exports=n.p+\"7c8fa37007189c6e9a50125e5ca64cff.eot\"},function(e,t,n){e.exports=n.p+\"06b79b8f8677e6333512a61ec7caa63f.eot\"},function(e,t,n){var r=n(109);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(109,function(){var t=n(109);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){\"use strict\";function r(e,t,n){if(!function(e){return\"description\"===e||\"string\"===e||\"code\"===e}(n))throw new Error(\"invalid Failure type: \"+n);this.pexpr=e,this.text=t,this.type=n,this.fluffy=!1}r.prototype.getPExpr=function(){return this.pexpr},r.prototype.getText=function(){return this.text},r.prototype.getType=function(){return this.type},r.prototype.isDescription=function(){return\"description\"===this.type},r.prototype.isStringTerminal=function(){return\"string\"===this.type},r.prototype.isCode=function(){return\"code\"===this.type},r.prototype.isFluffy=function(){return this.fluffy},r.prototype.makeFluffy=function(){this.fluffy=!0},r.prototype.clearFluffy=function(){this.fluffy=!1},r.prototype.subsumes=function(e){return this.getText()===e.getText()&&this.type===e.type&&(!this.isFluffy()||this.isFluffy()&&e.isFluffy())},r.prototype.toString=function(){return\"string\"===this.type?JSON.stringify(this.getText()):this.getText()},r.prototype.clone=function(){var e=new r(this.pexpr,this.text,this.type);return this.isFluffy()&&e.makeFluffy(),e},r.prototype.toKey=function(){return this.toString()+\"#\"+this.type},e.exports=r},function(e,t,n){\"use strict\";var r=n(140);function i(){}i.prototype=Object.create(null),i.asNamespace=function(e){return e instanceof i?e:i.createNamespace(e)},i.createNamespace=function(e){return i.extend(i.prototype,e)},i.extend=function(e,t){if(e!==i.prototype&&!(e instanceof i))throw new TypeError(\"not a Namespace object: \"+e);var n=Object.create(e,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}});return r(n,t)},i.toString=function(e){return Object.prototype.toString.call(e)},e.exports=i},function(e,t,n){\"use strict\";var r=n(141),i=n(10),o=\"⋅\",s=\"␉\",a=\"␊\",u=\"␍\",l={succeeded:1,isRootNode:2,isImplicitSpaces:4,isMemoized:8,isHeadOfLeftRecursion:16,terminatesLR:32};function c(e){return\"string\"==typeof e?e.replace(/ /g,o).replace(/\\t/g,s).replace(/\\n/g,a).replace(/\\r/g,u):String(e)}function h(e,t,n,i,o,s,a){this.input=e,this.pos=this.pos1=t,this.pos2=n,this.source=new r(e,t,n),this.expr=i,this.bindings=s,this.children=a||[],this.terminatingLREntry=null,this._flags=o?l.succeeded:0}h.prototype.SKIP={},Object.defineProperty(h.prototype,\"displayString\",{get:function(){return this.expr.toDisplayString()}}),Object.keys(l).forEach(function(e){var t=l[e];Object.defineProperty(h.prototype,e,{get:function(){return 0!=(this._flags&t)},set:function(e){e?this._flags|=t:this._flags&=~t}})}),h.prototype.clone=function(){return this.cloneWithExpr(this.expr)},h.prototype.cloneWithExpr=function(e){var t=new h(this.input,this.pos,this.pos2,e,this.succeeded,this.bindings,this.children);return t.isHeadOfLeftRecursion=this.isHeadOfLeftRecursion,t.isImplicitSpaces=this.isImplicitSpaces,t.isMemoized=this.isMemoized,t.isRootNode=this.isRootNode,t.terminatesLR=this.terminatesLR,t.terminatingLREntry=this.terminatingLREntry,t},h.prototype.recordLRTermination=function(e,t){this.terminatingLREntry=new h(this.input,this.pos,this.pos2,this.expr,!1,[t],[e]),this.terminatingLREntry.terminatesLR=!0},h.prototype.walk=function(e,t){var n=e;function r(e,i,o){var s=!0;n.enter&&n.enter.call(t,e,i,o)===h.prototype.SKIP&&(s=!1),s&&(e.children.forEach(function(t){r(t,e,o+1)}),n.exit&&n.exit.call(t,e,i,o))}\"function\"==typeof n&&(n={enter:n}),this.isRootNode?this.children.forEach(function(e){r(e,null,0)}):r(this,null,0)},h.prototype.toString=function(){var e=new i.StringBuffer;return this.walk(function(t,n,r){if(!t)return this.SKIP;if(\"Alt\"!==t.expr.constructor.name){var o,s,a,u,l;if(e.append((s=t.input,a=t.pos,u=10,((l=c(s.slice(a,a+u))).length<u?l+i.repeat(\" \",u-l.length).join(\"\"):l)+(o=2*r+1,i.repeat(\" \",o).join(\"\")))),e.append((t.succeeded?\"✓\":\"✗\")+\" \"+t.displayString),t.isHeadOfLeftRecursion&&e.append(\" (LR)\"),t.succeeded){var h=c(t.source.contents);e.append(\" ⇒  \"),e.append(\"string\"==typeof h?'\"'+h+'\"':h)}e.append(\"\\n\")}}.bind(this)),e.contents()},e.exports=h},function(e,t,n){\"use strict\";var r=n(13),i=n(143),o=n(139),s=n(140),a={_terminal:function(){return this.primitiveValue},_nonterminal:function(e){var t=this._node.ctorName,n=this.args.mapping;if(!n.hasOwnProperty(t)){if(this._node instanceof r.Alt||this._node instanceof r.Apply)return e[0].toAST(n);if(this.isLexical())return this.sourceString;var i=e.filter(function(e){return!e.isTerminal()});if(1===i.length)return i[0].toAST(n)}if(\"number\"==typeof n[t])return e[n[t]].toAST(n);var o=n[t]||e,s={type:t};for(var a in o){var u=n[t]&&n[t][a];\"number\"==typeof u?s[a]=e[u].toAST(n):\"string\"==typeof u||\"boolean\"==typeof u||null===u?s[a]=u:\"object\"==typeof u&&u instanceof Number?s[a]=Number(u):\"function\"==typeof u?s[a]=u.call(this,e):void 0===u&&(e[a]&&!e[a].isTerminal()?s[a]=e[a].toAST(n):delete s[a])}return s},_iter:function(e){return this._node.isOptional()?0===this.numChildren?null:e[0].toAST(this.args.mapping):e.map(function(e){return e.toAST(this.args.mapping)},this)},NonemptyListOf:function(e,t,n){return[e.toAST(this.args.mapping)].concat(n.toAST(this.args.mapping))},EmptyListOf:function(){return[]}};e.exports={helper:function(e,t){if(!(e instanceof i)||e.failed())throw new Error(\"toAST() expects a succesfull MatchResult as first parameter\");t=s({},t);var n=s({},a);for(var r in t)\"function\"==typeof t[r]&&(n[r]=t[r],delete t[r]);return e._cst.grammar.createSemantics().addOperation(\"toAST(mapping)\",n)(e).toAST(t)},semantics:function(e){if(!(e instanceof o))throw new Error(\"semanticsToAST() expects a Grammar as parameter\");return e.createSemantics().addOperation(\"toAST(mapping)\",a)}}},function(e,t,n){(function(e){var r=void 0!==e&&e||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(417),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(17))},function(e,t,n){\"use strict\";var r=n(9).Buffer,i=n(147).Transform;function o(e){i.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(7)(o,i),o.prototype._transform=function(e,t,n){var r=null;try{this.update(e,t)}catch(e){r=e}n(r)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!r.isBuffer(e)&&\"string\"!=typeof e)throw new TypeError(t+\" must be a string or a buffer\")}(e,\"Data\"),this._finalized)throw new Error(\"Digest already called\");r.isBuffer(e)||(e=r.from(e,t));for(var n=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var o=this._blockOffset;o<this._blockSize;)n[o++]=e[i++];this._update(),this._blockOffset=0}for(;i<e.length;)n[this._blockOffset++]=e[i++];for(var s=0,a=8*e.length;a>0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error(\"_update is not implemented\")},o.prototype.digest=function(e){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error(\"_digest is not implemented\")},e.exports=o},function(e,t,n){\"use strict\";(function(t,r){var i=n(61);e.exports=b;var o,s=n(186);b.ReadableState=y;n(148).EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n(199),l=n(9).Buffer,c=t.Uint8Array||function(){};var h=n(45);h.inherits=n(7);var d=n(419),p=void 0;p=d&&d.debuglog?d.debuglog(\"stream\"):function(){};var f,g=n(420),m=n(200);h.inherits(b,u);var v=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function y(e,t){o=o||n(33),e=e||{};var r=t instanceof o;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=n(151).StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function b(e){if(o=o||n(33),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&(\"function\"==typeof e.read&&(this._read=e.read),\"function\"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function _(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,l.isBuffer(r)||r instanceof c||\"string\"==typeof t||void 0===t||e.objectMode||(n=new TypeError(\"Invalid non-string/buffer chunk\"));var r;return n}(s,t)),o?e.emit(\"error\",o):s.objectMode||t&&t.length>0?(\"string\"==typeof t||s.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),r?s.endEmitted?e.emit(\"error\",new Error(\"stream.unshift() after end event\")):C(e,s,t,!0):s.ended?e.emit(\"error\",new Error(\"stream.push() after EOF\")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?C(e,s,t,!1):S(e,s)):C(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function C(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&E(e)),S(e,t)}Object.defineProperty(b.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),b.prototype.destroy=m.destroy,b.prototype._undestroy=m.undestroy,b.prototype._destroy=function(e,t){this.push(null),t(e)},b.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:\"string\"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=l.from(e,t),t=\"\"),n=!0),_(this,e,t,!1,n)},b.prototype.unshift=function(e){return _(this,e,null,!0,!1)},b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){return f||(f=n(151).StringDecoder),this._readableState.decoder=new f(e),this._readableState.encoding=e,this};var w=8388608;function D(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=w?e=w:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(p(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(A,e):A(e))}function A(e){p(\"emit readable\"),e.emit(\"readable\"),I(e)}function S(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(x,e,t))}function x(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(p(\"maybeReadMore read 0\"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function M(e){p(\"readable nexttick read 0\"),e.read(0)}function N(e,t){t.reading||(p(\"resume read 0\"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit(\"resume\"),I(e),t.flowing&&!t.reading&&e.read(0)}function I(e){var t=e._readableState;for(p(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function L(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,i=n.data;e-=i.length;for(;n=n.next;){var o=n.data,s=e>o.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=l.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function k(e){var t=e._readableState;if(t.length>0)throw new Error('\"endReadable()\" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(T,t,e))}function T(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function F(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}b.prototype.read=function(e){p(\"read\",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return p(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?k(this):E(this),null;if(0===(e=D(e,t))&&t.ended)return 0===t.length&&k(this),null;var r,i=t.needReadable;return p(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&p(\"length less than watermark\",i=!0),t.ended||t.reading?p(\"reading or ended\",i=!1):i&&(p(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=D(n,t))),null===(r=e>0?L(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&k(this)),null!==r&&this.emit(\"data\",r),r},b.prototype._read=function(e){this.emit(\"error\",new Error(\"_read() is not implemented\"))},b.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,p(\"pipe count=%d opts=%j\",o.pipesCount,t);var u=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?c:b;function l(t,r){p(\"onunpipe\"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,p(\"cleanup\"),e.removeListener(\"close\",v),e.removeListener(\"finish\",y),e.removeListener(\"drain\",h),e.removeListener(\"error\",m),e.removeListener(\"unpipe\",l),n.removeListener(\"end\",c),n.removeListener(\"end\",b),n.removeListener(\"data\",g),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function c(){p(\"onend\"),e.end()}o.endEmitted?i.nextTick(u):n.once(\"end\",u),e.on(\"unpipe\",l);var h=function(e){return function(){var t=e._readableState;p(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,\"data\")&&(t.flowing=!0,I(e))}}(n);e.on(\"drain\",h);var d=!1;var f=!1;function g(t){p(\"ondata\"),f=!1,!1!==e.write(t)||f||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==F(o.pipes,e))&&!d&&(p(\"false write response, pause\",n._readableState.awaitDrain),n._readableState.awaitDrain++,f=!0),n.pause())}function m(t){p(\"onerror\",t),b(),e.removeListener(\"error\",m),0===a(e,\"error\")&&e.emit(\"error\",t)}function v(){e.removeListener(\"finish\",y),b()}function y(){p(\"onfinish\"),e.removeListener(\"close\",v),b()}function b(){p(\"unpipe\"),n.unpipe(e)}return n.on(\"data\",g),function(e,t,n){if(\"function\"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,\"error\",m),e.once(\"close\",v),e.once(\"finish\",y),e.emit(\"pipe\",n),o.flowing||(p(\"pipe resume\"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit(\"unpipe\",this,n);return this}var s=F(t.pipes,e);return-1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,n),this)},b.prototype.on=function(e,t){var n=u.prototype.on.call(this,e,t);if(\"data\"===e)!1!==this._readableState.flowing&&this.resume();else if(\"readable\"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&E(this):i.nextTick(M,this))}return n},b.prototype.addListener=b.prototype.on,b.prototype.resume=function(){var e=this._readableState;return e.flowing||(p(\"resume\"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(N,e,t))}(this,e)),this},b.prototype.pause=function(){return p(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(p(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},b.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(\"end\",function(){if(p(\"wrapped end\"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on(\"data\",function(i){(p(\"wrapped data\"),n.decoder&&(i=n.decoder.write(i)),!n.objectMode||null!==i&&void 0!==i)&&((n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause())))}),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o<v.length;o++)e.on(v[o],this.emit.bind(this,v[o]));return this._read=function(t){p(\"wrapped _read\",t),r&&(r=!1,e.resume())},this},Object.defineProperty(b.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),b._fromList=L}).call(this,n(17),n(21))},function(e,t,n){e.exports=n(148).EventEmitter},function(e,t,n){\"use strict\";var r=n(61);function i(e,t){e.emit(\"error\",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(r.nextTick(i,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,n){\"use strict\";e.exports=o;var r=n(33),i=n(45);function o(e){if(!(this instanceof o))return new o(e);r.call(this,e),this._transformState={afterTransform:function(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit(\"error\",new Error(\"write callback called multiple times\"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",s)}function s(){var e=this;\"function\"==typeof this._flush?this._flush(function(t,n){a(e,t,n)}):a(this,null,null)}function a(e,t,n){if(t)return e.emit(\"error\",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error(\"Calling transform done when ws.length != 0\");if(e._transformState.transforming)throw new Error(\"Calling transform done when still transforming\");return e.push(null)}i.inherits=n(7),i.inherits(o,r),o.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},o.prototype._transform=function(e,t,n){throw new Error(\"_transform() is not implemented\")},o.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},o.prototype._destroy=function(e,t){var n=this;r.prototype._destroy.call(this,e,function(e){t(e),n.emit(\"close\")})}},function(e,t,n){var r=n(7),i=n(37),o=n(9).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function u(){this.init(),this._w=a,i.call(this,64,56)}function l(e,t,n){return n^e&(t^n)}function c(e,t,n){return e&t|n&(e|t)}function h(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function p(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,f=0|this._f,g=0|this._g,m=0|this._h,v=0;v<16;++v)n[v]=e.readInt32BE(4*v);for(;v<64;++v)n[v]=0|(((t=n[v-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[v-7]+p(n[v-15])+n[v-16];for(var y=0;y<64;++y){var b=m+d(u)+l(u,f,g)+s[y]+n[y]|0,_=h(r)+c(r,i,o)|0;m=g,g=f,f=u,u=a+b|0,a=o,o=i,i=r,r=b+_|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=m+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},function(e,t,n){var r=n(7),i=n(37),o=n(9).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,i.call(this,128,112)}function l(e,t,n){return n^e&(t^n)}function c(e,t,n){return e&t|n&(e|t)}function h(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function f(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function v(e,t){return e>>>0<t>>>0?1:0}r(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,y=0|this._gh,b=0|this._hh,_=0|this._al,C=0|this._bl,w=0|this._cl,D=0|this._dl,E=0|this._el,A=0|this._fl,S=0|this._gl,x=0|this._hl,M=0;M<32;M+=2)t[M]=e.readInt32BE(4*M),t[M+1]=e.readInt32BE(4*M+4);for(;M<160;M+=2){var N=t[M-30],I=t[M-30+1],L=p(N,I),k=f(I,N),T=g(N=t[M-4],I=t[M-4+1]),F=m(I,N),O=t[M-14],P=t[M-14+1],B=t[M-32],R=t[M-32+1],j=k+P|0,z=L+O+v(j,k)|0;z=(z=z+T+v(j=j+F|0,F)|0)+B+v(j=j+R|0,R)|0,t[M]=z,t[M+1]=j}for(var W=0;W<160;W+=2){z=t[W],j=t[W+1];var V=c(n,r,i),H=c(_,C,w),U=h(n,_),Y=h(_,n),Z=d(a,E),G=d(E,a),K=s[W],q=s[W+1],Q=l(a,u,y),X=l(E,A,S),J=x+G|0,$=b+Z+v(J,x)|0;$=($=($=$+Q+v(J=J+X|0,X)|0)+K+v(J=J+q|0,q)|0)+z+v(J=J+j|0,j)|0;var ee=Y+H|0,te=U+V+v(ee,Y)|0;b=y,x=S,y=u,S=A,u=a,A=E,a=o+$+v(E=D+J|0,D)|0,o=i,D=w,i=r,w=C,r=n,C=_,n=$+te+v(_=J+ee|0,J)|0}this._al=this._al+_|0,this._bl=this._bl+C|0,this._cl=this._cl+w|0,this._dl=this._dl+D|0,this._el=this._el+E|0,this._fl=this._fl+A|0,this._gl=this._gl+S|0,this._hl=this._hl+x|0,this._ah=this._ah+n+v(this._al,_)|0,this._bh=this._bh+r+v(this._bl,C)|0,this._ch=this._ch+i+v(this._cl,w)|0,this._dh=this._dh+o+v(this._dl,D)|0,this._eh=this._eh+a+v(this._el,E)|0,this._fh=this._fh+u+v(this._fl,A)|0,this._gh=this._gh+y+v(this._gl,S)|0,this._hh=this._hh+b+v(this._hl,x)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},function(e,t,n){\"use strict\";var r=n(7),i=n(432),o=n(28),s=n(9).Buffer,a=n(205),u=n(152),l=n(153),c=s.alloc(128);function h(e,t){o.call(this,\"digest\"),\"string\"==typeof t&&(t=s.from(t));var n=\"sha512\"===e||\"sha384\"===e?128:64;(this._alg=e,this._key=t,t.length>n)?t=(\"rmd160\"===e?new u:l(e)).update(t).digest():t.length<n&&(t=s.concat([t,c],n));for(var r=this._ipad=s.allocUnsafe(n),i=this._opad=s.allocUnsafe(n),a=0;a<n;a++)r[a]=54^t[a],i[a]=92^t[a];this._hash=\"rmd160\"===e?new u:l(e),this._hash.update(r)}r(h,o),h.prototype._update=function(e){this._hash.update(e)},h.prototype._final=function(){var e=this._hash.digest();return(\"rmd160\"===this._alg?new u:l(this._alg)).update(this._opad).update(e).digest()},e.exports=function(e,t){return\"rmd160\"===(e=e.toLowerCase())||\"ripemd160\"===e?new h(\"rmd160\",t):\"md5\"===e?new i(a,t):new h(e,t)}},function(e,t,n){var r=n(146);e.exports=function(e){return(new r).update(e).digest()}},function(e){e.exports={sha224WithRSAEncryption:{sign:\"rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{sign:\"ecdsa/rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},sha256WithRSAEncryption:{sign:\"rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{sign:\"ecdsa/rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},sha384WithRSAEncryption:{sign:\"rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{sign:\"ecdsa/rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},sha512WithRSAEncryption:{sign:\"rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{sign:\"ecdsa/rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{sign:\"rsa\",hash:\"sha1\",id:\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{sign:\"ecdsa\",hash:\"sha1\",id:\"\"},sha256:{sign:\"ecdsa\",hash:\"sha256\",id:\"\"},sha224:{sign:\"ecdsa\",hash:\"sha224\",id:\"\"},sha384:{sign:\"ecdsa\",hash:\"sha384\",id:\"\"},sha512:{sign:\"ecdsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-SHA1\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},DSA:{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-WITH-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-WITH-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-WITH-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-WITH-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-RIPEMD160\":{sign:\"dsa\",hash:\"rmd160\",id:\"\"},ripemd160WithRSA:{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},md5WithRSAEncryption:{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"}}},function(e,t,n){t.pbkdf2=n(434),t.pbkdf2Sync=n(210)},function(e,t,n){(function(t){var n=Math.pow(2,30)-1;function r(e,n){if(\"string\"!=typeof e&&!t.isBuffer(e))throw new TypeError(n+\" must be a buffer or string\")}e.exports=function(e,t,i,o){if(r(e,\"Password\"),r(t,\"Salt\"),\"number\"!=typeof i)throw new TypeError(\"Iterations not a number\");if(i<0)throw new TypeError(\"Bad iterations\");if(\"number\"!=typeof o)throw new TypeError(\"Key length not a number\");if(o<0||o>n||o!=o)throw new TypeError(\"Bad key length\")}}).call(this,n(12).Buffer)},function(e,t,n){(function(t){var n;t.browser?n=\"utf-8\":n=parseInt(t.version.split(\".\")[0].slice(1),10)>=6?\"utf-8\":\"binary\";e.exports=n}).call(this,n(21))},function(e,t,n){var r=n(205),i=n(152),o=n(153),s=n(208),a=n(209),u=n(9).Buffer,l=u.alloc(128),c={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function h(e,t,n){var s=function(e){return\"rmd160\"===e||\"ripemd160\"===e?i:\"md5\"===e?r:function(t){return o(e).update(t).digest()}}(e),a=\"sha512\"===e||\"sha384\"===e?128:64;t.length>a?t=s(t):t.length<a&&(t=u.concat([t,l],a));for(var h=u.allocUnsafe(a+c[e]),d=u.allocUnsafe(a+c[e]),p=0;p<a;p++)h[p]=54^t[p],d[p]=92^t[p];var f=u.allocUnsafe(a+n+4);h.copy(f,0,0,a),this.ipad1=f,this.ipad2=h,this.opad=d,this.alg=e,this.blocksize=a,this.hash=s,this.size=c[e]}h.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},e.exports=function(e,t,n,r,i){s(e,t,n,r),u.isBuffer(e)||(e=u.from(e,a)),u.isBuffer(t)||(t=u.from(t,a));var o=new h(i=i||\"sha1\",e,t.length),l=u.allocUnsafe(r),d=u.allocUnsafe(t.length+4);t.copy(d,0,0,t.length);for(var p=0,f=c[i],g=Math.ceil(r/f),m=1;m<=g;m++){d.writeUInt32BE(m,t.length);for(var v=o.run(d,o.ipad1),y=v,b=1;b<n;b++){y=o.run(y,o.ipad2);for(var _=0;_<f;_++)v[_]^=y[_]}v.copy(l,p),p+=f}return l}},function(e,t,n){var r=n(46),i=n(9).Buffer,o=n(212);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;a<n;a++){var u=s(e),l=o+16*a;e._cache.writeUInt32BE(u[0],l+0),e._cache.writeUInt32BE(u[1],l+4),e._cache.writeUInt32BE(u[2],l+8),e._cache.writeUInt32BE(u[3],l+12)}var c=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),r(t,c)}},function(e,t){e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},function(e){e.exports={\"aes-128-ecb\":{cipher:\"AES\",key:128,iv:0,mode:\"ECB\",type:\"block\"},\"aes-192-ecb\":{cipher:\"AES\",key:192,iv:0,mode:\"ECB\",type:\"block\"},\"aes-256-ecb\":{cipher:\"AES\",key:256,iv:0,mode:\"ECB\",type:\"block\"},\"aes-128-cbc\":{cipher:\"AES\",key:128,iv:16,mode:\"CBC\",type:\"block\"},\"aes-192-cbc\":{cipher:\"AES\",key:192,iv:16,mode:\"CBC\",type:\"block\"},\"aes-256-cbc\":{cipher:\"AES\",key:256,iv:16,mode:\"CBC\",type:\"block\"},aes128:{cipher:\"AES\",key:128,iv:16,mode:\"CBC\",type:\"block\"},aes192:{cipher:\"AES\",key:192,iv:16,mode:\"CBC\",type:\"block\"},aes256:{cipher:\"AES\",key:256,iv:16,mode:\"CBC\",type:\"block\"},\"aes-128-cfb\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-192-cfb\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-256-cfb\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-128-cfb8\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-192-cfb8\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-256-cfb8\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-128-cfb1\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-192-cfb1\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-256-cfb1\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-128-ofb\":{cipher:\"AES\",key:128,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-192-ofb\":{cipher:\"AES\",key:192,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-256-ofb\":{cipher:\"AES\",key:256,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-128-ctr\":{cipher:\"AES\",key:128,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-192-ctr\":{cipher:\"AES\",key:192,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-256-ctr\":{cipher:\"AES\",key:256,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-128-gcm\":{cipher:\"AES\",key:128,iv:12,mode:\"GCM\",type:\"auth\"},\"aes-192-gcm\":{cipher:\"AES\",key:192,iv:12,mode:\"GCM\",type:\"auth\"},\"aes-256-gcm\":{cipher:\"AES\",key:256,iv:12,mode:\"GCM\",type:\"auth\"}}},function(e,t,n){var r=n(62),i=n(9).Buffer,o=n(28),s=n(7),a=n(449),u=n(46),l=n(212);function c(e,t,n,s){o.call(this);var u=i.alloc(4,0);this._cipher=new r.AES(t);var c=this._cipher.encryptBlock(u);this._ghash=new a(c),n=function(e,t,n){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var r=new a(n),o=t.length,s=o%16;r.update(t),s&&(s=16-s,r.update(i.alloc(s,0))),r.update(i.alloc(8,0));var u=8*o,c=i.alloc(8);c.writeUIntBE(u,0,8),r.update(c),e._finID=r.state;var h=i.from(e._finID);return l(h),h}(this,n,c),this._prev=i.from(n),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}s(c,o),c.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},c.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error(\"Unsupported state or unable to authenticate data\");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var r=Math.min(e.length,t.length),i=0;i<r;++i)n+=e[i]^t[i];return n}(e,this._authTag))throw new Error(\"Unsupported state or unable to authenticate data\");this._authTag=e,this._cipher.scrub()},c.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error(\"Attempting to get auth tag in unsupported state\");return this._authTag},c.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error(\"Attempting to set auth tag in unsupported state\");this._authTag=e},c.prototype.setAAD=function(e){if(this._called)throw new Error(\"Attempting to set AAD in unsupported state\");this._ghash.update(e),this._alen+=e.length},e.exports=c},function(e,t,n){var r=n(62),i=n(9).Buffer,o=n(28);function s(e,t,n,s){o.call(this),this._cipher=new r.AES(t),this._prev=i.from(n),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._mode=e}n(7)(s,o),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},e.exports=s},function(e,t,n){var r=n(36);e.exports=y,y.simpleSieve=m,y.fermatTest=v;var i=n(14),o=new i(24),s=new(n(217)),a=new i(1),u=new i(2),l=new i(5),c=(new i(16),new i(8),new i(10)),h=new i(3),d=(new i(7),new i(11)),p=new i(4),f=(new i(12),null);function g(){if(null!==f)return f;var e=[];e[0]=2;for(var t=1,n=3;n<1048576;n+=2){for(var r=Math.ceil(Math.sqrt(n)),i=0;i<t&&e[i]<=r&&n%e[i]!=0;i++);t!==i&&e[i]<=r||(e[t++]=n)}return f=e,e}function m(e){for(var t=g(),n=0;n<t.length;n++)if(0===e.modn(t[n]))return 0===e.cmpn(t[n]);return!0}function v(e){var t=i.mont(e);return 0===u.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function y(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var n,f;for(t=new i(t);;){for(n=new i(r(Math.ceil(e/8)));n.bitLength()>e;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(u),t.cmp(u)){if(!t.cmp(l))for(;n.mod(c).cmp(h);)n.iadd(p)}else for(;n.mod(o).cmp(d);)n.iadd(p);if(m(f=n.shrn(1))&&m(n)&&v(f)&&v(n)&&s.test(f)&&s.test(n))return n}}},function(e,t,n){var r=n(14),i=n(218);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),u=0;!a.testn(u);u++);for(var l=e.shrn(u),c=a.toRed(o);t>0;t--){var h=this._randrange(new r(2),a);n&&n(h);var d=h.toRed(o).redPow(l);if(0!==d.cmp(s)&&0!==d.cmp(c)){for(var p=1;p<u;p++){if(0===(d=d.redSqr()).cmp(s))return!1;if(0===d.cmp(c))break}if(p===u)return!1}}return!0},o.prototype.getDivisor=function(e,t){var n=e.bitLength(),i=r.mont(e),o=new r(1).toRed(i);t||(t=Math.max(1,n/48|0));for(var s=e.subn(1),a=0;!s.testn(a);a++);for(var u=e.shrn(a),l=s.toRed(i);t>0;t--){var c=this._randrange(new r(2),s),h=e.gcd(c);if(0!==h.cmpn(1))return h;var d=c.toRed(i).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(l)){for(var p=1;p<a;p++){if(0===(d=d.redSqr()).cmp(o))return d.fromRed().subn(1).gcd(e);if(0===d.cmp(l))break}if(p===a)return(d=d.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},function(e,t,n){var r;function i(e){this.rand=e}if(e.exports=function(e){return r||(r=new i(null)),r.generate(e)},e.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n<t.length;n++)t[n]=this.rand.getByte();return t},\"object\"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:\"object\"==typeof window&&(i.prototype._rand=function(){throw new Error(\"Not implemented yet\")});else try{var o=n(455);if(\"function\"!=typeof o.randomBytes)throw new Error(\"Not supported\");i.prototype._rand=function(e){return o.randomBytes(e)}}catch(e){}},function(e,t,n){\"use strict\";var r=t;function i(e){return 1===e.length?\"0\"+e:e}function o(e){for(var t=\"\",n=0;n<e.length;n++)t+=i(e[n].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if(\"string\"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if(\"hex\"===t)for((e=e.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(e=\"0\"+e),r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16));else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),o=i>>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return\"hex\"===t?o(e):e}},function(e,t,n){\"use strict\";var r=n(23).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){\"use strict\";var r=n(23),i=n(47),o=n(220),s=n(19),a=r.sum32,u=r.sum32_4,l=r.sum32_5,c=o.ch32,h=o.maj32,d=o.s0_256,p=o.s1_256,f=o.g0_256,g=o.g1_256,m=i.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}r.inherits(y,m),e.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=u(g(n[r-2]),n[r-7],f(n[r-15]),n[r-16]);var i=this.h[0],o=this.h[1],m=this.h[2],v=this.h[3],y=this.h[4],b=this.h[5],_=this.h[6],C=this.h[7];for(s(this.k.length===n.length),r=0;r<n.length;r++){var w=l(C,p(y),c(y,b,_),this.k[r],n[r]),D=a(d(i),h(i,o,m));C=_,_=b,b=y,y=a(v,w),v=m,m=o,o=i,i=a(w,D)}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],m),this.h[3]=a(this.h[3],v),this.h[4]=a(this.h[4],y),this.h[5]=a(this.h[5],b),this.h[6]=a(this.h[6],_),this.h[7]=a(this.h[7],C)},y.prototype._digest=function(e){return\"hex\"===e?r.toHex32(this.h,\"big\"):r.split32(this.h,\"big\")}},function(e,t,n){\"use strict\";var r=n(23),i=n(47),o=n(19),s=r.rotr64_hi,a=r.rotr64_lo,u=r.shr64_hi,l=r.shr64_lo,c=r.sum64,h=r.sum64_hi,d=r.sum64_lo,p=r.sum64_4_hi,f=r.sum64_4_lo,g=r.sum64_5_hi,m=r.sum64_5_lo,v=i.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;v.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function _(e,t,n,r,i){var o=e&n^~e&i;return o<0&&(o+=4294967296),o}function C(e,t,n,r,i,o){var s=t&r^~t&o;return s<0&&(s+=4294967296),s}function w(e,t,n,r,i){var o=e&n^e&i^n&i;return o<0&&(o+=4294967296),o}function D(e,t,n,r,i,o){var s=t&r^t&o^r&o;return s<0&&(s+=4294967296),s}function E(e,t){var n=s(e,t,28)^s(t,e,2)^s(t,e,7);return n<0&&(n+=4294967296),n}function A(e,t){var n=a(e,t,28)^a(t,e,2)^a(t,e,7);return n<0&&(n+=4294967296),n}function S(e,t){var n=s(e,t,14)^s(e,t,18)^s(t,e,9);return n<0&&(n+=4294967296),n}function x(e,t){var n=a(e,t,14)^a(e,t,18)^a(t,e,9);return n<0&&(n+=4294967296),n}function M(e,t){var n=s(e,t,1)^s(e,t,8)^u(e,t,7);return n<0&&(n+=4294967296),n}function N(e,t){var n=a(e,t,1)^a(e,t,8)^l(e,t,7);return n<0&&(n+=4294967296),n}function I(e,t){var n=s(e,t,19)^s(t,e,29)^u(e,t,6);return n<0&&(n+=4294967296),n}function L(e,t){var n=a(e,t,19)^a(t,e,29)^l(e,t,6);return n<0&&(n+=4294967296),n}r.inherits(b,v),e.exports=b,b.blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=I(n[r-4],n[r-3]),o=L(n[r-4],n[r-3]),s=n[r-14],a=n[r-13],u=M(n[r-30],n[r-29]),l=N(n[r-30],n[r-29]),c=n[r-32],h=n[r-31];n[r]=p(i,o,s,a,u,l,c,h),n[r+1]=f(i,o,s,a,u,l,c,h)}},b.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],i=this.h[1],s=this.h[2],a=this.h[3],u=this.h[4],l=this.h[5],p=this.h[6],f=this.h[7],v=this.h[8],y=this.h[9],b=this.h[10],M=this.h[11],N=this.h[12],I=this.h[13],L=this.h[14],k=this.h[15];o(this.k.length===n.length);for(var T=0;T<n.length;T+=2){var F=L,O=k,P=S(v,y),B=x(v,y),R=_(v,y,b,M,N),j=C(v,y,b,M,N,I),z=this.k[T],W=this.k[T+1],V=n[T],H=n[T+1],U=g(F,O,P,B,R,j,z,W,V,H),Y=m(F,O,P,B,R,j,z,W,V,H);F=E(r,i),O=A(r,i),P=w(r,i,s,a,u),B=D(r,i,s,a,u,l);var Z=h(F,O,P,B),G=d(F,O,P,B);L=N,k=I,N=b,I=M,b=v,M=y,v=h(p,f,U,Y),y=d(f,f,U,Y),p=u,f=l,u=s,l=a,s=r,a=i,r=h(U,Y,Z,G),i=d(U,Y,Z,G)}c(this.h,0,r,i),c(this.h,2,s,a),c(this.h,4,u,l),c(this.h,6,p,f),c(this.h,8,v,y),c(this.h,10,b,M),c(this.h,12,N,I),c(this.h,14,L,k)},b.prototype._digest=function(e){return\"hex\"===e?r.toHex32(this.h,\"big\"):r.split32(this.h,\"big\")}},function(e,t,n){var r=n(7),i=n(49).Reporter,o=n(12).Buffer;function s(e,t){i.call(this,t),o.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error(\"Input not Buffer\")}function a(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof a||(e=new a(e,t)),this.length+=e.length,e},this);else if(\"number\"==typeof e){if(!(0<=e&&e<=255))return t.error(\"non-byte EncoderBuffer value\");this.value=e,this.length=1}else if(\"string\"==typeof e)this.value=e,this.length=o.byteLength(e);else{if(!o.isBuffer(e))return t.error(\"Unsupported type: \"+typeof e);this.value=e,this.length=e.length}}r(s,i),t.DecoderBuffer=s,s.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,i.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||\"DecoderBuffer overrun\")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||\"DecoderBuffer overrun\");var n=new s(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=a,a.prototype.join=function(e,t){return e||(e=new o(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(n){n.join(e,t),t+=n.length}):(\"number\"==typeof this.value?e[t]=this.value:\"string\"==typeof this.value?e.write(this.value,t):o.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},function(e,t,n){var r=t;r._reverse=function(e){var t={};return Object.keys(e).forEach(function(n){(0|n)==n&&(n|=0);var r=e[n];t[r]=n}),t},r.der=n(487)},function(e,t,n){var r=n(7),i=n(48),o=i.base,s=i.bignum,a=i.constants.der;function u(e){this.enc=\"der\",this.name=e.name,this.entity=e,this.tree=new l,this.tree._init(e.body)}function l(e){o.Node.call(this,\"der\",e)}function c(e,t){var n=e.readUInt8(t);if(e.isError(n))return n;var r=a.tagClass[n>>6],i=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function h(e,t,n){var r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;var i=127&r;if(i>4)return e.error(\"length octect is too long\");r=0;for(var o=0;o<i;o++){r<<=8;var s=e.readUInt8(n);if(e.isError(s))return s;r|=s}return r}e.exports=u,u.prototype.decode=function(e,t){return e instanceof o.DecoderBuffer||(e=new o.DecoderBuffer(e,t)),this.tree._decode(e,t)},r(l,o.Node),l.prototype._peekTag=function(e,t,n){if(e.isEmpty())return!1;var r=e.save(),i=c(e,'Failed to peek tag: \"'+t+'\"');return e.isError(i)?i:(e.restore(r),i.tag===t||i.tagStr===t||i.tagStr+\"of\"===t||n)},l.prototype._decodeTag=function(e,t,n){var r=c(e,'Failed to decode tag of \"'+t+'\"');if(e.isError(r))return r;var i=h(e,r.primitive,'Failed to get length of \"'+t+'\"');if(e.isError(i))return i;if(!n&&r.tag!==t&&r.tagStr!==t&&r.tagStr+\"of\"!==t)return e.error('Failed to match tag: \"'+t+'\"');if(r.primitive||null!==i)return e.skip(i,'Failed to match body of: \"'+t+'\"');var o=e.save(),s=this._skipUntilEnd(e,'Failed to skip indefinite length body: \"'+this.tag+'\"');return e.isError(s)?s:(i=e.offset-o.offset,e.restore(o),e.skip(i,'Failed to match body of: \"'+t+'\"'))},l.prototype._skipUntilEnd=function(e,t){for(;;){var n=c(e,t);if(e.isError(n))return n;var r,i=h(e,n.primitive,t);if(e.isError(i))return i;if(r=n.primitive||null!==i?e.skip(i):this._skipUntilEnd(e,t),e.isError(r))return r;if(\"end\"===n.tagStr)break}},l.prototype._decodeList=function(e,t,n,r){for(var i=[];!e.isEmpty();){var o=this._peekTag(e,\"end\");if(e.isError(o))return o;var s=n.decode(e,\"der\",r);if(e.isError(s)&&o)break;i.push(s)}return i},l.prototype._decodeStr=function(e,t){if(\"bitstr\"===t){var n=e.readUInt8();return e.isError(n)?n:{unused:n,data:e.raw()}}if(\"bmpstr\"===t){var r=e.raw();if(r.length%2==1)return e.error(\"Decoding of string type: bmpstr length mismatch\");for(var i=\"\",o=0;o<r.length/2;o++)i+=String.fromCharCode(r.readUInt16BE(2*o));return i}if(\"numstr\"===t){var s=e.raw().toString(\"ascii\");return this._isNumstr(s)?s:e.error(\"Decoding of string type: numstr unsupported characters\")}if(\"octstr\"===t)return e.raw();if(\"objDesc\"===t)return e.raw();if(\"printstr\"===t){var a=e.raw().toString(\"ascii\");return this._isPrintstr(a)?a:e.error(\"Decoding of string type: printstr unsupported characters\")}return/str$/.test(t)?e.raw().toString():e.error(\"Decoding of string type: \"+t+\" unsupported\")},l.prototype._decodeObjid=function(e,t,n){for(var r,i=[],o=0;!e.isEmpty();){var s=e.readUInt8();o<<=7,o|=127&s,0==(128&s)&&(i.push(o),o=0)}128&s&&i.push(o);var a=i[0]/40|0,u=i[0]%40;if(r=n?i:[a,u].concat(i.slice(1)),t){var l=t[r.join(\" \")];void 0===l&&(l=t[r.join(\".\")]),void 0!==l&&(r=l)}return r},l.prototype._decodeTime=function(e,t){var n=e.raw().toString();if(\"gentime\"===t)var r=0|n.slice(0,4),i=0|n.slice(4,6),o=0|n.slice(6,8),s=0|n.slice(8,10),a=0|n.slice(10,12),u=0|n.slice(12,14);else{if(\"utctime\"!==t)return e.error(\"Decoding \"+t+\" time is not supported yet\");r=0|n.slice(0,2),i=0|n.slice(2,4),o=0|n.slice(4,6),s=0|n.slice(6,8),a=0|n.slice(8,10),u=0|n.slice(10,12);r=r<70?2e3+r:1900+r}return Date.UTC(r,i-1,o,s,a,u,0)},l.prototype._decodeNull=function(e){return null},l.prototype._decodeBool=function(e){var t=e.readUInt8();return e.isError(t)?t:0!==t},l.prototype._decodeInt=function(e,t){var n=e.raw(),r=new s(n);return t&&(r=t[r.toString(10)]||r),r},l.prototype._use=function(e,t){return\"function\"==typeof e&&(e=e(t)),e._getDecoder(\"der\").tree}},function(e,t,n){var r=n(7),i=n(12).Buffer,o=n(48),s=o.base,a=o.constants.der;function u(e){this.enc=\"der\",this.name=e.name,this.entity=e,this.tree=new l,this.tree._init(e.body)}function l(e){s.Node.call(this,\"der\",e)}function c(e){return e<10?\"0\"+e:e}e.exports=u,u.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},r(l,s.Node),l.prototype._encodeComposite=function(e,t,n,r){var o,s=function(e,t,n,r){var i;\"seqof\"===e?e=\"seq\":\"setof\"===e&&(e=\"set\");if(a.tagByName.hasOwnProperty(e))i=a.tagByName[e];else{if(\"number\"!=typeof e||(0|e)!==e)return r.error(\"Unknown tag: \"+e);i=e}if(i>=31)return r.error(\"Multi-octet tag encoding unsupported\");t||(i|=32);return i|=a.tagClassByName[n||\"universal\"]<<6}(e,t,n,this.reporter);if(r.length<128)return(o=new i(2))[0]=s,o[1]=r.length,this._createEncoderBuffer([o,r]);for(var u=1,l=r.length;l>=256;l>>=8)u++;(o=new i(2+u))[0]=s,o[1]=128|u;l=1+u;for(var c=r.length;c>0;l--,c>>=8)o[l]=255&c;return this._createEncoderBuffer([o,r])},l.prototype._encodeStr=function(e,t){if(\"bitstr\"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if(\"bmpstr\"===t){for(var n=new i(2*e.length),r=0;r<e.length;r++)n.writeUInt16BE(e.charCodeAt(r),2*r);return this._createEncoderBuffer(n)}return\"numstr\"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error(\"Encoding of string type: numstr supports only digits and space\"):\"printstr\"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\"):/str$/.test(t)?this._createEncoderBuffer(e):\"objDesc\"===t?this._createEncoderBuffer(e):this.reporter.error(\"Encoding of string type: \"+t+\" unsupported\")},l.prototype._encodeObjid=function(e,t,n){if(\"string\"==typeof e){if(!t)return this.reporter.error(\"string objid given, but no values map found\");if(!t.hasOwnProperty(e))return this.reporter.error(\"objid not found in values map\");e=t[e].split(/[\\s\\.]+/g);for(var r=0;r<e.length;r++)e[r]|=0}else if(Array.isArray(e)){e=e.slice();for(r=0;r<e.length;r++)e[r]|=0}if(!Array.isArray(e))return this.reporter.error(\"objid() should be either array or string, got: \"+JSON.stringify(e));if(!n){if(e[1]>=40)return this.reporter.error(\"Second objid identifier OOB\");e.splice(0,2,40*e[0]+e[1])}var o=0;for(r=0;r<e.length;r++){var s=e[r];for(o++;s>=128;s>>=7)o++}var a=new i(o),u=a.length-1;for(r=e.length-1;r>=0;r--){s=e[r];for(a[u--]=127&s;(s>>=7)>0;)a[u--]=128|127&s}return this._createEncoderBuffer(a)},l.prototype._encodeTime=function(e,t){var n,r=new Date(e);return\"gentime\"===t?n=[c(r.getFullYear()),c(r.getUTCMonth()+1),c(r.getUTCDate()),c(r.getUTCHours()),c(r.getUTCMinutes()),c(r.getUTCSeconds()),\"Z\"].join(\"\"):\"utctime\"===t?n=[c(r.getFullYear()%100),c(r.getUTCMonth()+1),c(r.getUTCDate()),c(r.getUTCHours()),c(r.getUTCMinutes()),c(r.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+t+\" time is not supported yet\"),this._encodeStr(n,\"octstr\")},l.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},l.prototype._encodeInt=function(e,t){if(\"string\"==typeof e){if(!t)return this.reporter.error(\"String int or enum given, but no values map\");if(!t.hasOwnProperty(e))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(e));e=t[e]}if(\"number\"!=typeof e&&!i.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new i(n)}if(i.isBuffer(e)){var r=e.length;0===e.length&&r++;var o=new i(r);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);r=1;for(var s=e;s>=256;s>>=8)r++;for(s=(o=new Array(r)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},l.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},l.prototype._use=function(e,t){return\"function\"==typeof e&&(e=e(t)),e._getEncoder(\"der\").tree},l.prototype._skipDefault=function(e,t,n){var r,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,n).join()),o.length!==i.defaultBuffer.length)return!1;for(r=0;r<o.length;r++)if(o[r]!==i.defaultBuffer[r])return!1;return!0}},function(e){e.exports={\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}},function(e,t,n){(function(t){var r=n(44);function i(e){var n=new t(4);return n.writeUInt32BE(e,0),n}e.exports=function(e,n){for(var o,s=new t(\"\"),a=0;s.length<n;)o=i(a++),s=t.concat([s,r(\"sha1\").update(e).update(o).digest()]);return s.slice(0,n)}}).call(this,n(12).Buffer)},function(e,t){e.exports=function(e,t){for(var n=e.length,r=-1;++r<n;)e[r]^=t[r];return e}},function(e,t,n){(function(t){var r=n(14);e.exports=function(e,n){return new t(e.toRed(r.mont(n.modulus)).redPow(new r(n.publicExponent)).fromRed().toArray())}}).call(this,n(12).Buffer)},function(e,t,n){\"use strict\";var r=n(59),i=n(40),o=n(181),s=n(35),a=n(66),u=n(516),l=n(75),c=n(517),h=n(26)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,g,m,v){u(n,t,f);var y,b,_,C=function(e){if(!d&&e in A)return A[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+\" Iterator\",D=\"values\"==g,E=!1,A=e.prototype,S=A[h]||A[\"@@iterator\"]||g&&A[g],x=S||C(g),M=g?D?C(\"entries\"):x:void 0,N=\"Array\"==t&&A.entries||S;if(N&&(_=c(N.call(new e)))!==Object.prototype&&_.next&&(l(_,w,!0),r||\"function\"==typeof _[h]||s(_,h,p)),D&&S&&\"values\"!==S.name&&(E=!0,x=function(){return S.call(this)}),r&&!v||!d&&!E&&A[h]||s(A,h,x),a[t]=x,a[w]=p,g)if(y={values:D?x:C(\"values\"),keys:m?x:C(\"keys\"),entries:M},v)for(b in y)b in A||o(A,b,y[b]);else i(i.P+i.F*(d||E),t,y);return y}},function(e,t,n){!function(){function t(e,t){document.addEventListener?e.addEventListener(\"scroll\",t,!1):e.attachEvent(\"scroll\",t)}function n(e){this.a=document.createElement(\"div\"),this.a.setAttribute(\"aria-hidden\",\"true\"),this.a.appendChild(document.createTextNode(e)),this.b=document.createElement(\"span\"),this.c=document.createElement(\"span\"),this.h=document.createElement(\"span\"),this.f=document.createElement(\"span\"),this.g=-1,this.b.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\",this.c.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\",this.f.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\",this.h.style.cssText=\"display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;\",this.b.appendChild(this.h),this.c.appendChild(this.f),this.a.appendChild(this.b),this.a.appendChild(this.c)}function r(e,t){e.a.style.cssText=\"max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:\"+t+\";\"}function i(e){var t=e.a.offsetWidth,n=t+100;return e.f.style.width=n+\"px\",e.c.scrollLeft=n,e.b.scrollLeft=e.b.scrollWidth+100,e.g!==t&&(e.g=t,!0)}function o(e,n){function r(){var e=o;i(e)&&e.a.parentNode&&n(e.g)}var o=e;t(e.b,r),t(e.c,r),i(e)}function s(e,t){var n=t||{};this.family=e,this.style=n.style||\"normal\",this.weight=n.weight||\"normal\",this.stretch=n.stretch||\"normal\"}var a=null,u=null,l=null,c=null;function h(){return null===c&&(c=!!document.fonts),c}function d(e,t){return[e.style,e.weight,function(){if(null===l){var e=document.createElement(\"div\");try{e.style.font=\"condensed 100px sans-serif\"}catch(e){}l=\"\"!==e.style.font}return l}()?e.stretch:\"\",\"100px\",t].join(\" \")}s.prototype.load=function(e,t){var i=this,s=e||\"BESbswy\",l=0,c=t||3e3,p=(new Date).getTime();return new Promise(function(e,t){if(h()&&!function(){if(null===u)if(h()&&/Apple/.test(window.navigator.vendor)){var e=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))(?:\\.([0-9]+))/.exec(window.navigator.userAgent);u=!!e&&603>parseInt(e[1],10)}else u=!1;return u}()){var f=new Promise(function(e,t){!function n(){(new Date).getTime()-p>=c?t():document.fonts.load(d(i,'\"'+i.family+'\"'),s).then(function(t){1<=t.length?e():setTimeout(n,25)},function(){t()})}()}),g=new Promise(function(e,t){l=setTimeout(t,c)});Promise.race([g,f]).then(function(){clearTimeout(l),e(i)},function(){t(i)})}else!function(e){document.body?e():document.addEventListener?document.addEventListener(\"DOMContentLoaded\",function t(){document.removeEventListener(\"DOMContentLoaded\",t),e()}):document.attachEvent(\"onreadystatechange\",function t(){\"interactive\"!=document.readyState&&\"complete\"!=document.readyState||(document.detachEvent(\"onreadystatechange\",t),e())})}(function(){function u(){var t;(t=-1!=m&&-1!=v||-1!=m&&-1!=y||-1!=v&&-1!=y)&&((t=m!=v&&m!=y&&v!=y)||(null===a&&(t=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent),a=!!t&&(536>parseInt(t[1],10)||536===parseInt(t[1],10)&&11>=parseInt(t[2],10))),t=a&&(m==b&&v==b&&y==b||m==_&&v==_&&y==_||m==C&&v==C&&y==C)),t=!t),t&&(w.parentNode&&w.parentNode.removeChild(w),clearTimeout(l),e(i))}var h=new n(s),f=new n(s),g=new n(s),m=-1,v=-1,y=-1,b=-1,_=-1,C=-1,w=document.createElement(\"div\");w.dir=\"ltr\",r(h,d(i,\"sans-serif\")),r(f,d(i,\"serif\")),r(g,d(i,\"monospace\")),w.appendChild(h.a),w.appendChild(f.a),w.appendChild(g.a),document.body.appendChild(w),b=h.a.offsetWidth,_=f.a.offsetWidth,C=g.a.offsetWidth,function e(){if((new Date).getTime()-p>=c)w.parentNode&&w.parentNode.removeChild(w),t(i);else{var n=document.hidden;!0!==n&&void 0!==n||(m=h.a.offsetWidth,v=f.a.offsetWidth,y=g.a.offsetWidth,u()),l=setTimeout(e,50)}}(),o(h,function(e){m=e,u()}),r(h,d(i,'\"'+i.family+'\",sans-serif')),o(f,function(e){v=e,u()}),r(f,d(i,'\"'+i.family+'\",serif')),o(g,function(e){y=e,u()}),r(g,d(i,'\"'+i.family+'\",monospace'))})})},e.exports=s}()},function(e,t){e.exports='L1 {\\n    StartHere\\n        = Program\\n\\n    Program\\n        = Assignment*\\n\\n    Assignment\\n        = \"_\"? Path \":\" Value (\"\\\\n\"|\",\")? -- normal\\n        | \"::\" Path (\"\\\\n\"|\",\"|\";\")? -- import\\n        \\n    Function\\n        = (identifier) \"=>\" Expression\\n\\n    Value\\n        = Expression\\n        \\n    Expression (an expression)\\n        = Pipeline\\n        \\n    Pipeline\\n    \\t= Pipeline (\"->\"|\"|>\") (~Assignment Addition) -- binary\\n        | Addition -- fallthrough\\n        \\n    Addition\\n        = (Addition (\"+\"|\"-\") Multiplication) -- binary\\n        | Multiplication -- fallthrough\\n        | \"+\" Multiplication -- sum\\n        | \"-\" Multiplication -- negative\\n    Multiplication\\n        = (Multiplication (\"*\"|\"×\"|\"/\"|\"÷\"|\"%\"|\"@\"|\"⊗\") Exponentiation) -- binary\\n        | Exponentiation -- fallthrough\\n        | \"*\" Multiplication  -- product\\n        | \"/\" Multiplication  -- reciprocal\\n    Exponentiation\\n        = Access \"^\" Exponentiation  -- binary\\n        | Access -- fallthrough\\n    Access\\n        = Access \".\" Path -- binary\\n        | FunctionApplication -- fallthrough\\n\\n    FunctionApplication\\n        = PrimitiveExpression (~Assignment FunctionApplication)?\\n    \\n    PrimitiveExpression\\n        = \"(\" Value \")\"  -- paren\\n        | \"\\'\" PrimitiveExpression  -- magic\\n        | Function\\n        | Object\\n        | Reference -- path\\n        | Tensor  -- tensor\\n        | \"[\" \"]\" -- emptyTensor\\n        | \"(\" \")\" -- none1\\n        | \"!\" -- none2\\n        | string\\n        \\n    Reference\\n        = Path\\n    Path\\n        = nonemptyListOf<(identifier | symbol), \".\">\\n\\n    Object (object)\\n        = \"{\" Program \"}\"\\n\\n    Scalar\\n        = number\\n    Vector (vector)\\n        = \"[\" row \"]\"\\n    Matrix (matrix)\\n        = \"[\" rows \"]\"\\n    Tensor\\n        = (Scalar | Vector | Matrix)\\n\\n    rows\\n        = nonemptyListOf<row, rowSeparator>\\n    row\\n        = spaceButNewLine* nonemptyListOf<number, spaceButNewLine*> spaceButNewLine*\\n    rowSeparator\\n        = (\"\\\\n\" | \",\")\\n    spaceButNewLine\\n        = ~\"\\\\n\" space\\n    number (a number)\\n        = \"-\"? (digit|\"_\")+ (\".\" (digit|\"_\")*)?\\n\\n    string\\n        = \"\\\\\"\" (~\"\\\\\"\" any)* \"\\\\\"\"\\n\\n    identifier (an identifier)\\n        = &letter (alnum | \"_\" | \"-\")+\\n    symbol (a symbol)\\n        = \"#\" identifier\\n\\n    // TODO: Comment that will comment out the rest of the program.\\n    space\\n        += lineComment\\n    lineComment\\n        = ((\";\") (~\"\\\\n\" any)*) \"\\\\n\"?\\n}'},function(e,t,n){\"use strict\";e.exports=function(e){var t=void 0;t=\"string\"==typeof e?[e]:e.raw;for(var n=\"\",r=0;r<t.length;r++)n+=t[r].replace(/\\\\\\n[ \\t]*/g,\"\").replace(/\\\\`/g,\"`\"),r<(arguments.length<=1?0:arguments.length-1)&&(n+=arguments.length<=r+1?void 0:arguments[r+1]);var i=n.split(\"\\n\"),o=null;return i.forEach(function(e){var t=e.match(/^(\\s+)\\S+/);if(t){var n=t[1].length;o=o?Math.min(o,n):n}}),null!==o&&(n=i.map(function(e){return\" \"===e[0]?e.slice(o):e}).join(\"\\n\")),(n=n.trim()).replace(/\\\\n/g,\"\\n\")}},function(e,t,n){\"use strict\";t.a=function(){return!1}},function(e,t){e.exports='# Syntax\\n\\n## Comments\\n\\n```L1\\n; This is a comment\\n\\n; This is a\\n;   multiline\\n;       comment\\n```\\n\\n1. Everything after a semicolon is a comment.\\n1. There are only single-line comments.\\n\\n## Assignment\\n\\n```L1\\na: 0\\n```\\n\\n1. Yes, a colon. It\\'s a name–value pair, a prop(erty).\\n1. Names can be in `camelCase`, `PascalCase`, `python_case`, `kebab-case`, `UPPERCASE`, `lowercase` or `FüčK3d_Úp-_cäšE-ಠ_ಠ`. Nobody cares.\\n1. Choosing good names is **your** responsibility.\\n\\n## Numbers\\n\\n```L1\\na: 0\\nb: 1\\nc: -2\\nd: -3.14\\ne: 1_000\\n```\\n\\n1. There are no *types*. It\\'s just a numeric value.\\n1. *But to be honest – 32-bit float.*\\n1. If your numbers are too big, too small (or they aren\\'t numbers at all), you gotta pump those rookie numbers up.\\n\\n### Tensors\\n\\n```L1\\nscalar: 23\\nvector1: [1 2 3]\\nvector2: [1,2,3]\\nmatrix1: [1 2, 3 4]\\nmatrix2: [\\n    1 2\\n    3 4\\n]\\n```\\n\\n1. Only scalars, vectors and matrices.\\n1. `Reshape` any tensor however you like.\\n\\n## Operators\\n\\n```L1\\na: 1 + 2               ; 3\\nb: 2 - 1               ; 1\\nc: 1 + 2 * 2           ; 1 + 4\\nd: 2 * 3 / 6           ; 1\\ne: 3 * 2 ^ 2 + 1       ; 3 * 4 + 1\\nf: (3 * 2) ^ (2 + 1)   ; 6^3\\n```\\n\\n1. Natural order of operations. You got this!\\n1. Applicable to tensors of all sizes (auto broadcast).\\n1. There are some fancy operators.\\n\\n```L1\\na: [1 2 3] * 3   ; [1 2 3] × 3\\nb: [3 6 9] / 3   ; [3 6 9] ÷ 3\\nc: [1 2 3] % 2\\n\\n; matrix multiplication\\nd: [1 2, 3 4] @ [1 2, 3 4]   ; [1 2, 3 4] ⊗ [1 2, 3 4]\\n```\\n\\n## Function Application\\n\\n```L1\\na: Square 23              ; Square(23) = 23^2\\nb: Square [1 2 3]         ; Square([1 2 3]) = [1 4 9]\\nc: SquareRoot Square 23   ; SquareRoot(Square(23))\\nd: RandomNormal !         ; RandomNormal()\\n```\\n\\n```L1\\nsize1: Size [1 2 3]         ; size1 = 3\\nsize2: Size [1,2,3]         ; size2 = 3\\nsize3: Size [1 2, 3 4]      ; size3 = 4\\n\\nshape1: Shape [1 2 3]       ; shape1 = [3]\\nshape2: Shape [1 2, 3 4]    ; shape2 = [2 2]\\n\\nrank0: Rank 23              ; rank0 = 0\\nrank1: Rank [1 2 3]         ; rank1 = 1\\nrank2: Rank [1 2, 3 4]      ; rank2 = 2\\n\\nmin: Min [0 1 2]            ; min = 0\\nmax: Max [0 1 2]            ; max = 2\\nmean: Mean [0 1 2]          ; mean = 1\\n```\\n\\n1. There is always only one argument. One is enough.\\n1. The argument does not have to be in parenthesis.\\n1. Use parenthesis if you must.\\n1. Use `!` to call function without an argument.\\n\\n### Pipeline\\n\\n```L1\\na: 23 -> Square                ; Square 23\\nb: 23 -> Square -> SquareRoot  ; SquareRoot Square 23\\nc: [1 2, 3 4] -> Square\\nd: [1 2, 3 4]\\n    -> Square\\n    -> SquareRoot\\n```\\n\\n1. Pipeline is a function application with the reversed order.\\n1. Pipeline can turn nested expression into a linear one.\\n\\n## Objects\\n\\n```L1\\nObj1: {\\n    x: 1\\n    y: 2\\n}\\nObj2: { x: 1, y: 2}\\n```\\n\\n1. Objects hold name–value pairs, prop(ertie)s.\\n1. Child object can refer to parent props directly.\\n1. Dot `.` operator works.\\n1. Shorthand notation for `abc: abc` is `::abc`. Also works for paths.\\n\\n```L1\\nA: {\\n    x: 1\\n    B: {\\n        y: x + 1\\n    }\\n}\\nz: A.B.y  ; z: 2\\n```\\n\\n```L1\\ny: {\\n    x: 2\\n    value: x * 3\\n}.value\\n```\\n\\n```L1\\nA: {\\n    i: 23\\n    B:  {\\n        j: 47\\n    }\\n    C: {\\n        ::i     ; i: i\\n        ::B.j   ; j: B.j\\n    }\\n}\\n```\\n\\n## Functions\\n\\n```L1\\nFn: x => x^2\\na: Fn 3\\n```\\n\\n1. There is only one argument.\\n1. Higher-order functions are okay.\\n\\n```L1\\nFn: x => {\\n    linear: x\\n    quadratic: x^2\\n    cubic: x^3\\n}\\nA: Fn 3\\n\\n; A: {\\n;     linear: 3\\n;     quadratic: 9\\n;     cubic: 27\\n; }\\n```\\n\\n```L1\\nFn: x => y => x + y     ; higher-order function\\na: (Fn 2) 3             ; JS: Fn(2)(3)\\nb: 3 -> (2 -> Fn)\\nc: 3 -> (Fn 2)\\nd: (2 -> Fn) 3\\n```\\n\\n```L1\\nFn: A => {\\n    z: A.x + A.y\\n    value: z^2\\n}.value\\n\\na: Fn {\\n    x: 1\\n    y: 2\\n}\\n```\\n\\n```L1\\nFlip: S => {\\n    a: S.b\\n    b: S.a\\n}\\n\\nmu: { a: 0, b: 1 }\\n    -> Flip\\n    -> Flip\\n    -> Flip\\n```\\n\\n## IIFE\\n\\n```L1\\niife1: 22 -> a => a + 1\\niife2: (a => a + 1) 22\\n```\\n\\n## Functional Objects\\n\\n1. Object can be used as a function.\\n1. Good for many things, mostly encapsulation.\\n1. Can have documentation attached.\\n\\n```L1\\nfn: {\\n    #call: a => a + 23\\n    #doc: \"Adds 23 and the provided *value*\"\\n}\\n\\ntest: fn 24\\n```\\n\\n# Extra info\\n\\n### Self\\n\\nTop-level prop `Self` contains everything that is available by default, something like \"standard library\".\\n\\n```L1\\n:: Self\\n```\\n\\n### Silent assignment\\n\\n```L1\\n_a: 23\\n_b: 24\\nc: a + b\\n```\\n1. Use underscore `_` in front of an assignment, to silence it.\\n1. (Therefore, no names with leading `_`, yay!)\\n1. Values still exist and can be used – they are just not displayed.\\n\\n### None\\n\\nExpressions `()` and `!` (and top-level prop `None`) have value that is equivalent of `None` in Python or `undefined` in Javascript. It is useful when calling a function that does not need an argument.\\n\\n```L1\\na: ()\\nb: !\\nc: None\\n```\\n\\n### Booleans\\n\\nThere are top-level props called `False` and `True`. There is no use for them yet.\\n\\n### Strings\\n\\nThere is a rudimentary support for strings. However, no concatenation, no interpolation, no manipulation. They are necessary for documentation right now.\\n\\n### Symbols\\n\\nFollowing example shows two assignments. First is a normal prop – string as a key, second is a symbol prop – symbol as a key:\\n```L1\\nmu: 2\\n#mu: 2\\n```\\n\\nSymbol props are not displayed (silenced by default), and have a special purpose. For example, `#call` is used when object is used as a function in function application. `#doc` holds a Markdown documentation for the object.\\n\\nThere is also a `#meta` prop, that is used internally to do various stuff:\\n\\n```L1\\nmu: {\\n    a: 23\\n    _b: 47\\n}\\n\\nmeta: mu.#meta\\n```\\n\\nSymbol props can store any values and can be accessed in the same way as a normal props.\\n\\n### Keyboard shortcuts\\n* force-evaluate code – `Ctrl+Enter` or `Cmd-Return`\\n* create sharable URL – `Ctrl+S` or `Cmd-S`'},function(e,t){e.exports=\"# RandomNormal\\n\\nReturns a tensor with values sampled from a normal distribution.\\n\\n```L1\\n::RandomNormal\\nrandomScalar: RandomNormal!\\nrandomVector1: RandomNormal [10]\\nrandomVector2: [10] -> RandomNormal\\nrandomMatrix: [10 10] -> RandomNormal\\n\\na: RandomNormal {\\n    shape: [28 28]\\n}\\n\\nb: RandomNormal {\\n    shape: [28 28]\\n    mean: 0\\n    stdDev: 1\\n}\\n```\"},function(e,t){e.exports=\"# RandomUniform\\n\\nReturns a tensor with values sampled from a uniform distribution.\\n\\n```L1\\n::RandomUniform\\nrandomScalar: RandomUniform!\\nrandomVector1: RandomUniform [10]\\nrandomVector2: [10] -> RandomUniform\\nrandomMatrix: [10 10] -> RandomUniform\\n\\na: RandomUniform {\\n    shape: [28 28]\\n}\\n\\nb: RandomUniform {\\n    shape: [28 28]\\n    min: 0\\n    max: 1\\n}\\n```\"},function(e,t){e.exports=\"# Clip\\n\\nClips values of the tensor to the provided minimum and/or maximum.\\n\\n```L1\\n::Clip\\n\\nclip-1: Clip ! ; 0-1\\nclip-2: Clip {\\n    min: 0\\n    max: 1\\n}\\n\\nReLU: Clip { min: 0 }\\ntest: RandomNormal [28 28] -> ReLU\\n```\"},function(e,t){e.exports=\"# LinearSpace\\n\\nReturns a vector of length `count` with values from `start` to `stop`.\\n\\n```L1\\n::LinearSpace\\na: LinearSpace ! ; [0 1]\\nb: LinearSpace {\\n    start: 0\\n    stop:  1\\n    count: 2\\n}\\n\\nshape: Shape b      ; shape = [2] = count\\nmin: Min b          ; min = 0 = start\\nmax: Max b          ; max = 1 = stop\\n\\nc: LinearSpace {\\n    count: 100\\n}\\n```\"},function(e,t){e.exports=\"# Ones\\n\\nReturns a tensor filled with 1 everywhere.\\n\\n```L1\\n::Ones\\na: Ones !           ; a = Ones []\\nb: Ones [2 2]       ; b = [1 1, 1 1]\\n```\"},function(e,t){e.exports=\"# Zeros\\n\\nReturns a tensor filled with 0 everywhere.\\n\\n```L1\\n::Zeros\\na: Zeros !           ; a = Zeros [] = 0\\nb: Zeros [2 2]       ; b = [0 0, 0 0]\\n```\"},function(e,t){e.exports=\"# Eye\\n\\nReturns an identity matrix of size `n`.\\n\\n```L1\\n::Eye\\na: Eye !    ; 1\\nc: Eye 2    ; [1 0, 0 1]\\nd: Eye 10\\n```\"},function(e,t){e.exports=\"# Min\\n\\nMin returns the minimum of the provided tensor\\n\\n```L1\\n::Min\\nmin-1: Min 1 ; min = 1\\nmin-2: Min [1 2 3] ; min = 1\\n```\"},function(e,t){e.exports=\"# Max\\n\\nMax returns the maximum of the provided tensor\\n\\n```L1\\n::Max\\nmax-1: Max 1 ; max = 1\\nmax-2: Max [1 2 3] ; max = 3\\n```\"},function(e,t){e.exports=\"# Mean\\n\\nReturns the mean of the provided tensor\\n\\n```L1\\n::Mean\\nmean-1: Mean 1 ; mean = 1\\nmean-2: Mean [1 2 3] ; mean = 2\\nmean-3: Mean [1 2] ; mean = 1.5\\n```\"},function(e,t){e.exports=\"# Sum\\n\\nSum returns the sum of the provided tensor\\n\\n```L1\\n::Sum\\nsum-1: Sum 1 ; sum-1 = 1\\nsum-2: Sum [1 2 3] ; sum-2 = 6\\nsum-3: +[1 2 3] ; sum-3 = 6\\nsum-4: +[1 2, 3 4] ; sum-4 = 10\\n```\"},function(e,t){e.exports=\"# Product\\n\\nProduct returns the product of the provided tensor.\\n\\n**Note:** *TensorFlow.js does not support product (tf.prod) at the moment.*\\n\\n```L1\\n::Product\\nprod-1: Product 1        ; prod-1 = 1\\nprod-2: Product [1 2 3]  ; prod-2 = 6\\nprod-3: *[1 2 3]         ; prod-3 = 6\\nprod-4: *[1 2, 3 4]      ; prod-4 = 24\\n```\"},function(e,t){e.exports=\"# Shape\\n\\nShape returns shape of the provided tensor.\\n\\n```L1\\nshape-1: Shape 1 ; shape = []\\nshape-2: Shape [1] ; shape = [1]\\nshape-3: Shape [1 2 3] ; shape = [3]\\nshape-4: Shape [1 2, 3 4] ; shape = [2 2]\\n```\"},function(e,t){e.exports=\"# Size\\n\\nSize returns size (number of elements) of the provided tensor.\\n\\n```L1\\nsize-1: Size 1 ; size = 1\\nsize-2: Size [1] ; size = 1\\nsize-3: Size [1 2 3] ; size = 3\\nsize-4: Size [1 2, 3 4] ; size = 4\\n```\"},function(e,t){e.exports=\"# Rank\\n\\nRank returns the rank of the provided tensor\\n\\n```L1\\n::Rank\\nrank-0: Rank 1 ; rank-0 = 0\\nrank-1: Rank [1 2 3] ; rank-1 = 1\\nrank-2: Rank [1 2, 3 4] ; rank-2 = 2\\nrank-3: Rank RankUp [1 2, 3 4] ; rank-3 = 3\\n```\\n\\nRank can be expressed as the size of the shape of a tensor:\\n```L1\\nRank: a => Size Shape a\\n```\"},function(e,t){e.exports=\"# Reshape\\n\\nReturns a function that reshapes a tensor to specified shape.\\n\\n```L1\\n::Reshape\\na: [1 2 3 4]\\nshape1: Shape a ; shape = [4]\\nb: a -> Reshape [2 2]\\nshape2: Shape b ; shape = [2 2]\\nc: (Reshape [4 1]) a\\n\\nreshaper: Reshape [10 10]\\n```\"},function(e,t){e.exports=\"# Expand\\n\\nExpand the shape of a tensor.\\n\\nInsert a new axis that will appear at the axis position in the expanded tensor shape.\\n\\n```L1\\n::Expand\\na: [1 2 3 4]\\nshape-a: Shape a ; shape-a = [4]\\n\\nb: a -> Expand 0\\nshape-b: Shape b ; shape-b = [1 4]\\n\\nc: a -> Expand 1\\nshape-c: Shape c ; shape-b = [4 1]\\n\\n\\nexpander-0: Expand 0 \\n```\"},function(e,t){e.exports=\"# Transpose\\n\\nTransposes the tensor.\\n\\n```L1\\n::Transpose\\n\\n_test: x => {\\n    original: x\\n    transposed: Transpose x\\n}\\n\\na: test [1,2,3]\\nb: test [\\n    1 2 3\\n    4 5 6\\n    7 8 9\\n]\\nc: test [1 2 3, 4 5 6]\\n```\"},function(e,t){e.exports=\"# Reverse\\n\\nReverses the tensor.\\n\\n```L1\\n::Reverse\\n\\na: Reverse [1 2 3]\\nb: Reverse [1 2, 3 4]\\n```\"},function(e,t,n){\"use strict\";(function(e){var r=n(15),i=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&\"object\"==typeof e&&e&&!e.nodeType&&e,s=o&&o.exports===i?r.a.Buffer:void 0,a=s?s.allocUnsafe:void 0;t.a=function(e,t){if(t)return e.slice();var n=e.length,r=a?a(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(145)(e))},function(e,t,n){var r,i;\n/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */void 0===(i=\"function\"==typeof(r=function(){var e,t,n,r,i,o={},s={},a={currentLocale:\"en\",zeroFormat:null,nullFormat:null,defaultFormat:\"0,0\",scalePercentBy100:!0},u={currentLocale:a.currentLocale,zeroFormat:a.zeroFormat,nullFormat:a.nullFormat,defaultFormat:a.defaultFormat,scalePercentBy100:a.scalePercentBy100};function l(e,t){this._input=e,this._value=t}return(e=function(n){var r,i,s,a;if(e.isNumeral(n))r=n.value();else if(0===n||void 0===n)r=0;else if(null===n||t.isNaN(n))r=null;else if(\"string\"==typeof n)if(u.zeroFormat&&n===u.zeroFormat)r=0;else if(u.nullFormat&&n===u.nullFormat||!n.replace(/[^0-9]+/g,\"\").length)r=null;else{for(i in o)if((a=\"function\"==typeof o[i].regexps.unformat?o[i].regexps.unformat():o[i].regexps.unformat)&&n.match(a)){s=o[i].unformat;break}r=(s=s||e._.stringToNumber)(n)}else r=Number(n)||null;return new l(n,r)}).version=\"2.0.6\",e.isNumeral=function(e){return e instanceof l},e._=t={numberToFormat:function(t,n,r){var i,o,a,u,l,c,h,d,p=s[e.options.currentLocale],f=!1,g=!1,m=\"\",v=\"\",y=!1;if(t=t||0,a=Math.abs(t),e._.includes(n,\"(\")?(f=!0,n=n.replace(/[\\(|\\)]/g,\"\")):(e._.includes(n,\"+\")||e._.includes(n,\"-\"))&&(c=e._.includes(n,\"+\")?n.indexOf(\"+\"):t<0?n.indexOf(\"-\"):-1,n=n.replace(/[\\+|\\-]/g,\"\")),e._.includes(n,\"a\")&&(o=!!(o=n.match(/a(k|m|b|t)?/))&&o[1],e._.includes(n,\" a\")&&(m=\" \"),n=n.replace(new RegExp(m+\"a[kmbt]?\"),\"\"),a>=1e12&&!o||\"t\"===o?(m+=p.abbreviations.trillion,t/=1e12):a<1e12&&a>=1e9&&!o||\"b\"===o?(m+=p.abbreviations.billion,t/=1e9):a<1e9&&a>=1e6&&!o||\"m\"===o?(m+=p.abbreviations.million,t/=1e6):(a<1e6&&a>=1e3&&!o||\"k\"===o)&&(m+=p.abbreviations.thousand,t/=1e3)),e._.includes(n,\"[.]\")&&(g=!0,n=n.replace(\"[.]\",\".\")),u=t.toString().split(\".\")[0],l=n.split(\".\")[1],h=n.indexOf(\",\"),i=(n.split(\".\")[0].split(\",\")[0].match(/0/g)||[]).length,l?(e._.includes(l,\"[\")?(l=(l=l.replace(\"]\",\"\")).split(\"[\"),v=e._.toFixed(t,l[0].length+l[1].length,r,l[1].length)):v=e._.toFixed(t,l.length,r),u=v.split(\".\")[0],v=e._.includes(v,\".\")?p.delimiters.decimal+v.split(\".\")[1]:\"\",g&&0===Number(v.slice(1))&&(v=\"\")):u=e._.toFixed(t,0,r),m&&!o&&Number(u)>=1e3&&m!==p.abbreviations.trillion)switch(u=String(Number(u)/1e3),m){case p.abbreviations.thousand:m=p.abbreviations.million;break;case p.abbreviations.million:m=p.abbreviations.billion;break;case p.abbreviations.billion:m=p.abbreviations.trillion}if(e._.includes(u,\"-\")&&(u=u.slice(1),y=!0),u.length<i)for(var b=i-u.length;b>0;b--)u=\"0\"+u;return h>-1&&(u=u.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+p.delimiters.thousands)),0===n.indexOf(\".\")&&(u=\"\"),d=u+v+(m||\"\"),f?d=(f&&y?\"(\":\"\")+d+(f&&y?\")\":\"\"):c>=0?d=0===c?(y?\"-\":\"+\")+d:d+(y?\"-\":\"+\"):y&&(d=\"-\"+d),d},stringToNumber:function(e){var t,n,r,i=s[u.currentLocale],o=e,a={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&e===u.zeroFormat)n=0;else if(u.nullFormat&&e===u.nullFormat||!e.replace(/[^0-9]+/g,\"\").length)n=null;else{for(t in n=1,\".\"!==i.delimiters.decimal&&(e=e.replace(/\\./g,\"\").replace(i.delimiters.decimal,\".\")),a)if(r=new RegExp(\"[^a-zA-Z]\"+i.abbreviations[t]+\"(?:\\\\)|(\\\\\"+i.currency.symbol+\")?(?:\\\\))?)?$\"),o.match(r)){n*=Math.pow(10,a[t]);break}n*=(e.split(\"-\").length+Math.min(e.split(\"(\").length-1,e.split(\")\").length-1))%2?1:-1,e=e.replace(/[^0-9\\.]+/g,\"\"),n*=Number(e)}return n},isNaN:function(e){return\"number\"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,n){return e.slice(0,n)+t+e.slice(n)},reduce:function(e,t){if(null===this)throw new TypeError(\"Array.prototype.reduce called on null or undefined\");if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");var n,r=Object(e),i=r.length>>>0,o=0;if(3===arguments.length)n=arguments[2];else{for(;o<i&&!(o in r);)o++;if(o>=i)throw new TypeError(\"Reduce of empty array with no initial value\");n=r[o++]}for(;o<i;o++)o in r&&(n=t(n,r[o],o,r));return n},multiplier:function(e){var t=e.toString().split(\".\");return t.length<2?1:Math.pow(10,t[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce(function(e,n){var r=t.multiplier(n);return e>r?e:r},1)},toFixed:function(e,t,n,r){var i,o,s,a,u=e.toString().split(\".\"),l=t-(r||0);return i=2===u.length?Math.min(Math.max(u[1].length,l),t):l,s=Math.pow(10,i),a=(n(e+\"e+\"+i)/s).toFixed(i),r>t-i&&(o=new RegExp(\"\\\\.?0{1,\"+(r-(t-i))+\"}$\"),a=a.replace(o,\"\")),a}},e.options=u,e.formats=o,e.locales=s,e.locale=function(e){return e&&(u.currentLocale=e.toLowerCase()),u.currentLocale},e.localeData=function(e){if(!e)return s[u.currentLocale];if(e=e.toLowerCase(),!s[e])throw new Error(\"Unknown locale : \"+e);return s[e]},e.reset=function(){for(var e in a)u[e]=a[e]},e.zeroFormat=function(e){u.zeroFormat=\"string\"==typeof e?e:null},e.nullFormat=function(e){u.nullFormat=\"string\"==typeof e?e:null},e.defaultFormat=function(e){u.defaultFormat=\"string\"==typeof e?e:\"0.0\"},e.register=function(e,t,n){if(t=t.toLowerCase(),this[e+\"s\"][t])throw new TypeError(t+\" \"+e+\" already registered.\");return this[e+\"s\"][t]=n,n},e.validate=function(t,n){var r,i,o,s,a,u,l,c;if(\"string\"!=typeof t&&(t+=\"\",console.warn&&console.warn(\"Numeral.js: Value is not string. It has been co-erced to: \",t)),(t=t.trim()).match(/^\\d+$/))return!0;if(\"\"===t)return!1;try{l=e.localeData(n)}catch(t){l=e.localeData(e.locale())}return o=l.currency.symbol,a=l.abbreviations,r=l.delimiters.decimal,i=\".\"===l.delimiters.thousands?\"\\\\.\":l.delimiters.thousands,!(null!==(c=t.match(/^[^\\d]+/))&&(t=t.substr(1),c[0]!==o)||null!==(c=t.match(/[^\\d]+$/))&&(t=t.slice(0,-1),c[0]!==a.thousand&&c[0]!==a.million&&c[0]!==a.billion&&c[0]!==a.trillion)||(u=new RegExp(i+\"{2}\"),t.match(/[^\\d.,]/g)||(s=t.split(r)).length>2||(s.length<2?!s[0].match(/^\\d+.*\\d$/)||s[0].match(u):1===s[0].length?!s[0].match(/^\\d+$/)||s[0].match(u)||!s[1].match(/^\\d+$/):!s[0].match(/^\\d+.*\\d$/)||s[0].match(u)||!s[1].match(/^\\d+$/))))},e.fn=l.prototype={clone:function(){return e(this)},format:function(t,n){var r,i,s,a=this._value,l=t||u.defaultFormat;if(n=n||Math.round,0===a&&null!==u.zeroFormat)i=u.zeroFormat;else if(null===a&&null!==u.nullFormat)i=u.nullFormat;else{for(r in o)if(l.match(o[r].regexps.format)){s=o[r].format;break}i=(s=s||e._.numberToFormat)(a,l,n)}return i},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],function(e,t,r,i){return e+Math.round(n*t)},0)/n,this},subtract:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],function(e,t,r,i){return e-Math.round(n*t)},Math.round(this._value*n))/n,this},multiply:function(e){return this._value=t.reduce([this._value,e],function(e,n,r,i){var o=t.correctionFactor(e,n);return Math.round(e*o)*Math.round(n*o)/Math.round(o*o)},1),this},divide:function(e){return this._value=t.reduce([this._value,e],function(e,n,r,i){var o=t.correctionFactor(e,n);return Math.round(e*o)/Math.round(n*o)}),this},difference:function(t){return Math.abs(e(this._value).subtract(t).value())}},e.register(\"locale\",\"en\",{delimiters:{thousands:\",\",decimal:\".\"},abbreviations:{thousand:\"k\",million:\"m\",billion:\"b\",trillion:\"t\"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\"},currency:{symbol:\"$\"}}),e.register(\"format\",\"bps\",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(t,n,r){var i,o=e._.includes(n,\" BPS\")?\" \":\"\";return t*=1e4,n=n.replace(/\\s?BPS/,\"\"),i=e._.numberToFormat(t,n,r),e._.includes(i,\")\")?((i=i.split(\"\")).splice(-1,0,o+\"BPS\"),i=i.join(\"\")):i=i+o+\"BPS\",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),r={base:1024,suffixes:[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"]},i=\"(\"+(i=(n={base:1e3,suffixes:[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"]}).suffixes.concat(r.suffixes.filter(function(e){return n.suffixes.indexOf(e)<0})).join(\"|\")).replace(\"B\",\"B(?!PS)\")+\")\",e.register(\"format\",\"bytes\",{regexps:{format:/([0\\s]i?b)/,unformat:new RegExp(i)},format:function(t,i,o){var s,a,u,l=e._.includes(i,\"ib\")?r:n,c=e._.includes(i,\" b\")||e._.includes(i,\" ib\")?\" \":\"\";for(i=i.replace(/\\s?i?b/,\"\"),s=0;s<=l.suffixes.length;s++)if(a=Math.pow(l.base,s),u=Math.pow(l.base,s+1),null===t||0===t||t>=a&&t<u){c+=l.suffixes[s],a>0&&(t/=a);break}return e._.numberToFormat(t,i,o)+c},unformat:function(t){var i,o,s=e._.stringToNumber(t);if(s){for(i=n.suffixes.length-1;i>=0;i--){if(e._.includes(t,n.suffixes[i])){o=Math.pow(n.base,i);break}if(e._.includes(t,r.suffixes[i])){o=Math.pow(r.base,i);break}}s*=o||1}return s}}),e.register(\"format\",\"currency\",{regexps:{format:/(\\$)/},format:function(t,n,r){var i,o,s=e.locales[e.options.currentLocale],a={before:n.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],after:n.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]};for(n=n.replace(/\\s?\\$\\s?/,\"\"),i=e._.numberToFormat(t,n,r),t>=0?(a.before=a.before.replace(/[\\-\\(]/,\"\"),a.after=a.after.replace(/[\\-\\)]/,\"\")):t<0&&!e._.includes(a.before,\"-\")&&!e._.includes(a.before,\"(\")&&(a.before=\"-\"+a.before),o=0;o<a.before.length;o++)switch(a.before[o]){case\"$\":i=e._.insert(i,s.currency.symbol,o);break;case\" \":i=e._.insert(i,\" \",o+s.currency.symbol.length-1)}for(o=a.after.length-1;o>=0;o--)switch(a.after[o]){case\"$\":i=o===a.after.length-1?i+s.currency.symbol:e._.insert(i,s.currency.symbol,-(a.after.length-(1+o)));break;case\" \":i=o===a.after.length-1?i+\" \":e._.insert(i,\" \",-(a.after.length-(1+o)+s.currency.symbol.length-1))}return i}}),e.register(\"format\",\"exponential\",{regexps:{format:/(e\\+|e-)/,unformat:/(e\\+|e-)/},format:function(t,n,r){var i=(\"number\"!=typeof t||e._.isNaN(t)?\"0e+0\":t.toExponential()).split(\"e\");return n=n.replace(/e[\\+|\\-]{1}0/,\"\"),e._.numberToFormat(Number(i[0]),n,r)+\"e\"+i[1]},unformat:function(t){var n=e._.includes(t,\"e+\")?t.split(\"e+\"):t.split(\"e-\"),r=Number(n[0]),i=Number(n[1]);return i=e._.includes(t,\"e-\")?i*=-1:i,e._.reduce([r,Math.pow(10,i)],function(t,n,r,i){var o=e._.correctionFactor(t,n);return t*o*(n*o)/(o*o)},1)}}),e.register(\"format\",\"ordinal\",{regexps:{format:/(o)/},format:function(t,n,r){var i=e.locales[e.options.currentLocale],o=e._.includes(n,\" o\")?\" \":\"\";return n=n.replace(/\\s?o/,\"\"),o+=i.ordinal(t),e._.numberToFormat(t,n,r)+o}}),e.register(\"format\",\"percentage\",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,n,r){var i,o=e._.includes(n,\" %\")?\" \":\"\";return e.options.scalePercentBy100&&(t*=100),n=n.replace(/\\s?\\%/,\"\"),i=e._.numberToFormat(t,n,r),e._.includes(i,\")\")?((i=i.split(\"\")).splice(-1,0,o+\"%\"),i=i.join(\"\")):i=i+o+\"%\",i},unformat:function(t){var n=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*n:n}}),e.register(\"format\",\"time\",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,n){var r=Math.floor(e/60/60),i=Math.floor((e-60*r*60)/60),o=Math.round(e-60*r*60-60*i);return r+\":\"+(i<10?\"0\"+i:i)+\":\"+(o<10?\"0\"+o:o)},unformat:function(e){var t=e.split(\":\"),n=0;return 3===t.length?(n+=60*Number(t[0])*60,n+=60*Number(t[1]),n+=Number(t[2])):2===t.length&&(n+=60*Number(t[0]),n+=Number(t[1])),Number(n)}}),e})?r.call(t,n,t,e):r)||(e.exports=i)},function(e,t){e.exports=\"hello-world: 23 + 24\\n\\n; Uncomment following line for more:\\n; ::Self\"},,,function(e,t,n){\"use strict\";\n/** @license React v16.4.2\n * react-dom.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r=n(53),i=n(3),o=n(262),s=n(52),a=n(55),u=n(263),l=n(264),c=n(265),h=n(54);function d(e){for(var t=arguments.length-1,n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,i=0;i<t;i++)n+=\"&args[]=\"+encodeURIComponent(arguments[i+1]);r(!1,\"Minified React error #\"+e+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",n)}i||d(\"227\");var p={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,invokeGuardedCallback:function(e,t,n,r,i,o,s,a,u){(function(e,t,n,r,i,o,s,a,u){this._hasCaughtError=!1,this._caughtError=null;var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this._caughtError=e,this._hasCaughtError=!0}}).apply(p,arguments)},invokeGuardedCallbackAndCatchFirstError:function(e,t,n,r,i,o,s,a,u){if(p.invokeGuardedCallback.apply(this,arguments),p.hasCaughtError()){var l=p.clearCaughtError();p._hasRethrowError||(p._hasRethrowError=!0,p._rethrowError=l)}},rethrowCaughtError:function(){return function(){if(p._hasRethrowError){var e=p._rethrowError;throw p._rethrowError=null,p._hasRethrowError=!1,e}}.apply(p,arguments)},hasCaughtError:function(){return p._hasCaughtError},clearCaughtError:function(){if(p._hasCaughtError){var e=p._caughtError;return p._caughtError=null,p._hasCaughtError=!1,e}d(\"198\")}};var f=null,g={};function m(){if(f)for(var e in g){var t=g[e],n=f.indexOf(e);if(-1<n||d(\"96\",e),!y[n])for(var r in t.extractEvents||d(\"97\",e),y[n]=t,n=t.eventTypes){var i=void 0,o=n[r],s=t,a=r;b.hasOwnProperty(a)&&d(\"99\",a),b[a]=o;var u=o.phasedRegistrationNames;if(u){for(i in u)u.hasOwnProperty(i)&&v(u[i],s,a);i=!0}else o.registrationName?(v(o.registrationName,s,a),i=!0):i=!1;i||d(\"98\",r,e)}}}function v(e,t,n){_[e]&&d(\"100\",e),_[e]=t,C[e]=t.eventTypes[n].dependencies}var y=[],b={},_={},C={};function w(e){f&&d(\"101\"),f=Array.prototype.slice.call(e),m()}function D(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];g.hasOwnProperty(t)&&g[t]===r||(g[t]&&d(\"102\",t),g[t]=r,n=!0)}n&&m()}var E={plugins:y,eventNameDispatchConfigs:b,registrationNameModules:_,registrationNameDependencies:C,possibleRegistrationNames:null,injectEventPluginOrder:w,injectEventPluginsByName:D},A=null,S=null,x=null;function M(e,t,n,r){t=e.type||\"unknown-event\",e.currentTarget=x(r),p.invokeGuardedCallbackAndCatchFirstError(t,n,void 0,e),e.currentTarget=null}function N(e,t){return null==t&&d(\"30\"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function I(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var L=null;function k(e,t){if(e){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var i=0;i<n.length&&!e.isPropagationStopped();i++)M(e,t,n[i],r[i]);else n&&M(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function T(e){return k(e,!0)}function F(e){return k(e,!1)}var O={injectEventPluginOrder:w,injectEventPluginsByName:D};function P(e,t){var n=e.stateNode;if(!n)return null;var r=A(n);if(!r)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":(r=!r.disabled)||(r=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!r;break e;default:e=!1}return e?null:(n&&\"function\"!=typeof n&&d(\"231\",t,typeof n),n)}function B(e,t){null!==e&&(L=N(L,e)),e=L,L=null,e&&(I(e,t?T:F),L&&d(\"95\"),p.rethrowCaughtError())}function R(e,t,n,r){for(var i=null,o=0;o<y.length;o++){var s=y[o];s&&(s=s.extractEvents(e,t,n,r))&&(i=N(i,s))}B(i,!1)}var j={injection:O,getListener:P,runEventsInBatch:B,runExtractedEventsInBatch:R},z=Math.random().toString(36).slice(2),W=\"__reactInternalInstance$\"+z,V=\"__reactEventHandlers$\"+z;function H(e){if(e[W])return e[W];for(;!e[W];){if(!e.parentNode)return null;e=e.parentNode}return 5===(e=e[W]).tag||6===e.tag?e:null}function U(e){if(5===e.tag||6===e.tag)return e.stateNode;d(\"33\")}function Y(e){return e[V]||null}var Z={precacheFiberNode:function(e,t){t[W]=e},getClosestInstanceFromNode:H,getInstanceFromNode:function(e){return!(e=e[W])||5!==e.tag&&6!==e.tag?null:e},getNodeFromInstance:U,getFiberCurrentPropsFromNode:Y,updateFiberProps:function(e,t){e[V]=t}};function G(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function K(e,t,n){for(var r=[];e;)r.push(e),e=G(e);for(e=r.length;0<e--;)t(r[e],\"captured\",n);for(e=0;e<r.length;e++)t(r[e],\"bubbled\",n)}function q(e,t,n){(t=P(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=N(n._dispatchListeners,t),n._dispatchInstances=N(n._dispatchInstances,e))}function Q(e){e&&e.dispatchConfig.phasedRegistrationNames&&K(e._targetInst,q,e)}function X(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst;K(t=t?G(t):null,q,e)}}function J(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=P(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=N(n._dispatchListeners,t),n._dispatchInstances=N(n._dispatchInstances,e))}function $(e){e&&e.dispatchConfig.registrationName&&J(e._targetInst,null,e)}function ee(e){I(e,Q)}function te(e,t,n,r){if(n&&r)e:{for(var i=n,o=r,s=0,a=i;a;a=G(a))s++;a=0;for(var u=o;u;u=G(u))a++;for(;0<s-a;)i=G(i),s--;for(;0<a-s;)o=G(o),a--;for(;s--;){if(i===o||i===o.alternate)break e;i=G(i),o=G(o)}i=null}else i=null;for(o=i,i=[];n&&n!==o&&(null===(s=n.alternate)||s!==o);)i.push(n),n=G(n);for(n=[];r&&r!==o&&(null===(s=r.alternate)||s!==o);)n.push(r),r=G(r);for(r=0;r<i.length;r++)J(i[r],\"bubbled\",e);for(e=n.length;0<e--;)J(n[e],\"captured\",t)}var ne={accumulateTwoPhaseDispatches:ee,accumulateTwoPhaseDispatchesSkipTarget:function(e){I(e,X)},accumulateEnterLeaveDispatches:te,accumulateDirectDispatches:function(e){I(e,$)}};function re(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n[\"ms\"+e]=\"MS\"+t,n[\"O\"+e]=\"o\"+t.toLowerCase(),n}var ie={animationend:re(\"Animation\",\"AnimationEnd\"),animationiteration:re(\"Animation\",\"AnimationIteration\"),animationstart:re(\"Animation\",\"AnimationStart\"),transitionend:re(\"Transition\",\"TransitionEnd\")},oe={},se={};function ae(e){if(oe[e])return oe[e];if(!ie[e])return e;var t,n=ie[e];for(t in n)if(n.hasOwnProperty(t)&&t in se)return oe[e]=n[t];return e}o.canUseDOM&&(se=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete ie.animationend.animation,delete ie.animationiteration.animation,delete ie.animationstart.animation),\"TransitionEvent\"in window||delete ie.transitionend.transition);var ue=ae(\"animationend\"),le=ae(\"animationiteration\"),ce=ae(\"animationstart\"),he=ae(\"transitionend\"),de=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),pe=null;function fe(){return!pe&&o.canUseDOM&&(pe=\"textContent\"in document.documentElement?\"textContent\":\"innerText\"),pe}var ge={_root:null,_startText:null,_fallbackText:null};function me(){if(ge._fallbackText)return ge._fallbackText;var e,t,n=ge._startText,r=n.length,i=ve(),o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===i[o-t];t++);return ge._fallbackText=i.slice(e,1<t?1-t:void 0),ge._fallbackText}function ve(){return\"value\"in ge._root?ge._root.value:ge._root[fe()]}var ye=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),be={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function _e(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):\"target\"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?a.thatReturnsTrue:a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}function Ce(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function we(e){e instanceof this||d(\"223\"),e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function De(e){e.eventPool=[],e.getPooled=Ce,e.release=we}s(_e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t<ye.length;t++)this[ye[t]]=null}}),_e.Interface=be,_e.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return s(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=s({},r.Interface,e),n.extend=r.extend,De(n),n},De(_e);var Ee=_e.extend({data:null}),Ae=_e.extend({data:null}),Se=[9,13,27,32],xe=o.canUseDOM&&\"CompositionEvent\"in window,Me=null;o.canUseDOM&&\"documentMode\"in document&&(Me=document.documentMode);var Ne=o.canUseDOM&&\"TextEvent\"in window&&!Me,Ie=o.canUseDOM&&(!xe||Me&&8<Me&&11>=Me),Le=String.fromCharCode(32),ke={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Te=!1;function Fe(e,t){switch(e){case\"keyup\":return-1!==Se.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"blur\":return!0;default:return!1}}function Oe(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var Pe=!1;var Be={eventTypes:ke,extractEvents:function(e,t,n,r){var i=void 0,o=void 0;if(xe)e:{switch(e){case\"compositionstart\":i=ke.compositionStart;break e;case\"compositionend\":i=ke.compositionEnd;break e;case\"compositionupdate\":i=ke.compositionUpdate;break e}i=void 0}else Pe?Fe(e,n)&&(i=ke.compositionEnd):\"keydown\"===e&&229===n.keyCode&&(i=ke.compositionStart);return i?(Ie&&(Pe||i!==ke.compositionStart?i===ke.compositionEnd&&Pe&&(o=me()):(ge._root=r,ge._startText=ve(),Pe=!0)),i=Ee.getPooled(i,t,n,r),o?i.data=o:null!==(o=Oe(n))&&(i.data=o),ee(i),o=i):o=null,(e=Ne?function(e,t){switch(e){case\"compositionend\":return Oe(t);case\"keypress\":return 32!==t.which?null:(Te=!0,Le);case\"textInput\":return(e=t.data)===Le&&Te?null:e;default:return null}}(e,n):function(e,t){if(Pe)return\"compositionend\"===e||!xe&&Fe(e,t)?(e=me(),ge._root=null,ge._startText=null,ge._fallbackText=null,Pe=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return Ie?null:t.data;default:return null}}(e,n))?((t=Ae.getPooled(ke.beforeInput,t,n,r)).data=e,ee(t)):t=null,null===o?t:null===t?o:[o,t]}},Re=null,je={injectFiberControlledHostComponent:function(e){Re=e}},ze=null,We=null;function Ve(e){if(e=S(e)){Re&&\"function\"==typeof Re.restoreControlledState||d(\"194\");var t=A(e.stateNode);Re.restoreControlledState(e.stateNode,e.type,t)}}function He(e){ze?We?We.push(e):We=[e]:ze=e}function Ue(){return null!==ze||null!==We}function Ye(){if(ze){var e=ze,t=We;if(We=ze=null,Ve(e),t)for(e=0;e<t.length;e++)Ve(t[e])}}var Ze={injection:je,enqueueStateRestore:He,needsStateRestore:Ue,restoreStateIfNeeded:Ye};function Ge(e,t){return e(t)}function Ke(e,t,n){return e(t,n)}function qe(){}var Qe=!1;function Xe(e,t){if(Qe)return e(t);Qe=!0;try{return Ge(e,t)}finally{Qe=!1,Ue()&&(qe(),Ye())}}var Je={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function $e(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!Je[e.type]:\"textarea\"===t}function et(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function tt(e,t){return!(!o.canUseDOM||t&&!(\"addEventListener\"in document))&&((t=(e=\"on\"+e)in document)||((t=document.createElement(\"div\")).setAttribute(e,\"return;\"),t=\"function\"==typeof t[e]),t)}function nt(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function rt(e){e._valueTracker||(e._valueTracker=function(e){var t=nt(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\"function\"==typeof n.get&&\"function\"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=\"\"+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function it(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=nt(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}var ot=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,st=\"function\"==typeof Symbol&&Symbol.for,at=st?Symbol.for(\"react.element\"):60103,ut=st?Symbol.for(\"react.portal\"):60106,lt=st?Symbol.for(\"react.fragment\"):60107,ct=st?Symbol.for(\"react.strict_mode\"):60108,ht=st?Symbol.for(\"react.profiler\"):60114,dt=st?Symbol.for(\"react.provider\"):60109,pt=st?Symbol.for(\"react.context\"):60110,ft=st?Symbol.for(\"react.async_mode\"):60111,gt=st?Symbol.for(\"react.forward_ref\"):60112,mt=st?Symbol.for(\"react.timeout\"):60113,vt=\"function\"==typeof Symbol&&Symbol.iterator;function yt(e){return null===e||void 0===e?null:\"function\"==typeof(e=vt&&e[vt]||e[\"@@iterator\"])?e:null}function bt(e){var t=e.type;if(\"function\"==typeof t)return t.displayName||t.name;if(\"string\"==typeof t)return t;switch(t){case ft:return\"AsyncMode\";case pt:return\"Context.Consumer\";case lt:return\"ReactFragment\";case ut:return\"ReactPortal\";case ht:return\"Profiler(\"+e.pendingProps.id+\")\";case dt:return\"Context.Provider\";case ct:return\"StrictMode\";case mt:return\"Timeout\"}if(\"object\"==typeof t&&null!==t)switch(t.$$typeof){case gt:return\"\"!==(e=t.render.displayName||t.render.name||\"\")?\"ForwardRef(\"+e+\")\":\"ForwardRef\"}return null}function _t(e){var t=\"\";do{e:switch(e.tag){case 0:case 1:case 2:case 5:var n=e._debugOwner,r=e._debugSource,i=bt(e),o=null;n&&(o=bt(n)),n=r,i=\"\\n    in \"+(i||\"Unknown\")+(n?\" (at \"+n.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+n.lineNumber+\")\":o?\" (created by \"+o+\")\":\"\");break e;default:i=\"\"}t+=i,e=e.return}while(e);return t}var Ct=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,wt=Object.prototype.hasOwnProperty,Dt={},Et={};function At(e,t,n,r,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t}var St={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){St[e]=new At(e,0,!1,e,null)}),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];St[t]=new At(t,1,!1,e[1],null)}),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){St[e]=new At(e,2,!1,e.toLowerCase(),null)}),[\"autoReverse\",\"externalResourcesRequired\",\"preserveAlpha\"].forEach(function(e){St[e]=new At(e,2,!1,e,null)}),\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){St[e]=new At(e,3,!1,e.toLowerCase(),null)}),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){St[e]=new At(e,3,!0,e.toLowerCase(),null)}),[\"capture\",\"download\"].forEach(function(e){St[e]=new At(e,4,!1,e.toLowerCase(),null)}),[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){St[e]=new At(e,6,!1,e.toLowerCase(),null)}),[\"rowSpan\",\"start\"].forEach(function(e){St[e]=new At(e,5,!1,e.toLowerCase(),null)});var xt=/[\\-:]([a-z])/g;function Mt(e){return e[1].toUpperCase()}function Nt(e,t,n,r){var i=St.hasOwnProperty(t)?St[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&(\"o\"===t[0]||\"O\"===t[0])&&(\"n\"===t[1]||\"N\"===t[1])))||(function(e,t,n,r){if(null===t||void 0===t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!r&&(null!==n?!n.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!wt.call(Et,e)||!wt.call(Dt,e)&&(Ct.test(e)?Et[e]=!0:(Dt[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&\"\":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}function It(e,t){var n=t.checked;return s({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Lt(e,t){var n=null==t.defaultValue?\"\":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Pt(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function kt(e,t){null!=(t=t.checked)&&Nt(e,\"checked\",t,!1)}function Tt(e,t){kt(e,t);var n=Pt(t.value);null!=n&&(\"number\"===t.type?(0===n&&\"\"===e.value||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n)),t.hasOwnProperty(\"value\")?Ot(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&Ot(e,t.type,Pt(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Ft(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){t=\"\"+e._wrapperState.initialValue;var r=e.value;n||t===r||(e.value=t),e.defaultValue=t}\"\"!==(n=e.name)&&(e.name=\"\"),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,\"\"!==n&&(e.name=n)}function Ot(e,t,n){\"number\"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}function Pt(e){switch(typeof e){case\"boolean\":case\"number\":case\"object\":case\"string\":case\"undefined\":return e;default:return\"\"}}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(xt,Mt);St[t]=new At(t,1,!1,e,null)}),\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(xt,Mt);St[t]=new At(t,1,!1,e,\"http://www.w3.org/1999/xlink\")}),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(xt,Mt);St[t]=new At(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\")}),St.tabIndex=new At(\"tabIndex\",1,!1,\"tabindex\",null);var Bt={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function Rt(e,t,n){return(e=_e.getPooled(Bt.change,e,t,n)).type=\"change\",He(n),ee(e),e}var jt=null,zt=null;function Wt(e){B(e,!1)}function Vt(e){if(it(U(e)))return e}function Ht(e,t){if(\"change\"===e)return t}var Ut=!1;function Yt(){jt&&(jt.detachEvent(\"onpropertychange\",Zt),zt=jt=null)}function Zt(e){\"value\"===e.propertyName&&Vt(zt)&&Xe(Wt,e=Rt(zt,e,et(e)))}function Gt(e,t,n){\"focus\"===e?(Yt(),zt=n,(jt=t).attachEvent(\"onpropertychange\",Zt)):\"blur\"===e&&Yt()}function Kt(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return Vt(zt)}function qt(e,t){if(\"click\"===e)return Vt(t)}function Qt(e,t){if(\"input\"===e||\"change\"===e)return Vt(t)}o.canUseDOM&&(Ut=tt(\"input\")&&(!document.documentMode||9<document.documentMode));var Xt={eventTypes:Bt,_isInputEventSupported:Ut,extractEvents:function(e,t,n,r){var i=t?U(t):window,o=void 0,s=void 0,a=i.nodeName&&i.nodeName.toLowerCase();if(\"select\"===a||\"input\"===a&&\"file\"===i.type?o=Ht:$e(i)?Ut?o=Qt:(o=Kt,s=Gt):(a=i.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===i.type||\"radio\"===i.type)&&(o=qt),o&&(o=o(e,t)))return Rt(o,n,r);s&&s(e,i,t),\"blur\"===e&&(e=i._wrapperState)&&e.controlled&&\"number\"===i.type&&Ot(i,\"number\",i.value)}},Jt=_e.extend({view:null,detail:null}),$t={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function en(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=$t[e])&&!!t[e]}function tn(){return en}var nn=Jt.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:tn,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)}}),rn=nn.extend({pointerId:null,width:null,height:null,pressure:null,tiltX:null,tiltY:null,pointerType:null,isPrimary:null}),on={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",dependencies:[\"pointerout\",\"pointerover\"]}},sn={eventTypes:on,extractEvents:function(e,t,n,r){var i=\"mouseover\"===e||\"pointerover\"===e,o=\"mouseout\"===e||\"pointerout\"===e;if(i&&(n.relatedTarget||n.fromElement)||!o&&!i)return null;if(i=r.window===r?r:(i=r.ownerDocument)?i.defaultView||i.parentWindow:window,o?(o=t,t=(t=n.relatedTarget||n.toElement)?H(t):null):o=null,o===t)return null;var s=void 0,a=void 0,u=void 0,l=void 0;return\"mouseout\"===e||\"mouseover\"===e?(s=nn,a=on.mouseLeave,u=on.mouseEnter,l=\"mouse\"):\"pointerout\"!==e&&\"pointerover\"!==e||(s=rn,a=on.pointerLeave,u=on.pointerEnter,l=\"pointer\"),e=null==o?i:U(o),i=null==t?i:U(t),(a=s.getPooled(a,o,n,r)).type=l+\"leave\",a.target=e,a.relatedTarget=i,(n=s.getPooled(u,t,n,r)).type=l+\"enter\",n.target=i,n.relatedTarget=e,te(a,n,o,t),[a,n]}};function an(e){var t=e;if(e.alternate)for(;t.return;)t=t.return;else{if(0!=(2&t.effectTag))return 1;for(;t.return;)if(0!=(2&(t=t.return).effectTag))return 1}return 3===t.tag?2:3}function un(e){2!==an(e)&&d(\"188\")}function ln(e){var t=e.alternate;if(!t)return 3===(t=an(e))&&d(\"188\"),1===t?null:e;for(var n=e,r=t;;){var i=n.return,o=i?i.alternate:null;if(!i||!o)break;if(i.child===o.child){for(var s=i.child;s;){if(s===n)return un(i),e;if(s===r)return un(i),t;s=s.sibling}d(\"188\")}if(n.return!==r.return)n=i,r=o;else{s=!1;for(var a=i.child;a;){if(a===n){s=!0,n=i,r=o;break}if(a===r){s=!0,r=i,n=o;break}a=a.sibling}if(!s){for(a=o.child;a;){if(a===n){s=!0,n=o,r=i;break}if(a===r){s=!0,r=o,n=i;break}a=a.sibling}s||d(\"189\")}}n.alternate!==r&&d(\"190\")}return 3!==n.tag&&d(\"188\"),n.stateNode.current===n?e:t}function cn(e){if(!(e=ln(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var hn=_e.extend({animationName:null,elapsedTime:null,pseudoElement:null}),dn=_e.extend({clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),pn=Jt.extend({relatedTarget:null});function fn(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var gn={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},mn={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},vn=Jt.extend({key:function(e){if(e.key){var t=gn[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=fn(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?mn[e.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:tn,charCode:function(e){return\"keypress\"===e.type?fn(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?fn(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),yn=nn.extend({dataTransfer:null}),bn=Jt.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:tn}),_n=_e.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),Cn=nn.extend({deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),wn=[[\"abort\",\"abort\"],[ue,\"animationEnd\"],[le,\"animationIteration\"],[ce,\"animationStart\"],[\"canplay\",\"canPlay\"],[\"canplaythrough\",\"canPlayThrough\"],[\"drag\",\"drag\"],[\"dragenter\",\"dragEnter\"],[\"dragexit\",\"dragExit\"],[\"dragleave\",\"dragLeave\"],[\"dragover\",\"dragOver\"],[\"durationchange\",\"durationChange\"],[\"emptied\",\"emptied\"],[\"encrypted\",\"encrypted\"],[\"ended\",\"ended\"],[\"error\",\"error\"],[\"gotpointercapture\",\"gotPointerCapture\"],[\"load\",\"load\"],[\"loadeddata\",\"loadedData\"],[\"loadedmetadata\",\"loadedMetadata\"],[\"loadstart\",\"loadStart\"],[\"lostpointercapture\",\"lostPointerCapture\"],[\"mousemove\",\"mouseMove\"],[\"mouseout\",\"mouseOut\"],[\"mouseover\",\"mouseOver\"],[\"playing\",\"playing\"],[\"pointermove\",\"pointerMove\"],[\"pointerout\",\"pointerOut\"],[\"pointerover\",\"pointerOver\"],[\"progress\",\"progress\"],[\"scroll\",\"scroll\"],[\"seeking\",\"seeking\"],[\"stalled\",\"stalled\"],[\"suspend\",\"suspend\"],[\"timeupdate\",\"timeUpdate\"],[\"toggle\",\"toggle\"],[\"touchmove\",\"touchMove\"],[he,\"transitionEnd\"],[\"waiting\",\"waiting\"],[\"wheel\",\"wheel\"]],Dn={},En={};function An(e,t){var n=e[0],r=\"on\"+((e=e[1])[0].toUpperCase()+e.slice(1));t={phasedRegistrationNames:{bubbled:r,captured:r+\"Capture\"},dependencies:[n],isInteractive:t},Dn[e]=t,En[n]=t}[[\"blur\",\"blur\"],[\"cancel\",\"cancel\"],[\"click\",\"click\"],[\"close\",\"close\"],[\"contextmenu\",\"contextMenu\"],[\"copy\",\"copy\"],[\"cut\",\"cut\"],[\"dblclick\",\"doubleClick\"],[\"dragend\",\"dragEnd\"],[\"dragstart\",\"dragStart\"],[\"drop\",\"drop\"],[\"focus\",\"focus\"],[\"input\",\"input\"],[\"invalid\",\"invalid\"],[\"keydown\",\"keyDown\"],[\"keypress\",\"keyPress\"],[\"keyup\",\"keyUp\"],[\"mousedown\",\"mouseDown\"],[\"mouseup\",\"mouseUp\"],[\"paste\",\"paste\"],[\"pause\",\"pause\"],[\"play\",\"play\"],[\"pointercancel\",\"pointerCancel\"],[\"pointerdown\",\"pointerDown\"],[\"pointerup\",\"pointerUp\"],[\"ratechange\",\"rateChange\"],[\"reset\",\"reset\"],[\"seeked\",\"seeked\"],[\"submit\",\"submit\"],[\"touchcancel\",\"touchCancel\"],[\"touchend\",\"touchEnd\"],[\"touchstart\",\"touchStart\"],[\"volumechange\",\"volumeChange\"]].forEach(function(e){An(e,!0)}),wn.forEach(function(e){An(e,!1)});var Sn={eventTypes:Dn,isInteractiveTopLevelEventType:function(e){return void 0!==(e=En[e])&&!0===e.isInteractive},extractEvents:function(e,t,n,r){var i=En[e];if(!i)return null;switch(e){case\"keypress\":if(0===fn(n))return null;case\"keydown\":case\"keyup\":e=vn;break;case\"blur\":case\"focus\":e=pn;break;case\"click\":if(2===n.button)return null;case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":e=nn;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":e=yn;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":e=bn;break;case ue:case le:case ce:e=hn;break;case he:e=_n;break;case\"scroll\":e=Jt;break;case\"wheel\":e=Cn;break;case\"copy\":case\"cut\":case\"paste\":e=dn;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":e=rn;break;default:e=_e}return ee(t=e.getPooled(i,t,n,r)),t}},xn=Sn.isInteractiveTopLevelEventType,Mn=[];function Nn(e){var t=e.targetInst;do{if(!t){e.ancestors.push(t);break}var n;for(n=t;n.return;)n=n.return;if(!(n=3!==n.tag?null:n.stateNode.containerInfo))break;e.ancestors.push(t),t=H(n)}while(t);for(n=0;n<e.ancestors.length;n++)t=e.ancestors[n],R(e.topLevelType,t,e.nativeEvent,et(e.nativeEvent))}var In=!0;function Ln(e){In=!!e}function kn(e,t){if(!t)return null;var n=(xn(e)?Fn:On).bind(null,e);t.addEventListener(e,n,!1)}function Tn(e,t){if(!t)return null;var n=(xn(e)?Fn:On).bind(null,e);t.addEventListener(e,n,!0)}function Fn(e,t){Ke(On,e,t)}function On(e,t){if(In){var n=et(t);if(null===(n=H(n))||\"number\"!=typeof n.tag||2===an(n)||(n=null),Mn.length){var r=Mn.pop();r.topLevelType=e,r.nativeEvent=t,r.targetInst=n,e=r}else e={topLevelType:e,nativeEvent:t,targetInst:n,ancestors:[]};try{Xe(Nn,e)}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>Mn.length&&Mn.push(e)}}}var Pn={get _enabled(){return In},setEnabled:Ln,isEnabled:function(){return In},trapBubbledEvent:kn,trapCapturedEvent:Tn,dispatchEvent:On},Bn={},Rn=0,jn=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);function zn(e){return Object.prototype.hasOwnProperty.call(e,jn)||(e[jn]=Rn++,Bn[e[jn]]={}),Bn[e[jn]]}function Wn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Vn(e,t){var n,r=Wn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Wn(r)}}function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var Un=o.canUseDOM&&\"documentMode\"in document&&11>=document.documentMode,Yn={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Zn=null,Gn=null,Kn=null,qn=!1;function Qn(e,t){if(qn||null==Zn||Zn!==u())return null;var n=Zn;return\"selectionStart\"in n&&Hn(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,Kn&&l(Kn,n)?null:(Kn=n,(e=_e.getPooled(Yn.select,Gn,e,t)).type=\"select\",e.target=Zn,ee(e),e)}var Xn={eventTypes:Yn,extractEvents:function(e,t,n,r){var i,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(i=!o)){e:{o=zn(o),i=C.onSelect;for(var s=0;s<i.length;s++){var a=i[s];if(!o.hasOwnProperty(a)||!o[a]){o=!1;break e}}o=!0}i=!o}if(i)return null;switch(o=t?U(t):window,e){case\"focus\":($e(o)||\"true\"===o.contentEditable)&&(Zn=o,Gn=t,Kn=null);break;case\"blur\":Kn=Gn=Zn=null;break;case\"mousedown\":qn=!0;break;case\"contextmenu\":case\"mouseup\":return qn=!1,Qn(n,r);case\"selectionchange\":if(Un)break;case\"keydown\":case\"keyup\":return Qn(n,r)}return null}};O.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \")),A=Z.getFiberCurrentPropsFromNode,S=Z.getInstanceFromNode,x=Z.getNodeFromInstance,O.injectEventPluginsByName({SimpleEventPlugin:Sn,EnterLeaveEventPlugin:sn,ChangeEventPlugin:Xt,SelectEventPlugin:Xn,BeforeInputEventPlugin:Be});var Jn=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:void 0,$n=Date,er=setTimeout,tr=clearTimeout,nr=void 0;if(\"object\"==typeof performance&&\"function\"==typeof performance.now){var rr=performance;nr=function(){return rr.now()}}else nr=function(){return $n.now()};var ir=void 0,or=void 0;if(o.canUseDOM){var sr=\"function\"==typeof Jn?Jn:function(){d(\"276\")},ar=null,ur=null,lr=-1,cr=!1,hr=!1,dr=0,pr=33,fr=33,gr={didTimeout:!1,timeRemaining:function(){var e=dr-nr();return 0<e?e:0}},mr=function(e,t){var n=e.scheduledCallback,r=!1;try{n(t),r=!0}finally{or(e),r||(cr=!0,window.postMessage(vr,\"*\"))}},vr=\"__reactIdleCallback$\"+Math.random().toString(36).slice(2);window.addEventListener(\"message\",function(e){if(e.source===window&&e.data===vr&&(cr=!1,null!==ar)){if(null!==ar){var t=nr();if(!(-1===lr||lr>t)){e=-1;for(var n=[],r=ar;null!==r;){var i=r.timeoutTime;-1!==i&&i<=t?n.push(r):-1!==i&&(-1===e||i<e)&&(e=i),r=r.next}if(0<n.length)for(gr.didTimeout=!0,t=0,r=n.length;t<r;t++)mr(n[t],gr);lr=e}}for(e=nr();0<dr-e&&null!==ar;)e=ar,gr.didTimeout=!1,mr(e,gr),e=nr();null===ar||hr||(hr=!0,sr(yr))}},!1);var yr=function(e){hr=!1;var t=e-dr+fr;t<fr&&pr<fr?(8>t&&(t=8),fr=t<pr?pr:t):pr=t,dr=e+fr,cr||(cr=!0,window.postMessage(vr,\"*\"))};ir=function(e,t){var n=-1;return null!=t&&\"number\"==typeof t.timeout&&(n=nr()+t.timeout),(-1===lr||-1!==n&&n<lr)&&(lr=n),e={scheduledCallback:e,timeoutTime:n,prev:null,next:null},null===ar?ar=e:null!==(t=e.prev=ur)&&(t.next=e),ur=e,hr||(hr=!0,sr(yr)),e},or=function(e){if(null!==e.prev||ar===e){var t=e.next,n=e.prev;e.next=null,e.prev=null,null!==t?null!==n?(n.next=t,t.prev=n):(t.prev=null,ar=t):null!==n?(n.next=null,ur=n):ur=ar=null}}}else{var br=new Map;ir=function(e){var t={scheduledCallback:e,timeoutTime:0,next:null,prev:null},n=er(function(){e({timeRemaining:function(){return 1/0},didTimeout:!1})});return br.set(e,n),t},or=function(e){var t=br.get(e.scheduledCallback);br.delete(e),tr(t)}}function _r(e,t){return e=s({children:void 0},t),(t=function(e){var t=\"\";return i.Children.forEach(e,function(e){null==e||\"string\"!=typeof e&&\"number\"!=typeof e||(t+=e)}),t}(t.children))&&(e.children=t),e}function Cr(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[\"$\"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+n,t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function wr(e,t){var n=t.value;e._wrapperState={initialValue:null!=n?n:t.defaultValue,wasMultiple:!!t.multiple}}function Dr(e,t){return null!=t.dangerouslySetInnerHTML&&d(\"91\"),s({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function Er(e,t){var n=t.value;null==n&&(n=t.defaultValue,null!=(t=t.children)&&(null!=n&&d(\"92\"),Array.isArray(t)&&(1>=t.length||d(\"93\"),t=t[0]),n=\"\"+t),null==n&&(n=\"\")),e._wrapperState={initialValue:\"\"+n}}function Ar(e,t){var n=t.value;null!=n&&((n=\"\"+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function Sr(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var xr={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};function Mr(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Nr(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?Mr(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var Ir,Lr=void 0,kr=(Ir=function(e,t){if(e.namespaceURI!==xr.svg||\"innerHTML\"in e)e.innerHTML=t;else{for((Lr=Lr||document.createElement(\"div\")).innerHTML=\"<svg>\"+t+\"</svg>\",t=Lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return Ir(e,t)})}:Ir);function Tr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var Fr={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Or=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function Pr(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=n,o=t[n];i=null==o||\"boolean\"==typeof o||\"\"===o?\"\":r||\"number\"!=typeof o||0===o||Fr.hasOwnProperty(i)&&Fr[i]?(\"\"+o).trim():o+\"px\",\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}Object.keys(Fr).forEach(function(e){Or.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Fr[t]=Fr[e]})});var Br=s({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Rr(e,t,n){t&&(Br[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&d(\"137\",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&d(\"60\"),\"object\"==typeof t.dangerouslySetInnerHTML&&\"__html\"in t.dangerouslySetInnerHTML||d(\"61\")),null!=t.style&&\"object\"!=typeof t.style&&d(\"62\",n()))}function jr(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var zr=a.thatReturns(\"\");function Wr(e,t){var n=zn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=C[t];for(var r=0;r<t.length;r++){var i=t[r];if(!n.hasOwnProperty(i)||!n[i]){switch(i){case\"scroll\":Tn(\"scroll\",e);break;case\"focus\":case\"blur\":Tn(\"focus\",e),Tn(\"blur\",e),n.blur=!0,n.focus=!0;break;case\"cancel\":case\"close\":tt(i,!0)&&Tn(i,e);break;case\"invalid\":case\"submit\":case\"reset\":break;default:-1===de.indexOf(i)&&kn(i,e)}n[i]=!0}}}function Vr(e,t,n,r){return n=9===n.nodeType?n:n.ownerDocument,r===xr.html&&(r=Mr(e)),r===xr.html?\"script\"===e?((e=n.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):e=\"string\"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function Hr(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Ur(e,t,n,r){var i=jr(t,n);switch(t){case\"iframe\":case\"object\":kn(\"load\",e);var o=n;break;case\"video\":case\"audio\":for(o=0;o<de.length;o++)kn(de[o],e);o=n;break;case\"source\":kn(\"error\",e),o=n;break;case\"img\":case\"image\":case\"link\":kn(\"error\",e),kn(\"load\",e),o=n;break;case\"form\":kn(\"reset\",e),kn(\"submit\",e),o=n;break;case\"details\":kn(\"toggle\",e),o=n;break;case\"input\":Lt(e,n),o=It(e,n),kn(\"invalid\",e),Wr(r,\"onChange\");break;case\"option\":o=_r(e,n);break;case\"select\":wr(e,n),o=s({},n,{value:void 0}),kn(\"invalid\",e),Wr(r,\"onChange\");break;case\"textarea\":Er(e,n),o=Dr(e,n),kn(\"invalid\",e),Wr(r,\"onChange\");break;default:o=n}Rr(t,o,zr);var u,l=o;for(u in l)if(l.hasOwnProperty(u)){var c=l[u];\"style\"===u?Pr(e,c):\"dangerouslySetInnerHTML\"===u?null!=(c=c?c.__html:void 0)&&kr(e,c):\"children\"===u?\"string\"==typeof c?(\"textarea\"!==t||\"\"!==c)&&Tr(e,c):\"number\"==typeof c&&Tr(e,\"\"+c):\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&\"autoFocus\"!==u&&(_.hasOwnProperty(u)?null!=c&&Wr(r,u):null!=c&&Nt(e,u,c,i))}switch(t){case\"input\":rt(e),Ft(e,n,!1);break;case\"textarea\":rt(e),Sr(e);break;case\"option\":null!=n.value&&e.setAttribute(\"value\",n.value);break;case\"select\":e.multiple=!!n.multiple,null!=(t=n.value)?Cr(e,!!n.multiple,t,!1):null!=n.defaultValue&&Cr(e,!!n.multiple,n.defaultValue,!0);break;default:\"function\"==typeof o.onClick&&(e.onclick=a)}}function Yr(e,t,n,r,i){var o=null;switch(t){case\"input\":n=It(e,n),r=It(e,r),o=[];break;case\"option\":n=_r(e,n),r=_r(e,r),o=[];break;case\"select\":n=s({},n,{value:void 0}),r=s({},r,{value:void 0}),o=[];break;case\"textarea\":n=Dr(e,n),r=Dr(e,r),o=[];break;default:\"function\"!=typeof n.onClick&&\"function\"==typeof r.onClick&&(e.onclick=a)}Rr(t,r,zr),t=e=void 0;var u=null;for(e in n)if(!r.hasOwnProperty(e)&&n.hasOwnProperty(e)&&null!=n[e])if(\"style\"===e){var l=n[e];for(t in l)l.hasOwnProperty(t)&&(u||(u={}),u[t]=\"\")}else\"dangerouslySetInnerHTML\"!==e&&\"children\"!==e&&\"suppressContentEditableWarning\"!==e&&\"suppressHydrationWarning\"!==e&&\"autoFocus\"!==e&&(_.hasOwnProperty(e)?o||(o=[]):(o=o||[]).push(e,null));for(e in r){var c=r[e];if(l=null!=n?n[e]:void 0,r.hasOwnProperty(e)&&c!==l&&(null!=c||null!=l))if(\"style\"===e)if(l){for(t in l)!l.hasOwnProperty(t)||c&&c.hasOwnProperty(t)||(u||(u={}),u[t]=\"\");for(t in c)c.hasOwnProperty(t)&&l[t]!==c[t]&&(u||(u={}),u[t]=c[t])}else u||(o||(o=[]),o.push(e,u)),u=c;else\"dangerouslySetInnerHTML\"===e?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(o=o||[]).push(e,\"\"+c)):\"children\"===e?l===c||\"string\"!=typeof c&&\"number\"!=typeof c||(o=o||[]).push(e,\"\"+c):\"suppressContentEditableWarning\"!==e&&\"suppressHydrationWarning\"!==e&&(_.hasOwnProperty(e)?(null!=c&&Wr(i,e),o||l===c||(o=[])):(o=o||[]).push(e,c))}return u&&(o=o||[]).push(\"style\",u),o}function Zr(e,t,n,r,i){\"input\"===n&&\"radio\"===i.type&&null!=i.name&&kt(e,i),jr(n,r),r=jr(n,i);for(var o=0;o<t.length;o+=2){var s=t[o],a=t[o+1];\"style\"===s?Pr(e,a):\"dangerouslySetInnerHTML\"===s?kr(e,a):\"children\"===s?Tr(e,a):Nt(e,s,a,r)}switch(n){case\"input\":Tt(e,i);break;case\"textarea\":Ar(e,i);break;case\"select\":e._wrapperState.initialValue=void 0,t=e._wrapperState.wasMultiple,e._wrapperState.wasMultiple=!!i.multiple,null!=(n=i.value)?Cr(e,!!i.multiple,n,!1):t!==!!i.multiple&&(null!=i.defaultValue?Cr(e,!!i.multiple,i.defaultValue,!0):Cr(e,!!i.multiple,i.multiple?[]:\"\",!1))}}function Gr(e,t,n,r,i){switch(t){case\"iframe\":case\"object\":kn(\"load\",e);break;case\"video\":case\"audio\":for(r=0;r<de.length;r++)kn(de[r],e);break;case\"source\":kn(\"error\",e);break;case\"img\":case\"image\":case\"link\":kn(\"error\",e),kn(\"load\",e);break;case\"form\":kn(\"reset\",e),kn(\"submit\",e);break;case\"details\":kn(\"toggle\",e);break;case\"input\":Lt(e,n),kn(\"invalid\",e),Wr(i,\"onChange\");break;case\"select\":wr(e,n),kn(\"invalid\",e),Wr(i,\"onChange\");break;case\"textarea\":Er(e,n),kn(\"invalid\",e),Wr(i,\"onChange\")}for(var o in Rr(t,n,zr),r=null,n)if(n.hasOwnProperty(o)){var s=n[o];\"children\"===o?\"string\"==typeof s?e.textContent!==s&&(r=[\"children\",s]):\"number\"==typeof s&&e.textContent!==\"\"+s&&(r=[\"children\",\"\"+s]):_.hasOwnProperty(o)&&null!=s&&Wr(i,o)}switch(t){case\"input\":rt(e),Ft(e,n,!0);break;case\"textarea\":rt(e),Sr(e);break;case\"select\":case\"option\":break;default:\"function\"==typeof n.onClick&&(e.onclick=a)}return r}function Kr(e,t){return e.nodeValue!==t}var qr={createElement:Vr,createTextNode:Hr,setInitialProperties:Ur,diffProperties:Yr,updateProperties:Zr,diffHydratedProperties:Gr,diffHydratedText:Kr,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(e,t,n){switch(t){case\"input\":if(Tt(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Y(r);i||d(\"90\"),it(r),Tt(r,i)}}}break;case\"textarea\":Ar(e,n);break;case\"select\":null!=(t=n.value)&&Cr(e,!!n.multiple,t,!1)}}},Qr=null,Xr=null;function Jr(e,t){switch(e){case\"button\":case\"input\":case\"select\":case\"textarea\":return!!t.autoFocus}return!1}function $r(e,t){return\"textarea\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&\"string\"==typeof t.dangerouslySetInnerHTML.__html}var ei=nr,ti=ir,ni=or;function ri(e){for(e=e.nextSibling;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}function ii(e){for(e=e.firstChild;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}new Set;var oi=[],si=-1;function ai(e){return{current:e}}function ui(e){0>si||(e.current=oi[si],oi[si]=null,si--)}function li(e,t){oi[++si]=e.current,e.current=t}var ci=ai(h),hi=ai(!1),di=h;function pi(e){return gi(e)?di:ci.current}function fi(e,t){var n=e.type.contextTypes;if(!n)return h;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function gi(e){return 2===e.tag&&null!=e.type.childContextTypes}function mi(e){gi(e)&&(ui(hi),ui(ci))}function vi(e){ui(hi),ui(ci)}function yi(e,t,n){ci.current!==h&&d(\"168\"),li(ci,t),li(hi,n)}function bi(e,t){var n=e.stateNode,r=e.type.childContextTypes;if(\"function\"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||d(\"108\",bt(e)||\"Unknown\",i);return s({},t,n)}function _i(e){if(!gi(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||h,di=ci.current,li(ci,t),li(hi,hi.current),!0}function Ci(e,t){var n=e.stateNode;if(n||d(\"169\"),t){var r=bi(e,di);n.__reactInternalMemoizedMergedChildContext=r,ui(hi),ui(ci),li(ci,r)}else ui(hi);li(hi,t)}function wi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=null,this.index=0,this.ref=null,this.pendingProps=t,this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function Di(e,t,n){var r=e.alternate;return null===r?((r=new wi(e.tag,t,e.key,e.mode)).type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Ei(e,t,n){var r=e.type,i=e.key;if(e=e.props,\"function\"==typeof r)var o=r.prototype&&r.prototype.isReactComponent?2:0;else if(\"string\"==typeof r)o=5;else switch(r){case lt:return Ai(e.children,t,n,i);case ft:o=11,t|=3;break;case ct:o=11,t|=2;break;case ht:return(r=new wi(15,e,i,4|t)).type=ht,r.expirationTime=n,r;case mt:o=16,t|=2;break;default:e:{switch(\"object\"==typeof r&&null!==r?r.$$typeof:null){case dt:o=13;break e;case pt:o=12;break e;case gt:o=14;break e;default:d(\"130\",null==r?r:typeof r,\"\")}o=void 0}}return(t=new wi(o,e,i,t)).type=r,t.expirationTime=n,t}function Ai(e,t,n,r){return(e=new wi(10,e,r,t)).expirationTime=n,e}function Si(e,t,n){return(e=new wi(6,e,null,t)).expirationTime=n,e}function xi(e,t,n){return(t=new wi(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Mi(e,t,n){return e={current:t=new wi(3,null,null,t?3:0),containerInfo:e,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:n,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null},t.stateNode=e}var Ni=null,Ii=null;function Li(e){return function(t){try{return e(t)}catch(e){}}}function ki(e){\"function\"==typeof Ni&&Ni(e)}function Ti(e){\"function\"==typeof Ii&&Ii(e)}var Fi=!1;function Oi(e){return{expirationTime:0,baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Pi(e){return{expirationTime:e.expirationTime,baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Bi(e){return{expirationTime:e,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Ri(e,t,n){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t),(0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n)}function ji(e,t,n){var r=e.alternate;if(null===r){var i=e.updateQueue,o=null;null===i&&(i=e.updateQueue=Oi(e.memoizedState))}else i=e.updateQueue,o=r.updateQueue,null===i?null===o?(i=e.updateQueue=Oi(e.memoizedState),o=r.updateQueue=Oi(r.memoizedState)):i=e.updateQueue=Pi(o):null===o&&(o=r.updateQueue=Pi(i));null===o||i===o?Ri(i,t,n):null===i.lastUpdate||null===o.lastUpdate?(Ri(i,t,n),Ri(o,t,n)):(Ri(i,t,n),o.lastUpdate=t)}function zi(e,t,n){var r=e.updateQueue;null===(r=null===r?e.updateQueue=Oi(e.memoizedState):Wi(e,r)).lastCapturedUpdate?r.firstCapturedUpdate=r.lastCapturedUpdate=t:(r.lastCapturedUpdate.next=t,r.lastCapturedUpdate=t),(0===r.expirationTime||r.expirationTime>n)&&(r.expirationTime=n)}function Wi(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=Pi(t)),t}function Vi(e,t,n,r,i,o){switch(n.tag){case 1:return\"function\"==typeof(e=n.payload)?e.call(o,r,i):e;case 3:e.effectTag=-1025&e.effectTag|64;case 0:if(null===(i=\"function\"==typeof(e=n.payload)?e.call(o,r,i):e)||void 0===i)break;return s({},r,i);case 2:Fi=!0}return r}function Hi(e,t,n,r,i){if(Fi=!1,!(0===t.expirationTime||t.expirationTime>i)){for(var o=(t=Wi(e,t)).baseState,s=null,a=0,u=t.firstUpdate,l=o;null!==u;){var c=u.expirationTime;c>i?(null===s&&(s=u,o=l),(0===a||a>c)&&(a=c)):(l=Vi(e,0,u,l,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=u:(t.lastEffect.nextEffect=u,t.lastEffect=u))),u=u.next}for(c=null,u=t.firstCapturedUpdate;null!==u;){var h=u.expirationTime;h>i?(null===c&&(c=u,null===s&&(o=l)),(0===a||a>h)&&(a=h)):(l=Vi(e,0,u,l,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=u:(t.lastCapturedEffect.nextEffect=u,t.lastCapturedEffect=u))),u=u.next}null===s&&(t.lastUpdate=null),null===c?t.lastCapturedUpdate=null:e.effectTag|=32,null===s&&null===c&&(o=l),t.baseState=o,t.firstUpdate=s,t.firstCapturedUpdate=c,t.expirationTime=a,e.memoizedState=l}}function Ui(e,t){\"function\"!=typeof e&&d(\"191\",e),e.call(t)}function Yi(e,t,n){for(null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),e=t.firstEffect,t.firstEffect=t.lastEffect=null;null!==e;){var r=e.callback;null!==r&&(e.callback=null,Ui(r,n)),e=e.nextEffect}for(e=t.firstCapturedEffect,t.firstCapturedEffect=t.lastCapturedEffect=null;null!==e;)null!==(t=e.callback)&&(e.callback=null,Ui(t,n)),e=e.nextEffect}function Zi(e,t){return{value:e,source:t,stack:_t(t)}}var Gi=ai(null),Ki=ai(null),qi=ai(0);function Qi(e){var t=e.type._context;li(qi,t._changedBits),li(Ki,t._currentValue),li(Gi,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode}function Xi(e){var t=qi.current,n=Ki.current;ui(Gi),ui(Ki),ui(qi),(e=e.type._context)._currentValue=n,e._changedBits=t}var Ji={},$i=ai(Ji),eo=ai(Ji),to=ai(Ji);function no(e){return e===Ji&&d(\"174\"),e}function ro(e,t){li(to,t),li(eo,e),li($i,Ji);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Nr(null,\"\");break;default:t=Nr(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}ui($i),li($i,t)}function io(e){ui($i),ui(eo),ui(to)}function oo(e){eo.current===e&&(ui($i),ui(eo))}function so(e,t,n){var r=e.memoizedState;r=null===(t=t(n,r))||void 0===t?r:s({},r,t),e.memoizedState=r,null!==(e=e.updateQueue)&&0===e.expirationTime&&(e.baseState=r)}var ao={isMounted:function(e){return!!(e=e._reactInternalFiber)&&2===an(e)},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=_s(),i=Bi(r=ys(r,e));i.payload=t,void 0!==n&&null!==n&&(i.callback=n),ji(e,i,r),bs(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=_s(),i=Bi(r=ys(r,e));i.tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),ji(e,i,r),bs(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=_s(),r=Bi(n=ys(n,e));r.tag=2,void 0!==t&&null!==t&&(r.callback=t),ji(e,r,n),bs(e,n)}};function uo(e,t,n,r,i,o){var s=e.stateNode;return e=e.type,\"function\"==typeof s.shouldComponentUpdate?s.shouldComponentUpdate(n,i,o):!e.prototype||!e.prototype.isPureReactComponent||(!l(t,n)||!l(r,i))}function lo(e,t,n,r){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ao.enqueueReplaceState(t,t.state,null)}function co(e,t){var n=e.type,r=e.stateNode,i=e.pendingProps,o=pi(e);r.props=i,r.state=e.memoizedState,r.refs=h,r.context=fi(e,o),null!==(o=e.updateQueue)&&(Hi(e,o,i,r,t),r.state=e.memoizedState),\"function\"==typeof(o=e.type.getDerivedStateFromProps)&&(so(e,o,i),r.state=e.memoizedState),\"function\"==typeof n.getDerivedStateFromProps||\"function\"==typeof r.getSnapshotBeforeUpdate||\"function\"!=typeof r.UNSAFE_componentWillMount&&\"function\"!=typeof r.componentWillMount||(n=r.state,\"function\"==typeof r.componentWillMount&&r.componentWillMount(),\"function\"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),n!==r.state&&ao.enqueueReplaceState(r,r.state,null),null!==(o=e.updateQueue)&&(Hi(e,o,i,r,t),r.state=e.memoizedState)),\"function\"==typeof r.componentDidMount&&(e.effectTag|=4)}var ho=Array.isArray;function po(e,t,n){if(null!==(e=n.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(n._owner){var r=void 0;(n=n._owner)&&(2!==n.tag&&d(\"110\"),r=n.stateNode),r||d(\"147\",e);var i=\"\"+e;return null!==t&&null!==t.ref&&\"function\"==typeof t.ref&&t.ref._stringRef===i?t.ref:((t=function(e){var t=r.refs===h?r.refs={}:r.refs;null===e?delete t[i]:t[i]=e})._stringRef=i,t)}\"string\"!=typeof e&&d(\"148\"),n._owner||d(\"254\",e)}return e}function fo(e,t){\"textarea\"!==e.type&&d(\"31\",\"[object Object]\"===Object.prototype.toString.call(t)?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":t,\"\")}function go(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t,n){return(e=Di(e,t,n)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function a(e,t,n,r){return null===t||6!==t.tag?((t=Si(n,e.mode,r)).return=e,t):((t=i(t,n,r)).return=e,t)}function u(e,t,n,r){return null!==t&&t.type===n.type?((r=i(t,n.props,r)).ref=po(e,t,n),r.return=e,r):((r=Ei(n,e.mode,r)).ref=po(e,t,n),r.return=e,r)}function l(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=xi(n,e.mode,r)).return=e,t):((t=i(t,n.children||[],r)).return=e,t)}function c(e,t,n,r,o){return null===t||10!==t.tag?((t=Ai(n,e.mode,r,o)).return=e,t):((t=i(t,n,r)).return=e,t)}function h(e,t,n){if(\"string\"==typeof t||\"number\"==typeof t)return(t=Si(\"\"+t,e.mode,n)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case at:return(n=Ei(t,e.mode,n)).ref=po(e,null,t),n.return=e,n;case ut:return(t=xi(t,e.mode,n)).return=e,t}if(ho(t)||yt(t))return(t=Ai(t,e.mode,n,null)).return=e,t;fo(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if(\"string\"==typeof n||\"number\"==typeof n)return null!==i?null:a(e,t,\"\"+n,r);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case at:return n.key===i?n.type===lt?c(e,t,n.props.children,r,i):u(e,t,n,r):null;case ut:return n.key===i?l(e,t,n,r):null}if(ho(n)||yt(n))return null!==i?null:c(e,t,n,r,null);fo(e,n)}return null}function f(e,t,n,r,i){if(\"string\"==typeof r||\"number\"==typeof r)return a(t,e=e.get(n)||null,\"\"+r,i);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case at:return e=e.get(null===r.key?n:r.key)||null,r.type===lt?c(t,e,r.props.children,i,r.key):u(t,e,r,i);case ut:return l(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(ho(r)||yt(r))return c(t,e=e.get(n)||null,r,i,null);fo(t,r)}return null}function g(i,s,a,u){for(var l=null,c=null,d=s,g=s=0,m=null;null!==d&&g<a.length;g++){d.index>g?(m=d,d=null):m=d.sibling;var v=p(i,d,a[g],u);if(null===v){null===d&&(d=m);break}e&&d&&null===v.alternate&&t(i,d),s=o(v,s,g),null===c?l=v:c.sibling=v,c=v,d=m}if(g===a.length)return n(i,d),l;if(null===d){for(;g<a.length;g++)(d=h(i,a[g],u))&&(s=o(d,s,g),null===c?l=d:c.sibling=d,c=d);return l}for(d=r(i,d);g<a.length;g++)(m=f(d,i,g,a[g],u))&&(e&&null!==m.alternate&&d.delete(null===m.key?g:m.key),s=o(m,s,g),null===c?l=m:c.sibling=m,c=m);return e&&d.forEach(function(e){return t(i,e)}),l}function m(i,s,a,u){var l=yt(a);\"function\"!=typeof l&&d(\"150\"),null==(a=l.call(a))&&d(\"151\");for(var c=l=null,g=s,m=s=0,v=null,y=a.next();null!==g&&!y.done;m++,y=a.next()){g.index>m?(v=g,g=null):v=g.sibling;var b=p(i,g,y.value,u);if(null===b){g||(g=v);break}e&&g&&null===b.alternate&&t(i,g),s=o(b,s,m),null===c?l=b:c.sibling=b,c=b,g=v}if(y.done)return n(i,g),l;if(null===g){for(;!y.done;m++,y=a.next())null!==(y=h(i,y.value,u))&&(s=o(y,s,m),null===c?l=y:c.sibling=y,c=y);return l}for(g=r(i,g);!y.done;m++,y=a.next())null!==(y=f(g,i,m,y.value,u))&&(e&&null!==y.alternate&&g.delete(null===y.key?m:y.key),s=o(y,s,m),null===c?l=y:c.sibling=y,c=y);return e&&g.forEach(function(e){return t(i,e)}),l}return function(e,r,o,a){var u=\"object\"==typeof o&&null!==o&&o.type===lt&&null===o.key;u&&(o=o.props.children);var l=\"object\"==typeof o&&null!==o;if(l)switch(o.$$typeof){case at:e:{for(l=o.key,u=r;null!==u;){if(u.key===l){if(10===u.tag?o.type===lt:u.type===o.type){n(e,u.sibling),(r=i(u,o.type===lt?o.props.children:o.props,a)).ref=po(e,u,o),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===lt?((r=Ai(o.props.children,e.mode,a,o.key)).return=e,e=r):((a=Ei(o,e.mode,a)).ref=po(e,r,o),a.return=e,e=a)}return s(e);case ut:e:{for(u=o.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],a)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=xi(o,e.mode,a)).return=e,e=r}return s(e)}if(\"string\"==typeof o||\"number\"==typeof o)return o=\"\"+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,a)).return=e,e=r):(n(e,r),(r=Si(o,e.mode,a)).return=e,e=r),s(e);if(ho(o))return g(e,r,o,a);if(yt(o))return m(e,r,o,a);if(l&&fo(e,o),void 0===o&&!u)switch(e.tag){case 2:case 1:d(\"152\",(a=e.type).displayName||a.name||\"Component\")}return n(e,r)}}var mo=go(!0),vo=go(!1),yo=null,bo=null,_o=!1;function Co(e,t){var n=new wi(5,null,null,0);n.type=\"DELETED\",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function wo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Do(e){if(_o){var t=bo;if(t){var n=t;if(!wo(e,t)){if(!(t=ri(n))||!wo(e,t))return e.effectTag|=2,_o=!1,void(yo=e);Co(yo,n)}yo=e,bo=ii(t)}else e.effectTag|=2,_o=!1,yo=e}}function Eo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;yo=e}function Ao(e){if(e!==yo)return!1;if(!_o)return Eo(e),_o=!0,!1;var t=e.type;if(5!==e.tag||\"head\"!==t&&\"body\"!==t&&!$r(t,e.memoizedProps))for(t=bo;t;)Co(e,t),t=ri(t);return Eo(e),bo=yo?ri(e.stateNode):null,!0}function So(){bo=yo=null,_o=!1}function xo(e,t,n){Mo(e,t,n,t.expirationTime)}function Mo(e,t,n,r){t.child=null===e?vo(t,null,n,r):mo(t,e.child,n,r)}function No(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Io(e,t,n,r,i){No(e,t);var o=0!=(64&t.effectTag);if(!n&&!o)return r&&Ci(t,!1),To(e,t);n=t.stateNode,ot.current=t;var s=o?null:n.render();return t.effectTag|=1,o&&(Mo(e,t,null,i),t.child=null),Mo(e,t,s,i),t.memoizedState=n.state,t.memoizedProps=n.props,r&&Ci(t,!0),t.child}function Lo(e){var t=e.stateNode;t.pendingContext?yi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&yi(0,t.context,!1),ro(e,t.containerInfo)}function ko(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var s=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==s&&(0===s.expirationTime||s.expirationTime>r)&&(s.expirationTime=r);else{if(null===s||!(0===s.expirationTime||s.expirationTime>r))break;s.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){i.return=o.return,o=i;break}o=o.return}i=o}}function To(e,t){if(null!==e&&t.child!==e.child&&d(\"153\"),null!==t.child){var n=Di(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Di(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function Fo(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:Lo(t);break;case 2:_i(t);break;case 4:ro(t,t.stateNode.containerInfo);break;case 13:Qi(t)}return null}switch(t.tag){case 0:null!==e&&d(\"155\");var r=t.type,i=t.pendingProps,o=pi(t);return r=r(i,o=fi(t,o)),t.effectTag|=1,\"object\"==typeof r&&null!==r&&\"function\"==typeof r.render&&void 0===r.$$typeof?(o=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,\"function\"==typeof(o=o.getDerivedStateFromProps)&&so(t,o,i),i=_i(t),r.updater=ao,t.stateNode=r,r._reactInternalFiber=t,co(t,n),e=Io(e,t,!0,i,n)):(t.tag=1,xo(e,t,r),t.memoizedProps=i,e=t.child),e;case 1:return i=t.type,n=t.pendingProps,hi.current||t.memoizedProps!==n?(i=i(n,r=fi(t,r=pi(t))),t.effectTag|=1,xo(e,t,i),t.memoizedProps=n,e=t.child):e=To(e,t),e;case 2:if(i=_i(t),null===e)if(null===t.stateNode){var s=t.pendingProps,a=t.type;r=pi(t);var u=2===t.tag&&null!=t.type.contextTypes;s=new a(s,o=u?fi(t,r):h),t.memoizedState=null!==s.state&&void 0!==s.state?s.state:null,s.updater=ao,t.stateNode=s,s._reactInternalFiber=t,u&&((u=t.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,u.__reactInternalMemoizedMaskedChildContext=o),co(t,n),r=!0}else{a=t.type,r=t.stateNode,u=t.memoizedProps,o=t.pendingProps,r.props=u;var l=r.context;s=fi(t,s=pi(t));var c=a.getDerivedStateFromProps;(a=\"function\"==typeof c||\"function\"==typeof r.getSnapshotBeforeUpdate)||\"function\"!=typeof r.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof r.componentWillReceiveProps||(u!==o||l!==s)&&lo(t,r,o,s),Fi=!1;var p=t.memoizedState;l=r.state=p;var f=t.updateQueue;null!==f&&(Hi(t,f,o,r,n),l=t.memoizedState),u!==o||p!==l||hi.current||Fi?(\"function\"==typeof c&&(so(t,c,o),l=t.memoizedState),(u=Fi||uo(t,u,o,p,l,s))?(a||\"function\"!=typeof r.UNSAFE_componentWillMount&&\"function\"!=typeof r.componentWillMount||(\"function\"==typeof r.componentWillMount&&r.componentWillMount(),\"function\"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount()),\"function\"==typeof r.componentDidMount&&(t.effectTag|=4)):(\"function\"==typeof r.componentDidMount&&(t.effectTag|=4),t.memoizedProps=o,t.memoizedState=l),r.props=o,r.state=l,r.context=s,r=u):(\"function\"==typeof r.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.type,r=t.stateNode,o=t.memoizedProps,u=t.pendingProps,r.props=o,l=r.context,s=fi(t,s=pi(t)),(a=\"function\"==typeof(c=a.getDerivedStateFromProps)||\"function\"==typeof r.getSnapshotBeforeUpdate)||\"function\"!=typeof r.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof r.componentWillReceiveProps||(o!==u||l!==s)&&lo(t,r,u,s),Fi=!1,l=t.memoizedState,p=r.state=l,null!==(f=t.updateQueue)&&(Hi(t,f,u,r,n),p=t.memoizedState),o!==u||l!==p||hi.current||Fi?(\"function\"==typeof c&&(so(t,c,u),p=t.memoizedState),(c=Fi||uo(t,o,u,l,p,s))?(a||\"function\"!=typeof r.UNSAFE_componentWillUpdate&&\"function\"!=typeof r.componentWillUpdate||(\"function\"==typeof r.componentWillUpdate&&r.componentWillUpdate(u,p,s),\"function\"==typeof r.UNSAFE_componentWillUpdate&&r.UNSAFE_componentWillUpdate(u,p,s)),\"function\"==typeof r.componentDidUpdate&&(t.effectTag|=4),\"function\"==typeof r.getSnapshotBeforeUpdate&&(t.effectTag|=256)):(\"function\"!=typeof r.componentDidUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),\"function\"!=typeof r.getSnapshotBeforeUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),t.memoizedProps=u,t.memoizedState=p),r.props=u,r.state=p,r.context=s,r=c):(\"function\"!=typeof r.componentDidUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),\"function\"!=typeof r.getSnapshotBeforeUpdate||o===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),r=!1);return Io(e,t,r,i,n);case 3:return Lo(t),null!==(i=t.updateQueue)?(r=null!==(r=t.memoizedState)?r.element:null,Hi(t,i,t.pendingProps,null,n),(i=t.memoizedState.element)===r?(So(),e=To(e,t)):(r=t.stateNode,(r=(null===e||null===e.child)&&r.hydrate)&&(bo=ii(t.stateNode.containerInfo),yo=t,r=_o=!0),r?(t.effectTag|=2,t.child=vo(t,null,i,n)):(So(),xo(e,t,i)),e=t.child)):(So(),e=To(e,t)),e;case 5:return no(to.current),(i=no($i.current))!==(r=Nr(i,t.type))&&(li(eo,t),li($i,r)),null===e&&Do(t),i=t.type,u=t.memoizedProps,r=t.pendingProps,o=null!==e?e.memoizedProps:null,hi.current||u!==r||((u=1&t.mode&&!!r.hidden)&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=r.children,$r(i,r)?u=null:o&&$r(i,o)&&(t.effectTag|=16),No(e,t),1073741823!==n&&1&t.mode&&r.hidden?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(xo(e,t,u),t.memoizedProps=r,e=t.child)):e=To(e,t),e;case 6:return null===e&&Do(t),t.memoizedProps=t.pendingProps,null;case 16:return null;case 4:return ro(t,t.stateNode.containerInfo),i=t.pendingProps,hi.current||t.memoizedProps!==i?(null===e?t.child=mo(t,null,i,n):xo(e,t,i),t.memoizedProps=i,e=t.child):e=To(e,t),e;case 14:return i=t.type.render,n=t.pendingProps,r=t.ref,hi.current||t.memoizedProps!==n||r!==(null!==e?e.ref:null)?(xo(e,t,i=i(n,r)),t.memoizedProps=n,e=t.child):e=To(e,t),e;case 10:return n=t.pendingProps,hi.current||t.memoizedProps!==n?(xo(e,t,n),t.memoizedProps=n,e=t.child):e=To(e,t),e;case 11:return n=t.pendingProps.children,hi.current||null!==n&&t.memoizedProps!==n?(xo(e,t,n),t.memoizedProps=n,e=t.child):e=To(e,t),e;case 15:return n=t.pendingProps,t.memoizedProps===n?e=To(e,t):(xo(e,t,n.children),t.memoizedProps=n,e=t.child),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=!0;if(hi.current)s=!1;else if(o===i)return t.stateNode=0,Qi(t),To(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children&&s)return t.stateNode=0,Qi(t),To(e,t);a=0}else{var u=o.value;if(u===a&&(0!==u||1/u==1/a)||u!=u&&a!=a){if(o.children===i.children&&s)return t.stateNode=0,Qi(t),To(e,t);a=0}else if(a=\"function\"==typeof r._calculateChangedBits?r._calculateChangedBits(u,a):1073741823,0==(a|=0)){if(o.children===i.children&&s)return t.stateNode=0,Qi(t),To(e,t)}else ko(t,r,a,n)}return t.stateNode=a,Qi(t),xo(e,t,i.children),t.child}(e,t,n);case 12:e:if(r=t.type,o=t.pendingProps,u=t.memoizedProps,i=r._currentValue,s=r._changedBits,hi.current||0!==s||u!==o){if(t.memoizedProps=o,void 0!==(a=o.unstable_observedBits)&&null!==a||(a=1073741823),t.stateNode=a,0!=(s&a))ko(t,r,s,n);else if(u===o){e=To(e,t);break e}n=(n=o.children)(i),t.effectTag|=1,xo(e,t,n),e=t.child}else e=To(e,t);return e;default:d(\"156\")}}function Oo(e){e.effectTag|=4}var Po=void 0,Bo=void 0,Ro=void 0;function jo(e,t){var n=t.pendingProps;switch(t.tag){case 1:return null;case 2:return mi(t),null;case 3:io(),vi();var r=t.stateNode;return r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Ao(t),t.effectTag&=-3),Po(t),null;case 5:oo(t),r=no(to.current);var i=t.type;if(null!==e&&null!=t.stateNode){var o=e.memoizedProps,s=t.stateNode,a=no($i.current);s=Yr(s,i,o,n,r),Bo(e,t,s,i,o,n,r,a),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!n)return null===t.stateNode&&d(\"166\"),null;if(e=no($i.current),Ao(t))n=t.stateNode,i=t.type,o=t.memoizedProps,n[W]=t,n[V]=o,r=Gr(n,i,o,e,r),t.updateQueue=r,null!==r&&Oo(t);else{(e=Vr(i,n,r,e))[W]=t,e[V]=n;e:for(o=t.child;null!==o;){if(5===o.tag||6===o.tag)e.appendChild(o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}Ur(e,i,n,r),Jr(i,n)&&Oo(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Ro(e,t,e.memoizedProps,n);else{if(\"string\"!=typeof n)return null===t.stateNode&&d(\"166\"),null;r=no(to.current),no($i.current),Ao(t)?(r=t.stateNode,n=t.memoizedProps,r[W]=t,Kr(r,n)&&Oo(t)):((r=Hr(n,r))[W]=t,t.stateNode=r)}return null;case 14:case 16:case 10:case 11:case 15:return null;case 4:return io(),Po(t),null;case 13:return Xi(t),null;case 12:return null;case 0:d(\"167\");default:d(\"156\")}}function zo(e,t){var n=t.source;null===t.stack&&null!==n&&_t(n),null!==n&&bt(n),t=t.value,null!==e&&2===e.tag&&bt(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}function Wo(e){var t=e.ref;if(null!==t)if(\"function\"==typeof t)try{t(null)}catch(t){ms(e,t)}else t.current=null}function Vo(e){switch(Ti(e),e.tag){case 2:Wo(e);var t=e.stateNode;if(\"function\"==typeof t.componentWillUnmount)try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){ms(e,t)}break;case 5:Wo(e);break;case 4:Yo(e)}}function Ho(e){return 5===e.tag||3===e.tag||4===e.tag}function Uo(e){e:{for(var t=e.return;null!==t;){if(Ho(t)){var n=t;break e}t=t.return}d(\"160\"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:d(\"161\")}16&n.effectTag&&(Tr(t,\"\"),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||Ho(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)if(n)if(r){var o=t,s=i.stateNode,a=n;8===o.nodeType?o.parentNode.insertBefore(s,a):o.insertBefore(s,a)}else t.insertBefore(i.stateNode,n);else r?(o=t,s=i.stateNode,8===o.nodeType?o.parentNode.insertBefore(s,o):o.appendChild(s)):t.appendChild(i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function Yo(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&d(\"160\"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag){e:for(var o=t,s=o;;)if(Vo(s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===o)break;for(;null===s.sibling;){if(null===s.return||s.return===o)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}i?(o=r,s=t.stateNode,8===o.nodeType?o.parentNode.removeChild(s):o.removeChild(s)):r.removeChild(t.stateNode)}else if(4===t.tag?r=t.stateNode.containerInfo:Vo(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}function Zo(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&(n[V]=r,Zr(n,o,i,e,r))}break;case 6:null===t.stateNode&&d(\"162\"),t.stateNode.nodeValue=t.memoizedProps;break;case 3:case 15:case 16:break;default:d(\"163\")}}function Go(e,t,n){(n=Bi(n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){$s(r),zo(e,t)},n}function Ko(e,t,n){(n=Bi(n)).tag=3;var r=e.stateNode;return null!==r&&\"function\"==typeof r.componentDidCatch&&(n.callback=function(){null===hs?hs=new Set([this]):hs.add(this);var n=t.value,r=t.stack;zo(e,t),this.componentDidCatch(n,{componentStack:null!==r?r:\"\"})}),n}function qo(e,t,n,r,i,o){n.effectTag|=512,n.firstEffect=n.lastEffect=null,r=Zi(r,n),e=t;do{switch(e.tag){case 3:return e.effectTag|=1024,void zi(e,r=Go(e,r,o),o);case 2:if(t=r,n=e.stateNode,0==(64&e.effectTag)&&null!==n&&\"function\"==typeof n.componentDidCatch&&(null===hs||!hs.has(n)))return e.effectTag|=1024,void zi(e,r=Ko(e,t,o),o)}e=e.return}while(null!==e)}function Qo(e){switch(e.tag){case 2:mi(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return io(),vi(),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return oo(e),null;case 16:return 1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 4:return io(),null;case 13:return Xi(e),null;default:return null}}Po=function(){},Bo=function(e,t,n){(t.updateQueue=n)&&Oo(t)},Ro=function(e,t,n,r){n!==r&&Oo(t)};var Xo=ei(),Jo=2,$o=Xo,es=0,ts=0,ns=!1,rs=null,is=null,os=0,ss=-1,as=!1,us=null,ls=!1,cs=!1,hs=null;function ds(){if(null!==rs)for(var e=rs.return;null!==e;){var t=e;switch(t.tag){case 2:mi(t);break;case 3:io(),vi();break;case 5:oo(t);break;case 4:io();break;case 13:Xi(t)}e=e.return}is=null,os=0,ss=-1,as=!1,rs=null,cs=!1}function ps(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=jo(t,e);var i=e;if(1073741823===os||1073741823!==i.expirationTime){var o=0;switch(i.tag){case 3:case 2:var s=i.updateQueue;null!==s&&(o=s.expirationTime)}for(s=i.child;null!==s;)0!==s.expirationTime&&(0===o||o>s.expirationTime)&&(o=s.expirationTime),s=s.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1<e.effectTag&&(null!==n.lastEffect?n.lastEffect.nextEffect=e:n.firstEffect=e,n.lastEffect=e)),null!==r)return r;if(null===n){cs=!0;break}e=n}else{if(null!==(e=Qo(e)))return e.effectTag&=511,e;if(null!==n&&(n.firstEffect=n.lastEffect=null,n.effectTag|=512),null!==r)return r;if(null===n)break;e=n}}return null}function fs(e){var t=Fo(e.alternate,e,os);return null===t&&(t=ps(e)),ot.current=null,t}function gs(e,t,n){ns&&d(\"243\"),ns=!0,t===os&&e===is&&null!==rs||(ds(),os=t,ss=-1,rs=Di((is=e).current,null,os),e.pendingCommitExpirationTime=0);var r=!1;for(as=!n||os<=Jo;;){try{if(n)for(;null!==rs&&!Js();)rs=fs(rs);else for(;null!==rs;)rs=fs(rs)}catch(t){if(null===rs)r=!0,$s(t);else{null===rs&&d(\"271\");var i=(n=rs).return;if(null===i){r=!0,$s(t);break}qo(e,i,n,t,0,os),rs=ps(n)}}break}if(ns=!1,r)return null;if(null===rs){if(cs)return e.pendingCommitExpirationTime=t,e.current.alternate;as&&d(\"262\"),0<=ss&&setTimeout(function(){var t=e.current.expirationTime;0!==t&&(0===e.remainingExpirationTime||e.remainingExpirationTime<t)&&Hs(e,t)},ss),function(e){null===Ms&&d(\"246\"),Ms.remainingExpirationTime=e}(e.current.expirationTime)}return null}function ms(e,t){var n;e:{for(ns&&!ls&&d(\"263\"),n=e.return;null!==n;){switch(n.tag){case 2:var r=n.stateNode;if(\"function\"==typeof n.type.getDerivedStateFromCatch||\"function\"==typeof r.componentDidCatch&&(null===hs||!hs.has(r))){ji(n,e=Ko(n,e=Zi(t,e),1),1),bs(n,1),n=void 0;break e}break;case 3:ji(n,e=Go(n,e=Zi(t,e),1),1),bs(n,1),n=void 0;break e}n=n.return}3===e.tag&&(ji(e,n=Go(e,n=Zi(t,e),1),1),bs(e,1)),n=void 0}return n}function vs(){var e=2+25*(1+((_s()-2+500)/25|0));return e<=es&&(e=es+1),es=e}function ys(e,t){return e=0!==ts?ts:ns?ls?1:os:1&t.mode?Bs?2+10*(1+((e-2+15)/10|0)):2+25*(1+((e-2+500)/25|0)):1,Bs&&(0===Is||e>Is)&&(Is=e),e}function bs(e,t){for(;null!==e;){if((0===e.expirationTime||e.expirationTime>t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!ns&&0!==os&&t<os&&ds();var r=n.current.expirationTime;ns&&!ls&&is===n||Hs(n,r),zs>js&&d(\"185\")}e=e.return}}function _s(){return $o=ei()-Xo,Jo=2+($o/10|0)}function Cs(e){var t=ts;ts=2+25*(1+((_s()-2+500)/25|0));try{return e()}finally{ts=t}}function ws(e,t,n,r,i){var o=ts;ts=1;try{return e(t,n,r,i)}finally{ts=o}}var Ds=null,Es=null,As=0,Ss=void 0,xs=!1,Ms=null,Ns=0,Is=0,Ls=!1,ks=!1,Ts=null,Fs=null,Os=!1,Ps=!1,Bs=!1,Rs=null,js=1e3,zs=0,Ws=1;function Vs(e){if(0!==As){if(e>As)return;null!==Ss&&ni(Ss)}var t=ei()-Xo;As=e,Ss=ti(Ys,{timeout:10*(e-2)-t})}function Hs(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Es?(Ds=Es=e,e.nextScheduledRoot=e):(Es=Es.nextScheduledRoot=e).nextScheduledRoot=Ds;else{var n=e.remainingExpirationTime;(0===n||t<n)&&(e.remainingExpirationTime=t)}xs||(Os?Ps&&(Ms=e,Ns=1,Qs(e,1,!1)):1===t?Zs():Vs(t))}function Us(){var e=0,t=null;if(null!==Es)for(var n=Es,r=Ds;null!==r;){var i=r.remainingExpirationTime;if(0===i){if((null===n||null===Es)&&d(\"244\"),r===r.nextScheduledRoot){Ds=Es=r.nextScheduledRoot=null;break}if(r===Ds)Ds=i=r.nextScheduledRoot,Es.nextScheduledRoot=i,r.nextScheduledRoot=null;else{if(r===Es){(Es=n).nextScheduledRoot=Ds,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if((0===e||i<e)&&(e=i,t=r),r===Es)break;n=r,r=r.nextScheduledRoot}}null!==(n=Ms)&&n===t&&1===e?zs++:zs=0,Ms=t,Ns=e}function Ys(e){Gs(0,!0,e)}function Zs(){Gs(1,!1,null)}function Gs(e,t,n){if(Fs=n,Us(),t)for(;null!==Ms&&0!==Ns&&(0===e||e>=Ns)&&(!Ls||_s()>=Ns);)_s(),Qs(Ms,Ns,!Ls),Us();else for(;null!==Ms&&0!==Ns&&(0===e||e>=Ns);)Qs(Ms,Ns,!1),Us();null!==Fs&&(As=0,Ss=null),0!==Ns&&Vs(Ns),Fs=null,Ls=!1,qs()}function Ks(e,t){xs&&d(\"253\"),Ms=e,Ns=t,Qs(e,t,!1),Zs(),qs()}function qs(){if(zs=0,null!==Rs){var e=Rs;Rs=null;for(var t=0;t<e.length;t++){var n=e[t];try{n._onComplete()}catch(e){ks||(ks=!0,Ts=e)}}}if(ks)throw e=Ts,Ts=null,ks=!1,e}function Qs(e,t,n){xs&&d(\"245\"),xs=!0,n?null!==(n=e.finishedWork)?Xs(e,n,t):null!==(n=gs(e,t,!0))&&(Js()?e.finishedWork=n:Xs(e,n,t)):null!==(n=e.finishedWork)?Xs(e,n,t):null!==(n=gs(e,t,!1))&&Xs(e,n,t),xs=!1}function Xs(e,t,n){var r=e.firstBatch;if(null!==r&&r._expirationTime<=n&&(null===Rs?Rs=[r]:Rs.push(r),r._defer))return e.finishedWork=t,void(e.remainingExpirationTime=0);if(e.finishedWork=null,ls=ns=!0,(n=t.stateNode).current===t&&d(\"177\"),0===(r=n.pendingCommitExpirationTime)&&d(\"261\"),n.pendingCommitExpirationTime=0,_s(),ot.current=null,1<t.effectTag)if(null!==t.lastEffect){t.lastEffect.nextEffect=t;var i=t.firstEffect}else i=t;else i=t.firstEffect;Qr=In;var o=u();if(Hn(o)){if(\"selectionStart\"in o)var s={start:o.selectionStart,end:o.selectionEnd};else e:{var a=window.getSelection&&window.getSelection();if(a&&0!==a.rangeCount){s=a.anchorNode;var l=a.anchorOffset,h=a.focusNode;a=a.focusOffset;try{s.nodeType,h.nodeType}catch(e){s=null;break e}var p=0,f=-1,g=-1,m=0,v=0,y=o,b=null;t:for(;;){for(var _;y!==s||0!==l&&3!==y.nodeType||(f=p+l),y!==h||0!==a&&3!==y.nodeType||(g=p+a),3===y.nodeType&&(p+=y.nodeValue.length),null!==(_=y.firstChild);)b=y,y=_;for(;;){if(y===o)break t;if(b===s&&++m===l&&(f=p),b===h&&++v===a&&(g=p),null!==(_=y.nextSibling))break;b=(y=b).parentNode}y=_}s=-1===f||-1===g?null:{start:f,end:g}}else s=null}s=s||{start:0,end:0}}else s=null;for(Xr={focusedElem:o,selectionRange:s},Ln(!1),us=i;null!==us;){o=!1,s=void 0;try{for(;null!==us;){if(256&us.effectTag){var C=us.alternate;switch((l=us).tag){case 2:if(256&l.effectTag&&null!==C){var w=C.memoizedProps,D=C.memoizedState,E=l.stateNode;E.props=l.memoizedProps,E.state=l.memoizedState;var A=E.getSnapshotBeforeUpdate(w,D);E.__reactInternalSnapshotBeforeUpdate=A}break;case 3:case 5:case 6:case 4:break;default:d(\"163\")}}us=us.nextEffect}}catch(e){o=!0,s=e}o&&(null===us&&d(\"178\"),ms(us,s),null!==us&&(us=us.nextEffect))}for(us=i;null!==us;){C=!1,w=void 0;try{for(;null!==us;){var S=us.effectTag;if(16&S&&Tr(us.stateNode,\"\"),128&S){var x=us.alternate;if(null!==x){var M=x.ref;null!==M&&(\"function\"==typeof M?M(null):M.current=null)}}switch(14&S){case 2:Uo(us),us.effectTag&=-3;break;case 6:Uo(us),us.effectTag&=-3,Zo(us.alternate,us);break;case 4:Zo(us.alternate,us);break;case 8:Yo(D=us),D.return=null,D.child=null,D.alternate&&(D.alternate.child=null,D.alternate.return=null)}us=us.nextEffect}}catch(e){C=!0,w=e}C&&(null===us&&d(\"178\"),ms(us,w),null!==us&&(us=us.nextEffect))}if(M=Xr,x=u(),S=M.focusedElem,C=M.selectionRange,x!==S&&c(document.documentElement,S)){null!==C&&Hn(S)&&(x=C.start,void 0===(M=C.end)&&(M=x),\"selectionStart\"in S?(S.selectionStart=x,S.selectionEnd=Math.min(M,S.value.length)):window.getSelection&&(x=window.getSelection(),w=S[fe()].length,M=Math.min(C.start,w),C=void 0===C.end?M:Math.min(C.end,w),!x.extend&&M>C&&(w=C,C=M,M=w),w=Vn(S,M),D=Vn(S,C),w&&D&&(1!==x.rangeCount||x.anchorNode!==w.node||x.anchorOffset!==w.offset||x.focusNode!==D.node||x.focusOffset!==D.offset)&&((E=document.createRange()).setStart(w.node,w.offset),x.removeAllRanges(),M>C?(x.addRange(E),x.extend(D.node,D.offset)):(E.setEnd(D.node,D.offset),x.addRange(E))))),x=[];for(M=S;M=M.parentNode;)1===M.nodeType&&x.push({element:M,left:M.scrollLeft,top:M.scrollTop});for(\"function\"==typeof S.focus&&S.focus(),S=0;S<x.length;S++)(M=x[S]).element.scrollLeft=M.left,M.element.scrollTop=M.top}for(Xr=null,Ln(Qr),Qr=null,n.current=t,us=i;null!==us;){i=!1,S=void 0;try{for(x=r;null!==us;){var N=us.effectTag;if(36&N){var I=us.alternate;switch(C=x,(M=us).tag){case 2:var L=M.stateNode;if(4&M.effectTag)if(null===I)L.props=M.memoizedProps,L.state=M.memoizedState,L.componentDidMount();else{var k=I.memoizedProps,T=I.memoizedState;L.props=M.memoizedProps,L.state=M.memoizedState,L.componentDidUpdate(k,T,L.__reactInternalSnapshotBeforeUpdate)}var F=M.updateQueue;null!==F&&(L.props=M.memoizedProps,L.state=M.memoizedState,Yi(M,F,L));break;case 3:var O=M.updateQueue;if(null!==O){if(w=null,null!==M.child)switch(M.child.tag){case 5:w=M.child.stateNode;break;case 2:w=M.child.stateNode}Yi(M,O,w)}break;case 5:var P=M.stateNode;null===I&&4&M.effectTag&&Jr(M.type,M.memoizedProps)&&P.focus();break;case 6:case 4:case 15:case 16:break;default:d(\"163\")}}if(128&N){M=void 0;var B=us.ref;if(null!==B){var R=us.stateNode;switch(us.tag){case 5:M=R;break;default:M=R}\"function\"==typeof B?B(M):B.current=M}}var j=us.nextEffect;us.nextEffect=null,us=j}}catch(e){i=!0,S=e}i&&(null===us&&d(\"178\"),ms(us,S),null!==us&&(us=us.nextEffect))}ns=ls=!1,ki(t.stateNode),0===(t=n.current.expirationTime)&&(hs=null),e.remainingExpirationTime=t}function Js(){return!(null===Fs||Fs.timeRemaining()>Ws)&&(Ls=!0)}function $s(e){null===Ms&&d(\"246\"),Ms.remainingExpirationTime=0,ks||(ks=!0,Ts=e)}function ea(e,t){var n=Os;Os=!0;try{return e(t)}finally{(Os=n)||xs||Zs()}}function ta(e,t){if(Os&&!Ps){Ps=!0;try{return e(t)}finally{Ps=!1}}return e(t)}function na(e,t){xs&&d(\"187\");var n=Os;Os=!0;try{return ws(e,t)}finally{Os=n,Zs()}}function ra(e,t,n){if(Bs)return e(t,n);Os||xs||0===Is||(Gs(Is,!1,null),Is=0);var r=Bs,i=Os;Os=Bs=!0;try{return e(t,n)}finally{Bs=r,(Os=i)||xs||Zs()}}function ia(e){var t=Os;Os=!0;try{ws(e)}finally{(Os=t)||xs||Gs(1,!1,null)}}function oa(e,t,n,r,i){var o=t.current;if(n){var s;n=n._reactInternalFiber;e:{for(2===an(n)&&2===n.tag||d(\"170\"),s=n;3!==s.tag;){if(gi(s)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break e}(s=s.return)||d(\"171\")}s=s.stateNode.context}n=gi(n)?bi(n,s):s}else n=h;return null===t.context?t.context=n:t.pendingContext=n,t=i,(i=Bi(r)).payload={element:e},null!==(t=void 0===t?null:t)&&(i.callback=t),ji(o,i,r),bs(o,r),r}function sa(e){var t=e._reactInternalFiber;return void 0===t&&(\"function\"==typeof e.render?d(\"188\"):d(\"268\",Object.keys(e))),null===(e=cn(t))?null:e.stateNode}function aa(e,t,n,r){var i=t.current;return oa(e,t,n,i=ys(_s(),i),r)}function ua(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function la(e){var t=e.findFiberByHostInstance;return function(e){if(\"undefined\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Ni=Li(function(e){return t.onCommitFiberRoot(n,e)}),Ii=Li(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}return!0}(s({},e,{findHostInstanceByFiber:function(e){return null===(e=cn(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null}}))}var ca=ea,ha=ra,da=function(){xs||0===Is||(Gs(Is,!1,null),Is=0)};function pa(e){this._expirationTime=vs(),this._root=e,this._callbacks=this._next=null,this._hasChildren=this._didComplete=!1,this._children=null,this._defer=!0}function fa(){this._callbacks=null,this._didCommit=!1,this._onCommit=this._onCommit.bind(this)}function ga(e,t,n){this._internalRoot=Mi(e,t,n)}function ma(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function va(e,t,n,r,i){ma(n)||d(\"200\");var o=n._reactRootContainer;if(o){if(\"function\"==typeof i){var s=i;i=function(){var e=ua(o._internalRoot);s.call(e)}}null!=e?o.legacy_renderSubtreeIntoContainer(e,t,i):o.render(t,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\"data-reactroot\"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ga(e,!1,t)}(n,r),\"function\"==typeof i){var a=i;i=function(){var e=ua(o._internalRoot);a.call(e)}}ta(function(){null!=e?o.legacy_renderSubtreeIntoContainer(e,t,i):o.render(t,i)})}return ua(o._internalRoot)}function ya(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;return ma(t)||d(\"200\"),function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ut,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}je.injectFiberControlledHostComponent(qr),pa.prototype.render=function(e){this._defer||d(\"250\"),this._hasChildren=!0,this._children=e;var t=this._root._internalRoot,n=this._expirationTime,r=new fa;return oa(e,t,null,n,r._onCommit),r},pa.prototype.then=function(e){if(this._didComplete)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},pa.prototype.commit=function(){var e=this._root._internalRoot,t=e.firstBatch;if(this._defer&&null!==t||d(\"251\"),this._hasChildren){var n=this._expirationTime;if(t!==this){this._hasChildren&&(n=this._expirationTime=t._expirationTime,this.render(this._children));for(var r=null,i=t;i!==this;)r=i,i=i._next;null===r&&d(\"251\"),r._next=i._next,this._next=t,e.firstBatch=this}this._defer=!1,Ks(e,n),t=this._next,this._next=null,null!==(t=e.firstBatch=t)&&t._hasChildren&&t.render(t._children)}else this._next=null,this._defer=!1},pa.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++)(0,e[t])()}},fa.prototype.then=function(e){if(this._didCommit)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},fa.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++){var n=e[t];\"function\"!=typeof n&&d(\"191\",n),n()}}},ga.prototype.render=function(e,t){var n=this._internalRoot,r=new fa;return null!==(t=void 0===t?null:t)&&r.then(t),aa(e,n,null,r._onCommit),r},ga.prototype.unmount=function(e){var t=this._internalRoot,n=new fa;return null!==(e=void 0===e?null:e)&&n.then(e),aa(null,t,null,n._onCommit),n},ga.prototype.legacy_renderSubtreeIntoContainer=function(e,t,n){var r=this._internalRoot,i=new fa;return null!==(n=void 0===n?null:n)&&i.then(n),aa(t,r,e,i._onCommit),i},ga.prototype.createBatch=function(){var e=new pa(this),t=e._expirationTime,n=this._internalRoot,r=n.firstBatch;if(null===r)n.firstBatch=e,e._next=null;else{for(n=null;null!==r&&r._expirationTime<=t;)n=r,r=r._next;e._next=r,null!==n&&(n._next=e)}return e},Ge=ca,Ke=ha,qe=da;var ba={createPortal:ya,findDOMNode:function(e){return null==e?null:1===e.nodeType?e:sa(e)},hydrate:function(e,t,n){return va(null,e,t,!0,n)},render:function(e,t,n){return va(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,r){return(null==e||void 0===e._reactInternalFiber)&&d(\"38\"),va(e,t,n,!1,r)},unmountComponentAtNode:function(e){return ma(e)||d(\"40\"),!!e._reactRootContainer&&(ta(function(){va(null,null,e,!1,function(){e._reactRootContainer=null})}),!0)},unstable_createPortal:function(){return ya.apply(void 0,arguments)},unstable_batchedUpdates:ea,unstable_deferredUpdates:Cs,unstable_interactiveUpdates:ra,flushSync:na,unstable_flushControlled:ia,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:j,EventPluginRegistry:E,EventPropagators:ne,ReactControlledComponent:Ze,ReactDOMComponentTree:Z,ReactDOMEventListener:Pn},unstable_createRoot:function(e,t){return new ga(e,!0,null!=t&&!0===t.hydrate)}};la({findFiberByHostInstance:H,bundleType:0,version:\"16.4.2\",rendererPackageName:\"react-dom\"});var _a={default:ba},Ca=_a&&ba||_a;e.exports=Ca.default?Ca.default:Ca},function(e,t,n){\"use strict\";var r=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=i},function(e,t,n){\"use strict\";e.exports=function(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){\"use strict\";var r=Object.prototype.hasOwnProperty;function i(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,t){if(i(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var s=0;s<n.length;s++)if(!r.call(t,n[s])||!i(e[n[s]],t[n[s]]))return!1;return!0}},function(e,t,n){\"use strict\";var r=n(266);e.exports=function e(t,n){return!(!t||!n)&&(t===n||!r(t)&&(r(n)?e(t,n.parentNode):\"contains\"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}},function(e,t,n){\"use strict\";var r=n(267);e.exports=function(e){return r(e)&&3==e.nodeType}},function(e,t,n){\"use strict\";e.exports=function(e){var t=(e?e.ownerDocument||e:document).defaultView||window;return!(!e||!(\"function\"==typeof t.Node?e instanceof t.Node:\"object\"==typeof e&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName))}},function(e,t,n){e.exports=n(269)},function(e,t,n){n(270);var r=n(20).Object;e.exports=function(e,t){return r.getOwnPropertyDescriptor(e,t)}},function(e,t,n){var r=n(29),i=n(177).f;n(180)(\"getOwnPropertyDescriptor\",function(){return function(e,t){return i(r(e),t)}})},function(e,t,n){var r=n(272);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){e.exports=n(274)},function(e,t,n){n(275),e.exports=n(20).Object.getOwnPropertySymbols},function(e,t,n){\"use strict\";var r=n(25),i=n(30),o=n(31),s=n(40),a=n(181),u=n(276).KEY,l=n(34),c=n(74),h=n(75),d=n(58),p=n(26),f=n(182),g=n(277),m=n(278),v=n(282),y=n(41),b=n(39),_=n(29),C=n(73),w=n(57),D=n(184),E=n(285),A=n(177),S=n(32),x=n(42),M=A.f,N=S.f,I=E.f,L=r.Symbol,k=r.JSON,T=k&&k.stringify,F=p(\"_hidden\"),O=p(\"toPrimitive\"),P={}.propertyIsEnumerable,B=c(\"symbol-registry\"),R=c(\"symbols\"),j=c(\"op-symbols\"),z=Object.prototype,W=\"function\"==typeof L,V=r.QObject,H=!V||!V.prototype||!V.prototype.findChild,U=o&&l(function(){return 7!=D(N({},\"a\",{get:function(){return N(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=M(z,t);r&&delete z[t],N(e,t,n),r&&e!==z&&N(z,t,r)}:N,Y=function(e){var t=R[e]=D(L.prototype);return t._k=e,t},Z=W&&\"symbol\"==typeof L.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof L},G=function(e,t,n){return e===z&&G(j,t,n),y(e),t=C(t,!0),y(n),i(R,t)?(n.enumerable?(i(e,F)&&e[F][t]&&(e[F][t]=!1),n=D(n,{enumerable:w(0,!1)})):(i(e,F)||N(e,F,w(1,{})),e[F][t]=!0),U(e,t,n)):N(e,t,n)},K=function(e,t){y(e);for(var n,r=m(t=_(t)),i=0,o=r.length;o>i;)G(e,n=r[i++],t[n]);return e},q=function(e){var t=P.call(this,e=C(e,!0));return!(this===z&&i(R,e)&&!i(j,e))&&(!(t||!i(this,e)||!i(R,e)||i(this,F)&&this[F][e])||t)},Q=function(e,t){if(e=_(e),t=C(t,!0),e!==z||!i(R,t)||i(j,t)){var n=M(e,t);return!n||!i(R,t)||i(e,F)&&e[F][t]||(n.enumerable=!0),n}},X=function(e){for(var t,n=I(_(e)),r=[],o=0;n.length>o;)i(R,t=n[o++])||t==F||t==u||r.push(t);return r},J=function(e){for(var t,n=e===z,r=I(n?j:_(e)),o=[],s=0;r.length>s;)!i(R,t=r[s++])||n&&!i(z,t)||o.push(R[t]);return o};W||(a((L=function(){if(this instanceof L)throw TypeError(\"Symbol is not a constructor!\");var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===z&&t.call(j,n),i(this,F)&&i(this[F],e)&&(this[F][e]=!1),U(this,e,w(1,n))};return o&&H&&U(z,e,{configurable:!0,set:t}),Y(e)}).prototype,\"toString\",function(){return this._k}),A.f=Q,S.f=G,n(185).f=E.f=X,n(56).f=q,n(79).f=J,o&&!n(59)&&a(z,\"propertyIsEnumerable\",q,!0),f.f=function(e){return Y(p(e))}),s(s.G+s.W+s.F*!W,{Symbol:L});for(var $=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),ee=0;$.length>ee;)p($[ee++]);for(var te=x(p.store),ne=0;te.length>ne;)g(te[ne++]);s(s.S+s.F*!W,\"Symbol\",{for:function(e){return i(B,e+=\"\")?B[e]:B[e]=L(e)},keyFor:function(e){if(!Z(e))throw TypeError(e+\" is not a symbol!\");for(var t in B)if(B[t]===e)return t},useSetter:function(){H=!0},useSimple:function(){H=!1}}),s(s.S+s.F*!W,\"Object\",{create:function(e,t){return void 0===t?D(e):K(D(e),t)},defineProperty:G,defineProperties:K,getOwnPropertyDescriptor:Q,getOwnPropertyNames:X,getOwnPropertySymbols:J}),k&&s(s.S+s.F*(!W||l(function(){var e=L();return\"[null]\"!=T([e])||\"{}\"!=T({a:e})||\"{}\"!=T(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(b(t)||void 0!==e)&&!Z(e))return v(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!Z(t))return t}),r[1]=t,T.apply(k,r)}}),L.prototype[O]||n(35)(L.prototype,O,L.prototype.valueOf),h(L,\"Symbol\"),h(Math,\"Math\",!0),h(r.JSON,\"JSON\",!0)},function(e,t,n){var r=n(58)(\"meta\"),i=n(39),o=n(30),s=n(32).f,a=0,u=Object.isExtensible||function(){return!0},l=!n(34)(function(){return u(Object.preventExtensions({}))}),c=function(e){s(e,r,{value:{i:\"O\"+ ++a,w:{}}})},h=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!i(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!o(e,r)){if(!u(e))return\"F\";if(!t)return\"E\";c(e)}return e[r].i},getWeak:function(e,t){if(!o(e,r)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[r].w},onFreeze:function(e){return l&&h.NEED&&u(e)&&!o(e,r)&&c(e),e}}},function(e,t,n){var r=n(25),i=n(20),o=n(59),s=n(182),a=n(32).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},function(e,t,n){var r=n(42),i=n(79),o=n(56);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var s,a=n(e),u=o.f,l=0;a.length>l;)u.call(e,s=a[l++])&&t.push(s);return t}},function(e,t,n){var r=n(29),i=n(280),o=n(281);e.exports=function(e){return function(t,n,s){var a,u=r(t),l=i(u.length),c=o(s,l);if(e&&n!=n){for(;l>c;)if((a=u[c++])!=a)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(76),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(76),i=Math.max,o=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(71);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t,n){var r=n(32),i=n(41),o=n(42);e.exports=n(31)?Object.defineProperties:function(e,t){i(e);for(var n,s=o(t),a=s.length,u=0;a>u;)r.f(e,n=s[u++],t[n]);return e}},function(e,t,n){var r=n(25).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(29),i=n(185).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&\"[object Window]\"==o.call(e)?function(e){try{return i(e)}catch(e){return s.slice()}}(e):i(r(e))}},function(e,t,n){e.exports=n(287)},function(e,t,n){n(288),e.exports=n(20).Object.keys},function(e,t,n){var r=n(80),i=n(42);n(180)(\"keys\",function(){return function(e){return i(r(e))}})},function(e,t,n){e.exports=n(290)},function(e,t,n){n(291);var r=n(20).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){var r=n(40);r(r.S+r.F*!n(31),\"Object\",{defineProperty:n(32).f})},function(e,t,n){\"use strict\";t.byteLength=function(e){var t=l(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){for(var t,n=l(e),r=n[0],s=n[1],a=new o(function(e,t,n){return 3*(t+n)/4-n}(0,r,s)),u=0,c=s>0?r-4:r,h=0;h<c;h+=4)t=i[e.charCodeAt(h)]<<18|i[e.charCodeAt(h+1)]<<12|i[e.charCodeAt(h+2)]<<6|i[e.charCodeAt(h+3)],a[u++]=t>>16&255,a[u++]=t>>8&255,a[u++]=255&t;2===s&&(t=i[e.charCodeAt(h)]<<2|i[e.charCodeAt(h+1)]>>4,a[u++]=255&t);1===s&&(t=i[e.charCodeAt(h)]<<10|i[e.charCodeAt(h+1)]<<4|i[e.charCodeAt(h+2)]>>2,a[u++]=t>>8&255,a[u++]=255&t);return a},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(c(e,s,s+16383>a?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+\"==\")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+\"=\"));return o.join(\"\")};for(var r=[],i=[],o=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,s=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",a=0,u=s.length;a<u;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function l(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=e.indexOf(\"=\");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,n){for(var i,o,s=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<<a)-1,l=u>>1,c=-7,h=n?i-1:0,d=n?-1:1,p=e[t+h];for(h+=d,o=p&(1<<-c)-1,p>>=-c,c+=a;c>0;o=256*o+e[t+h],h+=d,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=r;c>0;s=256*s+e[t+h],h+=d,c-=8);if(0===o)o=1-l;else{if(o===u)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=l}return(p?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,u,l=8*o-i-1,c=(1<<l)-1,h=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(s++,u/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(t*u-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[n+p]=255&a,p+=f,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;e[n+p]=255&s,p+=f,s/=256,l-=8);e[n+p-f]|=128*g}},function(e,t,n){var r=n(81);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(81,function(){var t=n(81);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,r=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(e,t){var i,o=t.trim().replace(/^\"(.*)\"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(o)?e:(i=0===o.indexOf(\"//\")?o:0===o.indexOf(\"/\")?n+o:r+o.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(i)+\")\")})}},function(e,t,n){var r=n(82);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(82,function(){var t=n(82);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(298);(e.exports=n(5)(!1)).push([e.i,\"@font-face{\\n    font-family: 'Fira Code';\\n    src: url(\"+r(n(187))+\");\\n    src: url(\"+r(n(187))+\") format('embedded-opentype'),\\n         url(\"+r(n(299))+\") format('woff2'),\\n         url(\"+r(n(300))+\") format('woff'),\\n         url(\"+r(n(301))+\") format('truetype');\\n    font-weight: 300;\\n    font-style: normal;\\n}\\n\\n@font-face{\\n    font-family: 'Fira Code';\\n    src: url(\"+r(n(188))+\");\\n    src: url(\"+r(n(188))+\") format('embedded-opentype'),\\n         url(\"+r(n(302))+\") format('woff2'),\\n         url(\"+r(n(303))+\") format('woff'),\\n         url(\"+r(n(304))+\") format('truetype');\\n    font-weight: 400;\\n    font-style: normal;\\n}\\n\\n@font-face{\\n    font-family: 'Fira Code';\\n    src: url(\"+r(n(189))+\");\\n    src: url(\"+r(n(189))+\") format('embedded-opentype'),\\n         url(\"+r(n(305))+\") format('woff2'),\\n         url(\"+r(n(306))+\") format('woff'),\\n         url(\"+r(n(307))+\") format('truetype');\\n    font-weight: 500;\\n    font-style: normal;\\n}\\n\\n@font-face{\\n    font-family: 'Fira Code';\\n    src: url(\"+r(n(190))+\");\\n    src: url(\"+r(n(190))+\") format('embedded-opentype'),\\n         url(\"+r(n(308))+\") format('woff2'),\\n         url(\"+r(n(309))+\") format('woff'),\\n         url(\"+r(n(310))+\") format('truetype');\\n    font-weight: 700;\\n    font-style: normal;\\n}\",\"\"])},function(e,t){e.exports=function(e){return\"string\"!=typeof e?e:(/^['\"].*['\"]$/.test(e)&&(e=e.slice(1,-1)),/[\"'() \\t\\n]/.test(e)?'\"'+e.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\")+'\"':e)}},function(e,t,n){e.exports=n.p+\"8c574ce84d5db50582b71f028e3c08b4.woff2\"},function(e,t,n){e.exports=n.p+\"aba400cf60d151ff7b3da7c862cbde2d.woff\"},function(e,t,n){e.exports=n.p+\"137778879005023b427be30df1f57d83.ttf\"},function(e,t,n){e.exports=n.p+\"bfec314a4943882a8e81f066004b74f3.woff2\"},function(e,t,n){e.exports=n.p+\"af2692f72b79d5935fe511236e05dbc8.woff\"},function(e,t,n){e.exports=n.p+\"1a77fe6d9f399212fcfcfde790ce66b2.ttf\"},function(e,t,n){e.exports=n.p+\"e0fea666fb73e683da8982050f509f81.woff2\"},function(e,t,n){e.exports=n.p+\"9e710fd112b1d07cf5277175c2dec679.woff\"},function(e,t,n){e.exports=n.p+\"e613bf534959b8c52533e77ea0cee44e.ttf\"},function(e,t,n){e.exports=n.p+\"5c4876bef50a7df9d8ac48af75ecf11c.woff2\"},function(e,t,n){e.exports=n.p+\"8027cf95961ca238debdd2352284e532.woff\"},function(e,t,n){e.exports=n.p+\"ea734aec73e961c5814b1b403c9b90c6.ttf\"},function(e,t,n){var r=n(83);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(83,function(){var t=n(83);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(84);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(84,function(){var t=n(84);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(85);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(85,function(){var t=n(85);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(86);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(86,function(){var t=n(86);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(87);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(87,function(){var t=n(87);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(88);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(88,function(){var t=n(88);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(89);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(89,function(){var t=n(89);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(90);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(90,function(){var t=n(90);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(91);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(91,function(){var t=n(91);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(92);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(92,function(){var t=n(92);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(93);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(93,function(){var t=n(93);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(94);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(94,function(){var t=n(94);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(95);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(95,function(){var t=n(95);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(96);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(96,function(){var t=n(96);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(97);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(97,function(){var t=n(97);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(98);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(98,function(){var t=n(98);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(99);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(99,function(){var t=n(99);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(100);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(100,function(){var t=n(100);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(101);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(101,function(){var t=n(101);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(102);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(102,function(){var t=n(102);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(103);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(103,function(){var t=n(103);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(104);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(104,function(){var t=n(104);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(105);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(105,function(){var t=n(105);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(106);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(106,function(){var t=n(106);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(107);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(107,function(){var t=n(107);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(108);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(108,function(){var t=n(108);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(110);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(110,function(){var t=n(110);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(111);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(111,function(){var t=n(111);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(112);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(112,function(){var t=n(112);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(113);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(113,function(){var t=n(113);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(114);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(114,function(){var t=n(114);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(115);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(115,function(){var t=n(115);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(116);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(116,function(){var t=n(116);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(117);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(117,function(){var t=n(117);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(118);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(118,function(){var t=n(118);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(119);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(119,function(){var t=n(119);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(120);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(120,function(){var t=n(120);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(121);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(121,function(){var t=n(121);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(122);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(122,function(){var t=n(122);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(123);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(123,function(){var t=n(123);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(124);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(124,function(){var t=n(124);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(125);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(125,function(){var t=n(125);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(126);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(126,function(){var t=n(126);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(127);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(127,function(){var t=n(127);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(128);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(128,function(){var t=n(128);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(129);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(129,function(){var t=n(129);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(130);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(130,function(){var t=n(130);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(131);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(131,function(){var t=n(131);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(132);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(132,function(){var t=n(132);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(133);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(133,function(){var t=n(133);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(134);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(134,function(){var t=n(134);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(135);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(135,function(){var t=n(135);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(136);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(136,function(){var t=n(136);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(137);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(137,function(){var t=n(137);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(138);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(138,function(){var t=n(138);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){\"use strict\";var r=n(367),i=n(13);function o(){}o.prototype={currentDecl:null,newGrammar:function(e){return new r(e)},grammar:function(e,t,n,i,o){var s=new r(t);n&&s.withSuperGrammar(this.fromRecipe(n)),i&&s.withDefaultStartRule(i),e&&e.source&&s.withSource(e.source);var a=this;return this.currentDecl=s,Object.keys(o).forEach(function(e){var t,n=o[e],r=n[0],i=n[1],u=n[2],l=n[3],c=a.fromRecipe(n[4]);s.source&&i&&i.sourceInterval&&(t=s.source.subInterval(i.sourceInterval[0],i.sourceInterval[1]-i.sourceInterval[0])),s[r](e,l,c,u,t)}),this.currentDecl=null,s.build()},terminal:function(e){return new i.Terminal(e)},range:function(e,t){return new i.Range(e,t)},param:function(e){return new i.Param(e)},alt:function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];n instanceof i.PExpr||(n=this.fromRecipe(n)),n instanceof i.Alt?e=e.concat(n.terms):e.push(n)}return 1===e.length?e[0]:new i.Alt(e)},seq:function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];n instanceof i.PExpr||(n=this.fromRecipe(n)),n instanceof i.Seq?e=e.concat(n.factors):e.push(n)}return 1===e.length?e[0]:new i.Seq(e)},star:function(e){return e instanceof i.PExpr||(e=this.fromRecipe(e)),new i.Star(e)},plus:function(e){return e instanceof i.PExpr||(e=this.fromRecipe(e)),new i.Plus(e)},opt:function(e){return e instanceof i.PExpr||(e=this.fromRecipe(e)),new i.Opt(e)},not:function(e){return e instanceof i.PExpr||(e=this.fromRecipe(e)),new i.Not(e)},la:function(e){return this.lookahead(e)},lookahead:function(e){return e instanceof i.PExpr||(e=this.fromRecipe(e)),new i.Lookahead(e)},lex:function(e){return e instanceof i.PExpr||(e=this.fromRecipe(e)),new i.Lex(e)},app:function(e,t){return t&&t.length>0&&(t=t.map(function(e){return e instanceof i.PExpr?e:this.fromRecipe(e)},this)),new i.Apply(e,t)},fromRecipe:function(e){var t=this[e[0]].apply(this,\"grammar\"===e[0]?e.slice(1):e.slice(2)),n=e[1];return n&&n.sourceInterval&&this.currentDecl&&t.withSource(this.currentDecl.sourceInterval.apply(this.currentDecl,n.sourceInterval)),t}},e.exports=o},function(e,t,n){\"use strict\";var r=n(139),i=n(142),o=n(10),s=n(27),a=n(13);function u(e){this.name=e}u.prototype.sourceInterval=function(e,t){return this.source.subInterval(e,t-e)},u.prototype.ensureSuperGrammar=function(){return this.superGrammar||this.withSuperGrammar(\"BuiltInRules\"===this.name?r.ProtoBuiltInRules:r.BuiltInRules),this.superGrammar},u.prototype.installOverriddenOrExtendedRule=function(e,t,n,r){var i=o.getDuplicates(t);if(i.length>0)throw s.duplicateParameterNames(e,i,r);var a=this.ensureSuperGrammar().rules[e],u=a.formals,l=u?u.length:0;if(t.length!==l)throw s.wrongNumberOfParameters(e,l,t.length,r);return this.install(e,t,n,a.description,r)},u.prototype.install=function(e,t,n,r,i){return this.rules[e]={body:n.introduceParams(t),formals:t,description:r,source:i},this},u.prototype.withSuperGrammar=function(e){if(this.superGrammar)throw new Error(\"the super grammar of a GrammarDecl cannot be set more than once\");return this.superGrammar=e,this.rules=Object.create(e.rules),e.isBuiltIn()||(this.defaultStartRule=e.defaultStartRule),this},u.prototype.withDefaultStartRule=function(e){return this.defaultStartRule=e,this},u.prototype.withSource=function(e){return this.source=new i(e).interval(0,e.length),this},u.prototype.build=function(){var e=new r(this.name,this.ensureSuperGrammar(),this.rules,this.defaultStartRule),t=[],n=!1;return Object.keys(e.rules).forEach(function(r){var i=e.rules[r].body;try{i.assertChoicesHaveUniformArity(r)}catch(e){t.push(e)}try{i.assertAllApplicationsAreValid(r,e)}catch(e){t.push(e),n=!0}}),n||Object.keys(e.rules).forEach(function(n){var r=e.rules[n].body;try{r.assertIteratedExprsAreNotNullable(e,n)}catch(e){t.push(e)}}),t.length>0&&s.throwErrors(t),this.source&&(e.source=this.source),e},u.prototype.define=function(e,t,n,r,i){if(this.ensureSuperGrammar(),this.superGrammar.rules[e])throw s.duplicateRuleDeclaration(e,this.name,this.superGrammar.name,i);if(this.rules[e])throw s.duplicateRuleDeclaration(e,this.name,this.name,i);var a=o.getDuplicates(t);if(a.length>0)throw s.duplicateParameterNames(e,a,i);return this.install(e,t,n,r,i)},u.prototype.override=function(e,t,n,r,i){if(!this.ensureSuperGrammar().rules[e])throw s.cannotOverrideUndeclaredRule(e,this.superGrammar.name,i);return this.installOverriddenOrExtendedRule(e,t,n,i),this},u.prototype.extend=function(e,t,n,r,i){if(!this.ensureSuperGrammar().rules[e])throw s.cannotExtendUndeclaredRule(e,this.superGrammar.name,i);var o=new a.Extend(this.superGrammar,e,n);return o.source=n.source,this.installOverriddenOrExtendedRule(e,t,o,i),this},e.exports=u},function(e,t,n){\"use strict\";var r=n(192),i=n(60).TerminalNode,o=n(10).assert,s=n(7),a=n(13);function u(e){this.obj=e}s(u,a.PExpr),u.prototype={_getString:function(e){var t=e.currentApplication().args[this.obj.index];return o(t instanceof a.Terminal,\"expected a Terminal expression\"),t.obj},allowsSkippingPrecedingSpace:function(){return!0},eval:function(e){var t=e.inputStream,n=t.pos,r=this._getString(e);return t.matchString(r,!0)?(e.pushBinding(new i(e.grammar,r),n),!0):(e.processFailure(n,this),!1)},generateExample:function(e,t,n,r){for(var i=this.obj.generateExample(e,t,n,r).value,o=\"\",s=0;s<i.length;++s)o+=Math.random()<.5?i[s].toLocaleLowerCase():i[s].toLocaleUpperCase();return{value:o}},getArity:function(){return 1},substituteParams:function(e){return new u(this.obj.substituteParams(e))},toDisplayString:function(){return this.obj.toDisplayString()+\" (case-insensitive)\"},toFailure:function(){return new r(this,this.obj.toFailure()+\" (case-insensitive)\",\"description\")},_isNullable:function(e,t){return this.obj._isNullable(e,t)}},e.exports=u},function(e,t){e.exports={Lu:/[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21]/,Ll:/[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0561-\\u0587\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7B5\\uA7B7\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43]/,Lt:/[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]/,Lm:/[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0]/,Lo:/[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10D0-\\u10FA\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,Nl:/[\\u16EE-\\u16F0\\u2160-\\u2182\\u2185-\\u2188\\u3007\\u3021-\\u3029\\u3038-\\u303A\\uA6E6-\\uA6EF]|\\uD800[\\uDD40-\\uDD74\\uDF41\\uDF4A\\uDFD1-\\uDFD5]|\\uD809[\\uDC00-\\uDC6E]/,Nd:/[0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]|\\uD801[\\uDCA0-\\uDCA9]|\\uD804[\\uDC66-\\uDC6F\\uDCF0-\\uDCF9\\uDD36-\\uDD3F\\uDDD0-\\uDDD9\\uDEF0-\\uDEF9]|[\\uD805\\uD807][\\uDC50-\\uDC59\\uDCD0-\\uDCD9\\uDE50-\\uDE59\\uDEC0-\\uDEC9\\uDF30-\\uDF39]|\\uD806[\\uDCE0-\\uDCE9]|\\uD81A[\\uDE60-\\uDE69\\uDF50-\\uDF59]|\\uD835[\\uDFCE-\\uDFFF]|\\uD83A[\\uDD50-\\uDD59]/,Mn:/[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D01\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC01\\uDC38-\\uDC46\\uDC7F-\\uDC81\\uDCB3-\\uDCB6\\uDCB9\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD2B\\uDD2D-\\uDD34\\uDD73\\uDD80\\uDD81\\uDDB6-\\uDDBE\\uDDCA-\\uDDCC\\uDE2F-\\uDE31\\uDE34\\uDE36\\uDE37\\uDE3E\\uDEDF\\uDEE3-\\uDEEA\\uDF00\\uDF01\\uDF3C\\uDF40\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC38-\\uDC3F\\uDC42-\\uDC44\\uDC46\\uDCB3-\\uDCB8\\uDCBA\\uDCBF\\uDCC0\\uDCC2\\uDCC3\\uDDB2-\\uDDB5\\uDDBC\\uDDBD\\uDDBF\\uDDC0\\uDDDC\\uDDDD\\uDE33-\\uDE3A\\uDE3D\\uDE3F\\uDE40\\uDEAB\\uDEAD\\uDEB0-\\uDEB5\\uDEB7\\uDF1D-\\uDF1F\\uDF22-\\uDF25\\uDF27-\\uDF2B]|\\uD807[\\uDC30-\\uDC36\\uDC38-\\uDC3D\\uDC3F\\uDC92-\\uDCA7\\uDCAA-\\uDCB0\\uDCB2\\uDCB3\\uDCB5\\uDCB6]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD67-\\uDD69\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A]|\\uDB40[\\uDD00-\\uDDEF]/,Mc:/[\\u0903-\\u0903]|[\\u093E-\\u0940]|[\\u0949-\\u094C]|[\\u0982-\\u0983]|[\\u09BE-\\u09C0]|[\\u09C7-\\u09C8]|[\\u09CB-\\u09CC]|[\\u09D7-\\u09D7]|[\\u0A3E-\\u0A40]|[\\u0A83-\\u0A83]|[\\u0ABE-\\u0AC0]|[\\u0AC9-\\u0AC9]|[\\u0ACB-\\u0ACC]|[\\u0B02-\\u0B03]|[\\u0B3E-\\u0B3E]|[\\u0B40-\\u0B40]|[\\u0B47-\\u0B48]|[\\u0B4B-\\u0B4C]|[\\u0B57-\\u0B57]|[\\u0B83-\\u0B83]|[\\u0BBE-\\u0BBF]|[\\u0BC1-\\u0BC2]|[\\u0BC6-\\u0BC8]|[\\u0BCA-\\u0BCC]|[\\u0BD7-\\u0BD7]|[\\u0C01-\\u0C03]|[\\u0C41-\\u0C44]|[\\u0C82-\\u0C83]|[\\u0CBE-\\u0CBE]|[\\u0CC0-\\u0CC4]|[\\u0CC7-\\u0CC8]|[\\u0CCA-\\u0CCB]|[\\u0CD5-\\u0CD6]|[\\u0D02-\\u0D03]|[\\u0D3E-\\u0D40]|[\\u0D46-\\u0D48]|[\\u0D4A-\\u0D4C]|[\\u0D57-\\u0D57]|[\\u0F3E-\\u0F3F]|[\\u0F7F-\\u0F7F]/,Pc:/[_\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]/,Zs:/[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/,L:/[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,Ltmo:/[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]|[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0]|[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10D0-\\u10FA\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.allowsSkippingPrecedingSpace=r.abstract(\"allowsSkippingPrecedingSpace\"),i.any.allowsSkippingPrecedingSpace=i.end.allowsSkippingPrecedingSpace=i.Apply.prototype.allowsSkippingPrecedingSpace=i.Terminal.prototype.allowsSkippingPrecedingSpace=i.Range.prototype.allowsSkippingPrecedingSpace=i.UnicodeChar.prototype.allowsSkippingPrecedingSpace=function(){return!0},i.Alt.prototype.allowsSkippingPrecedingSpace=i.Iter.prototype.allowsSkippingPrecedingSpace=i.Lex.prototype.allowsSkippingPrecedingSpace=i.Lookahead.prototype.allowsSkippingPrecedingSpace=i.Not.prototype.allowsSkippingPrecedingSpace=i.Param.prototype.allowsSkippingPrecedingSpace=i.Seq.prototype.allowsSkippingPrecedingSpace=function(){return!1}},function(e,t,n){\"use strict\";var r,i,o=n(10),s=n(27),a=n(13);n(43).awaitBuiltInRules(function(e){r=e}),a.PExpr.prototype.assertAllApplicationsAreValid=function(e,t){i=0,this._assertAllApplicationsAreValid(e,t)},a.PExpr.prototype._assertAllApplicationsAreValid=o.abstract(\"_assertAllApplicationsAreValid\"),a.any._assertAllApplicationsAreValid=a.end._assertAllApplicationsAreValid=a.Terminal.prototype._assertAllApplicationsAreValid=a.Range.prototype._assertAllApplicationsAreValid=a.Param.prototype._assertAllApplicationsAreValid=a.UnicodeChar.prototype._assertAllApplicationsAreValid=function(e,t){},a.Lex.prototype._assertAllApplicationsAreValid=function(e,t){i++,this.expr._assertAllApplicationsAreValid(e,t),i--},a.Alt.prototype._assertAllApplicationsAreValid=function(e,t){for(var n=0;n<this.terms.length;n++)this.terms[n]._assertAllApplicationsAreValid(e,t)},a.Seq.prototype._assertAllApplicationsAreValid=function(e,t){for(var n=0;n<this.factors.length;n++)this.factors[n]._assertAllApplicationsAreValid(e,t)},a.Iter.prototype._assertAllApplicationsAreValid=a.Not.prototype._assertAllApplicationsAreValid=a.Lookahead.prototype._assertAllApplicationsAreValid=function(e,t){this.expr._assertAllApplicationsAreValid(e,t)},a.Apply.prototype._assertAllApplicationsAreValid=function(e,t){var n=t.rules[this.ruleName];if(!n)throw s.undeclaredRule(this.ruleName,t.name,this.source);if(o.isSyntactic(this.ruleName)&&(!o.isSyntactic(e)||i>0))throw s.applicationOfSyntacticRuleFromLexicalContext(this.ruleName,this);var u=this.args.length,l=n.formals.length;if(u!==l)throw s.wrongNumberOfArguments(this.ruleName,l,u,this.source);var c=this;if(this.args.forEach(function(n){if(n._assertAllApplicationsAreValid(e,t),1!==n.getArity())throw s.invalidParameter(c.ruleName,n)}),r&&n===r.rules.caseInsensitive&&!(this.args[0]instanceof a.Terminal))throw s.incorrectArgumentType('a Terminal (e.g. \"abc\")',this.args[0])}},function(e,t,n){\"use strict\";var r=n(10),i=n(27),o=n(13);o.PExpr.prototype.assertChoicesHaveUniformArity=r.abstract(\"assertChoicesHaveUniformArity\"),o.any.assertChoicesHaveUniformArity=o.end.assertChoicesHaveUniformArity=o.Terminal.prototype.assertChoicesHaveUniformArity=o.Range.prototype.assertChoicesHaveUniformArity=o.Param.prototype.assertChoicesHaveUniformArity=o.Lex.prototype.assertChoicesHaveUniformArity=o.UnicodeChar.prototype.assertChoicesHaveUniformArity=function(e){},o.Alt.prototype.assertChoicesHaveUniformArity=function(e){if(0!==this.terms.length)for(var t=this.terms[0].getArity(),n=0;n<this.terms.length;n++){var r=this.terms[n];r.assertChoicesHaveUniformArity();var o=r.getArity();if(t!==o)throw i.inconsistentArity(e,t,o,r)}},o.Extend.prototype.assertChoicesHaveUniformArity=function(e){var t=this.terms[0].getArity(),n=this.terms[1].getArity();if(t!==n)throw i.inconsistentArity(e,n,t,this.terms[0])},o.Seq.prototype.assertChoicesHaveUniformArity=function(e){for(var t=0;t<this.factors.length;t++)this.factors[t].assertChoicesHaveUniformArity(e)},o.Iter.prototype.assertChoicesHaveUniformArity=function(e){this.expr.assertChoicesHaveUniformArity(e)},o.Not.prototype.assertChoicesHaveUniformArity=function(e){},o.Lookahead.prototype.assertChoicesHaveUniformArity=function(e){this.expr.assertChoicesHaveUniformArity(e)},o.Apply.prototype.assertChoicesHaveUniformArity=function(e){}},function(e,t,n){\"use strict\";var r=n(10),i=n(27),o=n(13);o.PExpr.prototype.assertIteratedExprsAreNotNullable=r.abstract(\"assertIteratedExprsAreNotNullable\"),o.any.assertIteratedExprsAreNotNullable=o.end.assertIteratedExprsAreNotNullable=o.Terminal.prototype.assertIteratedExprsAreNotNullable=o.Range.prototype.assertIteratedExprsAreNotNullable=o.Param.prototype.assertIteratedExprsAreNotNullable=o.UnicodeChar.prototype.assertIteratedExprsAreNotNullable=function(e,t){},o.Alt.prototype.assertIteratedExprsAreNotNullable=function(e,t){for(var n=0;n<this.terms.length;n++)this.terms[n].assertIteratedExprsAreNotNullable(e,t)},o.Seq.prototype.assertIteratedExprsAreNotNullable=function(e,t){for(var n=0;n<this.factors.length;n++)this.factors[n].assertIteratedExprsAreNotNullable(e,t)},o.Iter.prototype.assertIteratedExprsAreNotNullable=function(e,t){if(this.expr.assertIteratedExprsAreNotNullable(e,t),this.expr.isNullable(e))throw i.kleeneExprHasNullableOperand(this,t)},o.Opt.prototype.assertIteratedExprsAreNotNullable=o.Not.prototype.assertIteratedExprsAreNotNullable=o.Lookahead.prototype.assertIteratedExprsAreNotNullable=o.Lex.prototype.assertIteratedExprsAreNotNullable=function(e,t){this.expr.assertIteratedExprsAreNotNullable(e,t)},o.Apply.prototype.assertIteratedExprsAreNotNullable=function(e,t){this.args.forEach(function(n){n.assertIteratedExprsAreNotNullable(e,t)})}},function(e,t,n){\"use strict\";var r=n(10),i=n(60),o=n(13);o.PExpr.prototype.check=r.abstract(\"check\"),o.any.check=function(e,t){return t.length>=1},o.end.check=function(e,t){return t[0]instanceof i.Node&&t[0].isTerminal()&&void 0===t[0].primitiveValue},o.Terminal.prototype.check=function(e,t){return t[0]instanceof i.Node&&t[0].isTerminal()&&t[0].primitiveValue===this.obj},o.Range.prototype.check=function(e,t){return t[0]instanceof i.Node&&t[0].isTerminal()&&typeof t[0].primitiveValue==typeof this.from},o.Param.prototype.check=function(e,t){return t.length>=1},o.Alt.prototype.check=function(e,t){for(var n=0;n<this.terms.length;n++){if(this.terms[n].check(e,t))return!0}return!1},o.Seq.prototype.check=function(e,t){for(var n=0,r=0;r<this.factors.length;r++){var i=this.factors[r];if(!i.check(e,t.slice(n)))return!1;n+=i.getArity()}return!0},o.Iter.prototype.check=function(e,t){var n=this.getArity(),r=t.slice(0,n);if(r.length!==n)return!1;var i,o=r[0].length;for(i=1;i<n;i++)if(r[i].length!==o)return!1;for(i=0;i<o;i++){for(var s=[],a=0;a<n;a++)s.push(r[a][i]);if(!this.expr.check(e,s))return!1}return!0},o.Not.prototype.check=function(e,t){return!0},o.Lookahead.prototype.check=o.Lex.prototype.check=function(e,t){return this.expr.check(e,t)},o.Apply.prototype.check=function(e,t){if(!(t[0]instanceof i.Node&&t[0].grammar===e&&t[0].ctorName===this.ruleName))return!1;var n=t[0],r=e.rules[this.ruleName].body;return r.check(e,n.children)&&n.numChildren()===r.getArity()},o.UnicodeChar.prototype.check=function(e,t){return t[0]instanceof i.Node&&t[0].isTerminal()&&\"string\"==typeof t[0].primitiveValue}},function(e,t,n){\"use strict\";var r=n(194),i=n(10),o=n(60),s=n(13),a=o.TerminalNode,u=o.NonterminalNode,l=o.IterationNode;s.PExpr.prototype.eval=i.abstract(\"eval\"),s.any.eval=function(e){var t=e.inputStream,n=t.pos,r=t.next();return r?(e.pushBinding(new a(e.grammar,r),n),!0):(e.processFailure(n,this),!1)},s.end.eval=function(e){var t=e.inputStream,n=t.pos;return t.atEnd()?(e.pushBinding(new a(e.grammar,void 0),n),!0):(e.processFailure(n,this),!1)},s.Terminal.prototype.eval=function(e){var t=e.inputStream,n=t.pos;return t.matchString(this.obj)?(e.pushBinding(new a(e.grammar,this.obj),n),!0):(e.processFailure(n,this),!1)},s.Range.prototype.eval=function(e){var t=e.inputStream,n=t.pos,r=t.next();return r&&this.from<=r&&r<=this.to?(e.pushBinding(new a(e.grammar,r),n),!0):(e.processFailure(n,this),!1)},s.Param.prototype.eval=function(e){return e.eval(e.currentApplication().args[this.index])},s.Lex.prototype.eval=function(e){e.enterLexifiedContext();var t=e.eval(this.expr);return e.exitLexifiedContext(),t},s.Alt.prototype.eval=function(e){for(var t=0;t<this.terms.length;t++)if(e.eval(this.terms[t]))return!0;return!1},s.Seq.prototype.eval=function(e){for(var t=0;t<this.factors.length;t++){var n=this.factors[t];if(!e.eval(n))return!1}return!0},s.Iter.prototype.eval=function(e){for(var t=e.inputStream.pos,n=this.getArity(),r=[],i=[];r.length<n;)r.push([]),i.push([]);for(var o,a=0;a<this.maxNumMatches&&e.eval(this.expr);){a++;var u=e._bindings.splice(e._bindings.length-n,n),c=e._bindingOffsets.splice(e._bindingOffsets.length-n,n);for(o=0;o<u.length;o++)r[o].push(u[o]),i[o].push(c[o])}if(a<this.minNumMatches)return!1;var h=e.posToOffset(t),d=0;if(a>0){var p=r[n-1],f=i[n-1];d=f[f.length-1]+p[p.length-1].matchLength-(h=i[0][0])}var g=this instanceof s.Opt;for(o=0;o<r.length;o++)e._bindings.push(new l(e.grammar,r[o],i[o],d,g)),e._bindingOffsets.push(h);return!0},s.Not.prototype.eval=function(e){var t=e.inputStream,n=t.pos;e.pushFailuresInfo();var r=e.eval(this.expr);return e.popFailuresInfo(),r?(e.processFailure(n,this),!1):(t.pos=n,!0)},s.Lookahead.prototype.eval=function(e){var t=e.inputStream,n=t.pos;return!!e.eval(this.expr)&&(t.pos=n,!0)},s.Apply.prototype.eval=function(e){var t=e.currentApplication(),n=t?t.args:[],r=this.substituteParams(n),i=e.getCurrentPosInfo();if(i.isActive(r))return r.handleCycle(e);var o=r.toMemoKey(),s=i.memo[o];if(s&&i.shouldUseMemoizedResult(s)){if(e.hasNecessaryInfo(s))return e.useMemoizedResult(e.inputStream.pos,s);delete i.memo[o]}return r.reallyEval(e)},s.Apply.prototype.handleCycle=function(e){var t=e.getCurrentPosInfo(),n=t.currentLeftRecursion,r=this.toMemoKey(),i=t.memo[r];return n&&n.headApplication.toMemoKey()===r?i.updateInvolvedApplicationMemoKeys():i||(i=t.memoize(r,{matchLength:0,examinedLength:0,value:!1,rightmostFailureOffset:-1}),t.startLeftRecursion(this,i)),e.useMemoizedResult(e.inputStream.pos,i)},s.Apply.prototype.reallyEval=function(e){var t=e.inputStream,n=t.pos,r=e.getCurrentPosInfo(),o=e.grammar.rules[this.ruleName],s=o.body,a=o.description;e.enterApplication(r,this),a&&e.pushFailuresInfo();var u=t.examinedLength;t.examinedLength=0;var l,c=this.evalOnce(s,e),h=r.currentLeftRecursion,d=this.toMemoKey(),p=h&&h.headApplication.toMemoKey()===d;p?(c=this.growSeedResult(s,e,n,h,c),r.endLeftRecursion(),(l=h).examinedLength=t.examinedLength-n,l.rightmostFailureOffset=e._getRightmostFailureOffset(),r.memoize(d,l)):h&&h.isInvolved(d)||(l=r.memoize(d,{matchLength:t.pos-n,examinedLength:t.examinedLength-n,value:c,failuresAtRightmostPosition:e.cloneRecordedFailures(),rightmostFailureOffset:e._getRightmostFailureOffset()}));var f=!!c;if(a&&(e.popFailuresInfo(),f||e.processFailure(n,this),l&&(l.failuresAtRightmostPosition=e.cloneRecordedFailures())),e.isTracing()&&l){var g=e.getTraceEntry(n,this,f,f?[c]:[]);p&&(i.assert(null!=g.terminatingLREntry||!f),g.isHeadOfLeftRecursion=!0),l.traceEntry=g}return t.examinedLength=Math.max(t.examinedLength,u),e.exitApplication(r,c),f},s.Apply.prototype.evalOnce=function(e,t){var n=t.inputStream,r=n.pos;if(t.eval(e)){var i=e.getArity(),o=t._bindings.splice(t._bindings.length-i,i),s=t._bindingOffsets.splice(t._bindingOffsets.length-i,i);return new u(t.grammar,this.ruleName,o,s,n.pos-r)}return!1},s.Apply.prototype.growSeedResult=function(e,t,n,i,o){if(!o)return!1;for(var s=t.inputStream;;){if(i.matchLength=s.pos-n,i.value=o,i.failuresAtRightmostPosition=t.cloneRecordedFailures(),t.isTracing()){var a=t.trace[t.trace.length-1];i.traceEntry=new r(t.input,n,s.pos,this,!0,[o],[a.clone()])}if(s.pos=n,o=this.evalOnce(e,t),s.pos-n<=i.matchLength)break;t.isTracing()&&t.trace.splice(-2,1)}return t.isTracing()&&i.traceEntry.recordLRTermination(t.trace.pop(),o),s.pos=n+i.matchLength,i.value},s.UnicodeChar.prototype.eval=function(e){var t=e.inputStream,n=t.pos,r=t.next();return r&&this.pattern.test(r)?(e.pushBinding(new a(e.grammar,r),n),!0):(e.processFailure(n,this),!1)}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.getArity=r.abstract(\"getArity\"),i.any.getArity=i.end.getArity=i.Terminal.prototype.getArity=i.Range.prototype.getArity=i.Param.prototype.getArity=i.Apply.prototype.getArity=i.UnicodeChar.prototype.getArity=function(){return 1},i.Alt.prototype.getArity=function(){return 0===this.terms.length?0:this.terms[0].getArity()},i.Seq.prototype.getArity=function(){for(var e=0,t=0;t<this.factors.length;t++)e+=this.factors[t].getArity();return e},i.Iter.prototype.getArity=function(){return this.expr.getArity()},i.Not.prototype.getArity=function(){return 0},i.Lookahead.prototype.getArity=i.Lex.prototype.getArity=function(){return this.expr.getArity()}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);function o(e){var t,n=e.filter(function(e){return e.hasOwnProperty(\"examplesNeeded\")}).map(function(e){return e.examplesNeeded});t=n,n=Array.prototype.concat.apply([],t);for(var r={},i=0;i<n.length;i++){r[n[i]]=!0}return{examplesNeeded:n=Object.keys(r),successfulExamples:e.filter(function(e){return e.hasOwnProperty(\"value\")}).map(function(e){return e.value}),needHelp:e.some(function(e){return e.needHelp})}}i.PExpr.prototype.generateExample=r.abstract(\"generateExample\"),i.any.generateExample=function(e,t,n,r){return{value:String.fromCharCode(Math.floor(255*Math.random()))}},i.Terminal.prototype.generateExample=function(e,t,n){return{value:this.obj}},i.Range.prototype.generateExample=function(e,t,n){var r=this.to.charCodeAt(0)-this.from.charCodeAt(0);return{value:String.fromCharCode(this.from.charCodeAt(0)+Math.floor(r*Math.random()))}},i.Param.prototype.generateExample=function(e,t,n,r){return r[this.index].generateExample(e,t,n,r)},i.Alt.prototype.generateExample=function(e,t,n,r){var i=o(this.terms.map(function(i){return i.generateExample(e,t,n,r)})),s=i.examplesNeeded,a=i.successfulExamples,u=i.needHelp,l={};if(a.length>0){var c=Math.floor(Math.random()*a.length);l.value=a[c]}return s.length>0&&(l.examplesNeeded=s),l.needHelp=u,l},i.Seq.prototype.generateExample=function(e,t,n,r){var i=o(this.factors.map(function(i){return i.generateExample(e,t,n,r)})),s=i.examplesNeeded,a=i.successfulExamples,u=i.needHelp,l={};return s.length>0||u?(l.examplesNeeded=s,l.needHelp=u):l.value=a.join(n?\" \":\"\"),l},i.Iter.prototype.generateExample=function(e,t,n,r){for(var i=Math.min(this.maxNumMatches-this.minNumMatches,3),s=Math.floor(Math.random()*(i+1)+this.minNumMatches),a=[],u=0;u<s;u++)a.push(this.expr.generateExample(e,t,n,r));var l=o(a),c=l.examplesNeeded,h=l.successfulExamples,d={};return d.value=h.join(n?\" \":\"\"),c.length>0&&(d.examplesNeeded=c),d},i.Not.prototype.generateExample=function(e,t,n){return{value:\"\"}},i.Lookahead.prototype.generateExample=function(e,t,n){return{value:\"\"}},i.Lex.prototype.generateExample=function(e,t,n,r){return this.expr.generateExample(e,t,!1,r)},i.Apply.prototype.generateExample=function(e,t,n,r){var i={},o=this.substituteParams(r).toString();if(t.hasOwnProperty(o)){var s=t[o],a=Math.floor(Math.random()*s.length);i.value=s[a]}else i.examplesNeeded=[o];return i},i.UnicodeChar.prototype.generateExample=function(e,t,n,r){var i;switch(this.category){case\"Lu\":i=\"Á\";break;case\"Ll\":i=\"ŏ\";break;case\"Lt\":i=\"ǅ\";break;case\"Lm\":i=\"ˮ\";break;case\"Lo\":i=\"ƻ\";break;case\"Nl\":i=\"ↂ\";break;case\"Nd\":i=\"½\";break;case\"Mn\":i=\"҇\";break;case\"Mc\":i=\"ि\";break;case\"Pc\":i=\"⁀\";break;case\"Zs\":i=\" \";break;case\"L\":i=\"Á\";break;case\"Ltmo\":i=\"ǅ\"}return{value:i}}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);function o(e,t){var n={};if(e.source&&t){var r=e.source.relativeTo(t);n.sourceInterval=[r.startIdx,r.endIdx]}return n}i.PExpr.prototype.outputRecipe=r.abstract(\"outputRecipe\"),i.any.outputRecipe=function(e,t){return[\"any\",o(this,t)]},i.end.outputRecipe=function(e,t){return[\"end\",o(this,t)]},i.Terminal.prototype.outputRecipe=function(e,t){return[\"terminal\",o(this,t),this.obj]},i.Range.prototype.outputRecipe=function(e,t){return[\"range\",o(this,t),this.from,this.to]},i.Param.prototype.outputRecipe=function(e,t){return[\"param\",o(this,t),this.index]},i.Alt.prototype.outputRecipe=function(e,t){return[\"alt\",o(this,t)].concat(this.terms.map(function(n){return n.outputRecipe(e,t)}))},i.Extend.prototype.outputRecipe=function(e,t){return this.terms[0].outputRecipe(e,t)},i.Seq.prototype.outputRecipe=function(e,t){return[\"seq\",o(this,t)].concat(this.factors.map(function(n){return n.outputRecipe(e,t)}))},i.Star.prototype.outputRecipe=i.Plus.prototype.outputRecipe=i.Opt.prototype.outputRecipe=i.Not.prototype.outputRecipe=i.Lookahead.prototype.outputRecipe=i.Lex.prototype.outputRecipe=function(e,t){return[this.constructor.name.toLowerCase(),o(this,t),this.expr.outputRecipe(e,t)]},i.Apply.prototype.outputRecipe=function(e,t){return[\"app\",o(this,t),this.ruleName,this.args.map(function(n){return n.outputRecipe(e,t)})]},i.UnicodeChar.prototype.outputRecipe=function(e,t){return[\"unicodeChar\",o(this,t),this.category]}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.introduceParams=r.abstract(\"introduceParams\"),i.any.introduceParams=i.end.introduceParams=i.Terminal.prototype.introduceParams=i.Range.prototype.introduceParams=i.Param.prototype.introduceParams=i.UnicodeChar.prototype.introduceParams=function(e){return this},i.Alt.prototype.introduceParams=function(e){return this.terms.forEach(function(t,n,r){r[n]=t.introduceParams(e)}),this},i.Seq.prototype.introduceParams=function(e){return this.factors.forEach(function(t,n,r){r[n]=t.introduceParams(e)}),this},i.Iter.prototype.introduceParams=i.Not.prototype.introduceParams=i.Lookahead.prototype.introduceParams=i.Lex.prototype.introduceParams=function(e){return this.expr=this.expr.introduceParams(e),this},i.Apply.prototype.introduceParams=function(e){var t=e.indexOf(this.ruleName);if(t>=0){if(this.args.length>0)throw new Error(\"Parameterized rules cannot be passed as arguments to another rule.\");return new i.Param(t)}return this.args.forEach(function(t,n,r){r[n]=t.introduceParams(e)}),this}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.isNullable=function(e){return this._isNullable(e,Object.create(null))},i.PExpr.prototype._isNullable=r.abstract(\"_isNullable\"),i.any._isNullable=i.Range.prototype._isNullable=i.Param.prototype._isNullable=i.Plus.prototype._isNullable=i.UnicodeChar.prototype._isNullable=function(e,t){return!1},i.end._isNullable=function(e,t){return!0},i.Terminal.prototype._isNullable=function(e,t){return\"string\"==typeof this.obj&&\"\"===this.obj},i.Alt.prototype._isNullable=function(e,t){return 0===this.terms.length||this.terms.some(function(n){return n._isNullable(e,t)})},i.Seq.prototype._isNullable=function(e,t){return this.factors.every(function(n){return n._isNullable(e,t)})},i.Star.prototype._isNullable=i.Opt.prototype._isNullable=i.Not.prototype._isNullable=i.Lookahead.prototype._isNullable=function(e,t){return!0},i.Lex.prototype._isNullable=function(e,t){return this.expr._isNullable(e,t)},i.Apply.prototype._isNullable=function(e,t){var n=this.toMemoKey();if(!Object.prototype.hasOwnProperty.call(t,n)){var r=e.rules[this.ruleName].body.substituteParams(this.args);t[n]=!1,t[n]=r._isNullable(e,t)}return t[n]}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.substituteParams=r.abstract(\"substituteParams\"),i.any.substituteParams=i.end.substituteParams=i.Terminal.prototype.substituteParams=i.Range.prototype.substituteParams=i.UnicodeChar.prototype.substituteParams=function(e){return this},i.Param.prototype.substituteParams=function(e){return e[this.index]},i.Alt.prototype.substituteParams=function(e){return new i.Alt(this.terms.map(function(t){return t.substituteParams(e)}))},i.Seq.prototype.substituteParams=function(e){return new i.Seq(this.factors.map(function(t){return t.substituteParams(e)}))},i.Iter.prototype.substituteParams=i.Not.prototype.substituteParams=i.Lookahead.prototype.substituteParams=i.Lex.prototype.substituteParams=function(e){return new this.constructor(this.expr.substituteParams(e))},i.Apply.prototype.substituteParams=function(e){if(0===this.args.length)return this;var t=this.args.map(function(t){return t.substituteParams(e)});return new i.Apply(this.ruleName,t)}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.toDisplayString=r.abstract(\"toDisplayString\"),i.Alt.prototype.toDisplayString=i.Seq.prototype.toDisplayString=function(){return this.source?this.source.trimmed().contents:\"[\"+this.constructor.name+\"]\"},i.any.toDisplayString=i.end.toDisplayString=i.Iter.prototype.toDisplayString=i.Not.prototype.toDisplayString=i.Lookahead.prototype.toDisplayString=i.Lex.prototype.toDisplayString=i.Terminal.prototype.toDisplayString=i.Range.prototype.toDisplayString=i.Param.prototype.toDisplayString=function(){return this.toString()},i.Apply.prototype.toDisplayString=function(){if(this.args.length>0){var e=this.args.map(function(e){return e.toDisplayString()});return this.ruleName+\"<\"+e.join(\",\")+\">\"}return this.ruleName},i.UnicodeChar.prototype.toDisplayString=function(){return\"Unicode [\"+this.category+\"] character\"}},function(e,t,n){\"use strict\";var r=n(10),i=n(13),o=r.copyWithoutDuplicates;function s(e){return/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)}function a(e){var t=Object.create(null);e.forEach(function(e){t[e]=(t[e]||0)+1}),Object.keys(t).forEach(function(n){if(!(t[n]<=1)){var r=1;e.forEach(function(t,i){t===n&&(e[i]=t+\"_\"+r++)})}})}i.PExpr.prototype.toArgumentNameList=r.abstract(\"toArgumentNameList\"),i.any.toArgumentNameList=function(e,t){return[\"any\"]},i.end.toArgumentNameList=function(e,t){return[\"end\"]},i.Terminal.prototype.toArgumentNameList=function(e,t){return\"string\"==typeof this.obj&&/^[_a-zA-Z0-9]+$/.test(this.obj)?[\"_\"+this.obj]:[\"$\"+e]},i.Range.prototype.toArgumentNameList=function(e,t){var n=this.from+\"_to_\"+this.to;return s(n)||(n=\"_\"+n),s(n)||(n=\"$\"+e),[n]},i.Alt.prototype.toArgumentNameList=function(e,t){for(var n=this.terms.map(function(t){return t.toArgumentNameList(e,!0)}),r=[],i=n[0].length,s=0;s<i;s++){for(var u=[],l=0;l<this.terms.length;l++)u.push(n[l][s]);var c=o(u);r.push(c.join(\"_or_\"))}return t||a(r),r},i.Seq.prototype.toArgumentNameList=function(e,t){var n=[];return this.factors.forEach(function(t){var r=t.toArgumentNameList(e,!0);n=n.concat(r),e+=r.length}),t||a(n),n},i.Iter.prototype.toArgumentNameList=function(e,t){var n=this.expr.toArgumentNameList(e,t).map(function(e){return\"s\"===e[e.length-1]?e+\"es\":e+\"s\"});return t||a(n),n},i.Opt.prototype.toArgumentNameList=function(e,t){return this.expr.toArgumentNameList(e,t).map(function(e){return\"opt\"+e[0].toUpperCase()+e.slice(1)})},i.Not.prototype.toArgumentNameList=function(e,t){return[]},i.Lookahead.prototype.toArgumentNameList=i.Lex.prototype.toArgumentNameList=function(e,t){return this.expr.toArgumentNameList(e,t)},i.Apply.prototype.toArgumentNameList=function(e,t){return[this.ruleName]},i.UnicodeChar.prototype.toArgumentNameList=function(e,t){return[\"$\"+e]},i.Param.prototype.toArgumentNameList=function(e,t){return[\"param\"+this.index]}},function(e,t,n){\"use strict\";var r=n(192),i=n(10),o=n(13);o.PExpr.prototype.toFailure=i.abstract(\"toFailure\"),o.any.toFailure=function(e){return new r(this,\"any object\",\"description\")},o.end.toFailure=function(e){return new r(this,\"end of input\",\"description\")},o.Terminal.prototype.toFailure=function(e){return new r(this,this.obj,\"string\")},o.Range.prototype.toFailure=function(e){return new r(this,JSON.stringify(this.from)+\"..\"+JSON.stringify(this.to),\"code\")},o.Not.prototype.toFailure=function(e){var t=this.expr===o.any?\"nothing\":\"not \"+this.expr.toFailure(e);return new r(this,t,\"description\")},o.Lookahead.prototype.toFailure=function(e){return this.expr.toFailure(e)},o.Apply.prototype.toFailure=function(e){var t=e.rules[this.ruleName].description;t||(t=(/^[aeiouAEIOU]/.test(this.ruleName)?\"an\":\"a\")+\" \"+this.ruleName);return new r(this,t,\"description\")},o.UnicodeChar.prototype.toFailure=function(e){return new r(this,\"a Unicode [\"+this.category+\"] character\",\"description\")},o.Alt.prototype.toFailure=function(e){var t=\"(\"+this.terms.map(function(e){return e.toFailure()}).join(\" or \")+\")\";return new r(this,t,\"description\")},o.Seq.prototype.toFailure=function(e){var t=\"(\"+this.factors.map(function(e){return e.toFailure()}).join(\" \")+\")\";return new r(this,t,\"description\")},o.Iter.prototype.toFailure=function(e){var t=\"(\"+this.expr.toFailure()+this.operator+\")\";return new r(this,t,\"description\")}},function(e,t,n){\"use strict\";var r=n(10),i=n(13);i.PExpr.prototype.toString=r.abstract(\"toString\"),i.any.toString=function(){return\"any\"},i.end.toString=function(){return\"end\"},i.Terminal.prototype.toString=function(){return JSON.stringify(this.obj)},i.Range.prototype.toString=function(){return JSON.stringify(this.from)+\"..\"+JSON.stringify(this.to)},i.Param.prototype.toString=function(){return\"$\"+this.index},i.Lex.prototype.toString=function(){return\"#(\"+this.expr.toString()+\")\"},i.Alt.prototype.toString=function(){return 1===this.terms.length?this.terms[0].toString():\"(\"+this.terms.map(function(e){return e.toString()}).join(\" | \")+\")\"},i.Seq.prototype.toString=function(){return 1===this.factors.length?this.factors[0].toString():\"(\"+this.factors.map(function(e){return e.toString()}).join(\" \")+\")\"},i.Iter.prototype.toString=function(){return this.expr+this.operator},i.Not.prototype.toString=function(){return\"~\"+this.expr},i.Lookahead.prototype.toString=function(){return\"&\"+this.expr},i.Apply.prototype.toString=function(){if(this.args.length>0){var e=this.args.map(function(e){return e.toString()});return this.ruleName+\"<\"+e.join(\",\")+\">\"}return this.ruleName},i.UnicodeChar.prototype.toString=function(){return\"\\\\p{\"+this.category+\"}\"}},function(e,t,n){\"use strict\";var r=n(387),i=n(13);function o(e){this.grammar=e,this.memoTable=[],this.input=\"\"}o.prototype.getInput=function(){return this.input},o.prototype.setInput=function(e){return this.input!==e&&this.replaceInputRange(0,this.input.length,e),this},o.prototype.replaceInputRange=function(e,t,n){var r=this.input;if(e<0||e>r.length||t<0||t>r.length||e>t)throw new Error(\"Invalid indices: \"+e+\" and \"+t);this.input=r.slice(0,e)+n+r.slice(t);var i=this.memoTable.slice(t);this.memoTable.length=e;for(var o=0;o<n.length;o++)this.memoTable.push(void 0);i.forEach(function(e){this.memoTable.push(e)},this);for(var s=0;s<e;s++){var a=this.memoTable[s];a&&a.clearObsoleteEntries(s,e)}return this},o.prototype.match=function(e){return this._match(this._getStartExpr(e),!1)},o.prototype.trace=function(e){return this._match(this._getStartExpr(e),!0)},o.prototype._match=function(e,t,n){var i=new r(this,e,n);return t?i.getTrace():i.getMatchResult()},o.prototype._getStartExpr=function(e){var t=e||this.grammar.defaultStartRule;if(!t)throw new Error(\"Missing start rule argument -- the grammar has no default start rule.\");var n=this.grammar.parseApplication(t);return new i.Seq([n,i.end])},e.exports=o},function(e,t,n){\"use strict\";var r=n(142),i=n(143),o=n(388),s=n(194),a=n(13),u=new a.Apply(\"spaces\");function l(e,t,n){this.matcher=e,this.startExpr=t,this.grammar=e.grammar,this.input=e.input,this.inputStream=new r(e.input),this.memoTable=e.memoTable,this._bindings=[],this._bindingOffsets=[],this._applicationStack=[],this._posStack=[0],this.inLexifiedContextStack=[!1],this.rightmostFailurePosition=-1,this._rightmostFailurePositionStack=[],this._recordedFailuresStack=[],void 0!==n&&(this.positionToRecordFailures=n,this.recordedFailures=Object.create(null))}l.prototype={posToOffset:function(e){return e-this._posStack[this._posStack.length-1]},enterApplication:function(e,t){this._posStack.push(this.inputStream.pos),this._applicationStack.push(t),this.inLexifiedContextStack.push(!1),e.enter(t),this._rightmostFailurePositionStack.push(this.rightmostFailurePosition),this.rightmostFailurePosition=-1},exitApplication:function(e,t){var n=this._posStack.pop();this._applicationStack.pop(),this.inLexifiedContextStack.pop(),e.exit(),this.rightmostFailurePosition=Math.max(this.rightmostFailurePosition,this._rightmostFailurePositionStack.pop()),t&&this.pushBinding(t,n)},enterLexifiedContext:function(){this.inLexifiedContextStack.push(!0)},exitLexifiedContext:function(){this.inLexifiedContextStack.pop()},currentApplication:function(){return this._applicationStack[this._applicationStack.length-1]},inSyntacticContext:function(){if(\"string\"!=typeof this.inputStream.source)return!1;var e=this.currentApplication();return e?e.isSyntactic()&&!this.inLexifiedContext():this.startExpr.factors[0].isSyntactic()},inLexifiedContext:function(){return this.inLexifiedContextStack[this.inLexifiedContextStack.length-1]},skipSpaces:function(){return this.pushFailuresInfo(),this.eval(u),this.popBinding(),this.popFailuresInfo(),this.inputStream.pos},skipSpacesIfInSyntacticContext:function(){return this.inSyntacticContext()?this.skipSpaces():this.inputStream.pos},maybeSkipSpacesBefore:function(e){return e instanceof a.Apply&&e.isSyntactic()?this.skipSpaces():e.allowsSkippingPrecedingSpace()&&e!==u?this.skipSpacesIfInSyntacticContext():this.inputStream.pos},pushBinding:function(e,t){this._bindings.push(e),this._bindingOffsets.push(this.posToOffset(t))},popBinding:function(){this._bindings.pop(),this._bindingOffsets.pop()},numBindings:function(){return this._bindings.length},truncateBindings:function(e){for(;this._bindings.length>e;)this.popBinding()},getCurrentPosInfo:function(){return this.getPosInfo(this.inputStream.pos)},getPosInfo:function(e){var t=this.memoTable[e];return t||(t=this.memoTable[e]=new o),t},processFailure:function(e,t){if(this.rightmostFailurePosition=Math.max(this.rightmostFailurePosition,e),this.recordedFailures&&e===this.positionToRecordFailures){var n=this.currentApplication();n&&(t=t.substituteParams(n.args)),this.recordFailure(t.toFailure(this.grammar),!1)}},recordFailure:function(e,t){var n=e.toKey();this.recordedFailures[n]?this.recordedFailures[n].isFluffy()&&!e.isFluffy()&&this.recordedFailures[n].clearFluffy():this.recordedFailures[n]=t?e.clone():e},recordFailures:function(e,t){var n=this;Object.keys(e).forEach(function(r){n.recordFailure(e[r],t)})},cloneRecordedFailures:function(){if(this.recordedFailures){var e=Object.create(null),t=this;return Object.keys(this.recordedFailures).forEach(function(n){e[n]=t.recordedFailures[n].clone()}),e}},getRightmostFailurePosition:function(){return this.rightmostFailurePosition},_getRightmostFailureOffset:function(){return this.rightmostFailurePosition>=0?this.posToOffset(this.rightmostFailurePosition):-1},getMemoizedTraceEntry:function(e,t){var n=this.memoTable[e];if(n&&t.ruleName){var r=n.memo[t.toMemoKey()];if(r&&r.traceEntry){var i=r.traceEntry.cloneWithExpr(t);return i.isMemoized=!0,i}}return null},getTraceEntry:function(e,t,n,r){if(t instanceof a.Apply){var i=this.currentApplication(),o=i?i.args:[];t=t.substituteParams(o)}return this.getMemoizedTraceEntry(e,t)||new s(this.input,e,this.inputStream.pos,t,n,r,this.trace)},isTracing:function(){return!!this.trace},hasNecessaryInfo:function(e){return!(this.trace&&!e.traceEntry)&&(!this.recordedFailures||this.inputStream.pos+e.rightmostFailureOffset!==this.positionToRecordFailures||!!e.failuresAtRightmostPosition)},useMemoizedResult:function(e,t){this.trace&&this.trace.push(t.traceEntry);var n=this.inputStream.pos+t.rightmostFailureOffset;return this.rightmostFailurePosition=Math.max(this.rightmostFailurePosition,n),this.recordedFailures&&this.positionToRecordFailures===n&&t.failuresAtRightmostPosition&&this.recordFailures(t.failuresAtRightmostPosition,!0),this.inputStream.examinedLength=Math.max(this.inputStream.examinedLength,t.examinedLength+e),!!t.value&&(this.inputStream.pos+=t.matchLength,this.pushBinding(t.value,e),!0)},eval:function(e){var t,n=this.inputStream,r=this._bindings.length;this.recordedFailures&&(t=this.recordedFailures,this.recordedFailures=Object.create(null));var i,o=n.pos,s=this.maybeSkipSpacesBefore(e);this.trace&&(i=this.trace,this.trace=[]);var a=e.eval(this);if(this.trace){var l=this._bindings.slice(r),c=this.getTraceEntry(s,e,a,l);c.isImplicitSpaces=e===u,c.isRootNode=e===this.startExpr,i.push(c),this.trace=i}if(a){if(this.recordedFailures&&n.pos===this.positionToRecordFailures){var h=this;Object.keys(this.recordedFailures).forEach(function(e){h.recordedFailures[e].makeFluffy()})}}else n.pos=o,this.truncateBindings(r);return this.recordedFailures&&this.recordFailures(t,!1),a},getMatchResult:function(){var e;if(this.eval(this.startExpr),this.recordedFailures){var t=this;e=Object.keys(this.recordedFailures).map(function(e){return t.recordedFailures[e]})}return new i(this.matcher,this.input,this.startExpr,this._bindings[0],this._bindingOffsets[0],this.rightmostFailurePosition,e)},getTrace:function(){this.trace=[];var e=this.getMatchResult(),t=this.trace[this.trace.length-1];return t.result=e,t},pushFailuresInfo:function(){this._rightmostFailurePositionStack.push(this.rightmostFailurePosition),this._recordedFailuresStack.push(this.recordedFailures)},popFailuresInfo:function(){this.rightmostFailurePosition=this._rightmostFailurePositionStack.pop(),this.recordedFailures=this._recordedFailuresStack.pop()}},e.exports=l},function(e,t,n){\"use strict\";function r(){this.applicationMemoKeyStack=[],this.memo={},this.maxExaminedLength=0,this.maxRightmostFailureOffset=-1,this.currentLeftRecursion=void 0}r.prototype={isActive:function(e){return this.applicationMemoKeyStack.indexOf(e.toMemoKey())>=0},enter:function(e){this.applicationMemoKeyStack.push(e.toMemoKey())},exit:function(){this.applicationMemoKeyStack.pop()},startLeftRecursion:function(e,t){t.isLeftRecursion=!0,t.headApplication=e,t.nextLeftRecursion=this.currentLeftRecursion,this.currentLeftRecursion=t;var n=this.applicationMemoKeyStack,r=n.indexOf(e.toMemoKey())+1,i=n.slice(r);t.isInvolved=function(e){return i.indexOf(e)>=0},t.updateInvolvedApplicationMemoKeys=function(){for(var e=r;e<n.length;e++){var t=n[e];this.isInvolved(t)||i.push(t)}}},endLeftRecursion:function(){this.currentLeftRecursion=this.currentLeftRecursion.nextLeftRecursion},shouldUseMemoizedResult:function(e){if(!e.isLeftRecursion)return!0;for(var t=this.applicationMemoKeyStack,n=0;n<t.length;n++){var r=t[n];if(e.isInvolved(r))return!1}return!0},memoize:function(e,t){return this.memo[e]=t,this.maxExaminedLength=Math.max(this.maxExaminedLength,t.examinedLength),this.maxRightmostFailureOffset=Math.max(this.maxRightmostFailureOffset,t.rightmostFailureOffset),t},clearObsoleteEntries:function(e,t){if(!(e+this.maxExaminedLength<=t)){var n=this.memo;this.maxExaminedLength=0,this.maxRightmostFailureOffset=-1;var r=this;Object.keys(n).forEach(function(i){var o=n[i];e+o.examinedLength>t?delete n[i]:(r.maxExaminedLength=Math.max(r.maxExaminedLength,o.examinedLength),r.maxRightmostFailureOffset=Math.max(r.maxRightmostFailureOffset,o.rightmostFailureOffset))})}}},e.exports=r},function(e,t,n){\"use strict\";var r,i,o=n(390),s=n(7),a=n(142),u=n(60).IterationNode,l=n(143),c=n(10),h=n(27),d=n(43),p=[];function f(){}function g(e,t){var n=this;if(this.grammar=e,this.checkedActionDicts=!1,this.Wrapper=function(e,t,r){n.checkActionDictsIfHaventAlready(),this._semantics=n,this._node=e,this.source=t,this._baseInterval=r,e.isNonterminal()&&c.assert(t===r),this._childWrappers=[]},this.super=t,t){if(!e.equals(this.super.grammar)&&!e._inheritsFrom(this.super.grammar))throw new Error(\"Cannot extend a semantics for grammar '\"+this.super.grammar.name+\"' for use with grammar '\"+e.name+\"' (not a sub-grammar)\");for(var r in s(this.Wrapper,this.super.Wrapper),this.operations=Object.create(this.super.operations),this.attributes=Object.create(this.super.attributes),this.attributeKeys=Object.create(null),this.attributes)this.attributeKeys[r]=o()}else s(this.Wrapper,f),this.operations=Object.create(null),this.attributes=Object.create(null),this.attributeKeys=Object.create(null)}function m(e,t){if(!r)return c.assert(-1===e.indexOf(\"(\")),{name:e,formals:[]};var n=r.match(e,\"operation\"===t?\"OperationSignature\":\"AttributeSignature\");if(n.failed())throw new Error(n.message);return i(n).parse()}function v(e,t,n,r){this.name=e,this.formals=t,this.actionDict=n,this.builtInDefault=r}function y(e,t,n){this.name=e,this.formals=[],this.actionDict=t,this.builtInDefault=n}f.prototype.toString=function(){return\"[semantics wrapper for \"+this._node.grammar.name+\"]\"},f.prototype.toJSON=function(){return this.toString()},f.prototype._forgetMemoizedResultFor=function(e){delete this._node[this._semantics.attributeKeys[e]],this.children.forEach(function(t){t._forgetMemoizedResultFor(e)})},f.prototype.child=function(e){if(0<=e&&e<this._node.numChildren()){var t=this._childWrappers[e];if(!t){var n=this._node.childAt(e),r=this._node.childOffsets[e],i=this._baseInterval.subInterval(r,n.matchLength),o=n.isNonterminal()?i:this._baseInterval;t=this._childWrappers[e]=this._semantics.wrap(n,i,o)}return t}},f.prototype._children=function(){for(var e=0;e<this._node.numChildren();e++)this.child(e);return this._childWrappers},f.prototype.isIteration=function(){return this._node.isIteration()},f.prototype.isTerminal=function(){return this._node.isTerminal()},f.prototype.isNonterminal=function(){return this._node.isNonterminal()},f.prototype.isSyntactic=function(){return this.isNonterminal()&&this._node.isSyntactic()},f.prototype.isLexical=function(){return this.isNonterminal()&&this._node.isLexical()},f.prototype.isOptional=function(){return this._node.isOptional()},f.prototype.iteration=function(e){var t=e||[],n=t.map(function(e){return e._node}),r=new u(this._node.grammar,n,[],-1,!1),i=this._semantics.wrap(r,null,null);return i._childWrappers=t,i},Object.defineProperties(f.prototype,{children:{get:function(){return this._children()}},ctorName:{get:function(){return this._node.ctorName}},interval:{get:function(){throw new Error(\"The `interval` property is deprecated -- use `source` instead\")}},numChildren:{get:function(){return this._node.numChildren()}},primitiveValue:{get:function(){if(this.isTerminal())return this._node.primitiveValue;throw new TypeError(\"tried to access the 'primitiveValue' attribute of a non-terminal CST node\")}},sourceString:{get:function(){return this.source.contents}}}),g.prototype.toString=function(){return\"[semantics for \"+this.grammar.name+\"]\"},g.prototype.checkActionDictsIfHaventAlready=function(){this.checkedActionDicts||(this.checkActionDicts(),this.checkedActionDicts=!0)},g.prototype.checkActionDicts=function(){var e;for(e in this.operations)this.operations[e].checkActionDict(this.grammar);for(e in this.attributes)this.attributes[e].checkActionDict(this.grammar)},g.prototype.toRecipe=function(e){function t(e){return e.super!==g.BuiltInSemantics._getSemantics()}var n=\"(function(g) {\\n\";if(t(this)){n+=\"  var semantics = \"+this.super.toRecipe(!0)+\"(g\";for(var r=this.super.grammar,i=this.grammar;i!==r;)n+=\".superGrammar\",i=i.superGrammar;n+=\");\\n\",n+=\"  return g.extendSemantics(semantics)\"}else n+=\"  return g.createSemantics()\";return[\"Operation\",\"Attribute\"].forEach(function(e){var r=this[e.toLowerCase()+\"s\"];Object.keys(r).forEach(function(i){var o,s=i;r[i].formals.length>0&&(s+=\"(\"+r[i].formals.join(\", \")+\")\"),o=t(this)&&this.super[e.toLowerCase()+\"s\"][i]?\"extend\"+e:\"add\"+e,n+=\"\\n    .\"+o+\"(\"+JSON.stringify(s)+\", {\";var a=r[i].actionDict,u=[];Object.keys(a).forEach(function(e){r[i].builtInDefault!==a[e]&&u.push(\"\\n      \"+JSON.stringify(e)+\": \"+a[e].toString())}),n+=u.join(\",\"),n+=\"\\n    })\"},this)},this),n+=\";\\n  })\",e||(n=\"(function() {\\n  var grammar = this.fromRecipe(\"+function(e){return e.replace(/[\\u2028\\u2029]/g,function(e,t,n){var r=e.codePointAt(0).toString(16);return\"\\\\u\"+\"0000\".slice(r.length)+r})}(this.grammar.toRecipe())+\");\\n  var semantics = \"+n+\"(grammar);\\n  return semantics;\\n});\\n\"),n},g.prototype.addOperationOrAttribute=function(e,t,n){var r=e+\"s\",i=m(t,e),s=i.name,a=i.formals;this.assertNewName(s,e);var u=function(e,t,n){return function(r){var i=this,o=(this._semantics.operations[t]||this._semantics.attributes[t]).formals.map(function(e){return i.args[e]});if(this.isIteration())return r.map(function(e){return n.apply(e,o)});if(1===r.length)return n.apply(r[0],o);throw h.missingSemanticAction(this.ctorName,t,e,p)}}(e,s,d),l={_default:u};Object.keys(n).forEach(function(e){l[e]=n[e]});var c=\"operation\"===e?new v(s,a,l,u):new y(s,l,u);function d(){var t=this._semantics[r][s];if(arguments.length!==t.formals.length)throw new Error(\"Invalid number of arguments passed to \"+s+\" \"+e+\" (expected \"+t.formals.length+\", got \"+arguments.length+\")\");for(var n=Object.create(null),i=0;i<arguments.length;i++){n[t.formals[i]]=arguments[i]}var o=this.args;this.args=n;var a=t.execute(this._semantics,this);return this.args=o,a}c.checkActionDict(this.grammar),this[r][s]=c,\"operation\"===e?(this.Wrapper.prototype[s]=d,this.Wrapper.prototype[s].toString=function(){return\"[\"+s+\" operation]\"}):(Object.defineProperty(this.Wrapper.prototype,s,{get:d,configurable:!0}),this.attributeKeys[s]=o())},g.prototype.extendOperationOrAttribute=function(e,t,n){var r=e+\"s\";if(m(t,\"attribute\"),!(this.super&&t in this.super[r]))throw new Error(\"Cannot extend \"+e+\" '\"+t+\"': did not inherit an \"+e+\" with that name\");if(Object.prototype.hasOwnProperty.call(this[r],t))throw new Error(\"Cannot extend \"+e+\" '\"+t+\"' again\");var i=this[r][t].formals,o=this[r][t].actionDict,s=Object.create(o);Object.keys(n).forEach(function(e){s[e]=n[e]}),this[r][t]=\"operation\"===e?new v(t,i,s):new y(t,s),this[r][t].checkActionDict(this.grammar)},g.prototype.assertNewName=function(e,t){if(f.prototype.hasOwnProperty(e))throw new Error(\"Cannot add \"+t+\" '\"+e+\"': that's a reserved name\");if(e in this.operations)throw new Error(\"Cannot add \"+t+\" '\"+e+\"': an operation with that name already exists\");if(e in this.attributes)throw new Error(\"Cannot add \"+t+\" '\"+e+\"': an attribute with that name already exists\")},g.prototype.wrap=function(e,t,n){var r=n||t;return e instanceof this.Wrapper?e:new this.Wrapper(e,t,r)},g.createSemantics=function(e,t){var n=new g(e,void 0!==t?t:g.BuiltInSemantics._getSemantics()),r=function(t){if(!(t instanceof l))throw new TypeError(\"Semantics expected a MatchResult, but got \"+c.unexpectedObjToString(t));if(t.failed())throw new TypeError(\"cannot apply Semantics to \"+t.toString());var r=t._cst;if(r.grammar!==e)throw new Error(\"Cannot use a MatchResult from grammar '\"+r.grammar.name+\"' with a semantics for '\"+e.name+\"'\");var i=new a(t.input);return n.wrap(r,i.interval(t._cstOffset,t.input.length))};return r.addOperation=function(e,t){return n.addOperationOrAttribute(\"operation\",e,t),r},r.extendOperation=function(e,t){return n.extendOperationOrAttribute(\"operation\",e,t),r},r.addAttribute=function(e,t){return n.addOperationOrAttribute(\"attribute\",e,t),r},r.extendAttribute=function(e,t){return n.extendOperationOrAttribute(\"attribute\",e,t),r},r._getActionDict=function(t){var r=n.operations[t]||n.attributes[t];if(!r)throw new Error('\"'+t+'\" is not a valid operation or attribute name in this semantics for \"'+e.name+'\"');return r.actionDict},r._remove=function(e){var t;return e in n.operations?(t=n.operations[e],delete n.operations[e]):e in n.attributes&&(t=n.attributes[e],delete n.attributes[e]),delete n.Wrapper.prototype[e],t},r.getOperationNames=function(){return Object.keys(n.operations)},r.getAttributeNames=function(){return Object.keys(n.attributes)},r.getGrammar=function(){return n.grammar},r.toRecipe=function(e){return n.toRecipe(e)},r.toString=n.toString.bind(n),r._getSemantics=function(){return n},r},v.prototype.typeName=\"operation\",v.prototype.checkActionDict=function(e){e._checkTopDownActionDict(this.typeName,this.name,this.actionDict)},v.prototype.execute=function(e,t){try{var n=t._node.ctorName,r=this.actionDict[n];return r?(p.push([this,n]),this.doAction(e,t,r,t.isIteration())):t.isNonterminal()&&(r=this.actionDict._nonterminal)?(p.push([this,\"_nonterminal\",n]),this.doAction(e,t,r,!0)):(p.push([this,\"default action\",n]),this.doAction(e,t,this.actionDict._default,!0))}finally{p.pop()}},v.prototype.doAction=function(e,t,n,r){return r?n.call(t,t._children()):n.apply(t,t._children())},s(y,v),y.prototype.typeName=\"attribute\",y.prototype.execute=function(e,t){var n=t._node,r=e.attributeKeys[this.name];return n.hasOwnProperty(r)||(n[r]=v.prototype.execute.call(this,e,t)),n[r]},d.awaitBuiltInRules(function(e){var t,o=n(409);!function(e){var t={empty:function(){return this.iteration()},nonEmpty:function(e,t,n){return this.iteration([e].concat(n.children))}};g.BuiltInSemantics=g.createSemantics(e,null).addOperation(\"asIteration\",{emptyListOf:t.empty,nonemptyListOf:t.nonEmpty,EmptyListOf:t.empty,NonemptyListOf:t.nonEmpty})}(e),i=(t=o).createSemantics().addOperation(\"parse\",{AttributeSignature:function(e){return{name:e.parse(),formals:[]}},OperationSignature:function(e,t){return{name:e.parse(),formals:t.parse()[0]||[]}},Formals:function(e,t,n){return t.asIteration().parse()},name:function(e,t){return this.sourceString}}),r=t}),e.exports=g},function(e,t,n){\"use strict\";e.exports=n(391)()?Symbol:n(392)},function(e,t,n){\"use strict\";var r={object:!0,symbol:!0};e.exports=function(){var e;if(\"function\"!=typeof Symbol)return!1;e=Symbol(\"test symbol\");try{String(e)}catch(e){return!1}return!!r[typeof Symbol.iterator]&&(!!r[typeof Symbol.toPrimitive]&&!!r[typeof Symbol.toStringTag])}},function(e,t,n){\"use strict\";var r,i,o,s,a=n(393),u=n(407),l=Object.create,c=Object.defineProperties,h=Object.defineProperty,d=Object.prototype,p=l(null);if(\"function\"==typeof Symbol){r=Symbol;try{String(r()),s=!0}catch(e){}}var f,g=(f=l(null),function(e){for(var t,n,r=0;f[e+(r||\"\")];)++r;return f[e+=r||\"\"]=!0,h(d,t=\"@@\"+e,a.gs(null,function(e){n||(n=!0,h(this,t,a(e)),n=!1)})),t});o=function(e){if(this instanceof o)throw new TypeError(\"Symbol is not a constructor\");return i(e)},e.exports=i=function e(t){var n;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return s?r(t):(n=l(o.prototype),t=void 0===t?\"\":String(t),c(n,{__description__:a(\"\",t),__name__:a(\"\",g(t))}))},c(i,{for:a(function(e){return p[e]?p[e]:p[e]=i(String(e))}),keyFor:a(function(e){var t;for(t in u(e),p)if(p[t]===e)return t}),hasInstance:a(\"\",r&&r.hasInstance||i(\"hasInstance\")),isConcatSpreadable:a(\"\",r&&r.isConcatSpreadable||i(\"isConcatSpreadable\")),iterator:a(\"\",r&&r.iterator||i(\"iterator\")),match:a(\"\",r&&r.match||i(\"match\")),replace:a(\"\",r&&r.replace||i(\"replace\")),search:a(\"\",r&&r.search||i(\"search\")),species:a(\"\",r&&r.species||i(\"species\")),split:a(\"\",r&&r.split||i(\"split\")),toPrimitive:a(\"\",r&&r.toPrimitive||i(\"toPrimitive\")),toStringTag:a(\"\",r&&r.toStringTag||i(\"toStringTag\")),unscopables:a(\"\",r&&r.unscopables||i(\"unscopables\"))}),c(o.prototype,{constructor:a(i),toString:a(\"\",function(){return this.__name__})}),c(i.prototype,{toString:a(function(){return\"Symbol (\"+u(this).__description__+\")\"}),valueOf:a(function(){return u(this)})}),h(i.prototype,i.toPrimitive,a(\"\",function(){var e=u(this);return\"symbol\"==typeof e?e:e.toString()})),h(i.prototype,i.toStringTag,a(\"c\",\"Symbol\")),h(o.prototype,i.toStringTag,a(\"c\",i.prototype[i.toStringTag])),h(o.prototype,i.toPrimitive,a(\"c\",i.prototype[i.toPrimitive]))},function(e,t,n){\"use strict\";var r=n(394),i=n(402),o=n(403),s=n(404);(e.exports=function(e,t){var n,o,a,u,l;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],null==e?(n=a=!0,o=!1):(n=s.call(e,\"c\"),o=s.call(e,\"e\"),a=s.call(e,\"w\")),l={value:t,configurable:n,enumerable:o,writable:a},u?r(i(u),l):l}).gs=function(e,t,n){var a,u,l,c;return\"string\"!=typeof e?(l=n,n=t,t=e,e=null):l=arguments[3],null==t?t=void 0:o(t)?null==n?n=void 0:o(n)||(l=n,n=void 0):(l=t,t=n=void 0),null==e?(a=!0,u=!1):(a=s.call(e,\"c\"),u=s.call(e,\"e\")),c={get:t,set:n,configurable:a,enumerable:u},l?r(i(l),c):c}},function(e,t,n){\"use strict\";e.exports=n(395)()?Object.assign:n(396)},function(e,t,n){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(t(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},function(e,t,n){\"use strict\";var r=n(397),i=n(401),o=Math.max;e.exports=function(e,t){var n,s,a,u=o(arguments.length,2);for(e=Object(i(e)),a=function(r){try{e[r]=t[r]}catch(e){n||(n=e)}},s=1;s<u;++s)t=arguments[s],r(t).forEach(a);if(void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";e.exports=n(398)()?Object.keys:n(399)},function(e,t,n){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},function(e,t,n){\"use strict\";var r=n(144),i=Object.keys;e.exports=function(e){return i(r(e)?Object(e):e)}},function(e,t,n){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var r=n(144);e.exports=function(e){if(!r(e))throw new TypeError(\"Cannot use null or undefined\");return e}},function(e,t,n){\"use strict\";var r=n(144),i=Array.prototype.forEach,o=Object.create;e.exports=function(e){var t=o(null);return i.call(arguments,function(e){r(e)&&function(e,t){var n;for(n in e)t[n]=e[n]}(Object(e),t)}),t}},function(e,t,n){\"use strict\";e.exports=function(e){return\"function\"==typeof e}},function(e,t,n){\"use strict\";e.exports=n(405)()?String.prototype.contains:n(406)},function(e,t,n){\"use strict\";var r=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof r.contains&&(!0===r.contains(\"dwa\")&&!1===r.contains(\"foo\"))}},function(e,t,n){\"use strict\";var r=String.prototype.indexOf;e.exports=function(e){return r.call(this,e,arguments[1])>-1}},function(e,t,n){\"use strict\";var r=n(408);e.exports=function(e){if(!r(e))throw new TypeError(e+\" is not a symbol\");return e}},function(e,t,n){\"use strict\";e.exports=function(e){return!!e&&(\"symbol\"==typeof e||!!e.constructor&&(\"Symbol\"===e.constructor.name&&\"Symbol\"===e[e.constructor.toStringTag]))}},function(e,t,n){var r=n(50);e.exports=r.makeRecipe([\"grammar\",{source:'OperationsAndAttributes {\\n\\n  AttributeSignature =\\n    name\\n\\n  OperationSignature =\\n    name Formals?\\n\\n  Formals\\n    = \"(\" ListOf<name, \",\"> \")\"\\n\\n  name  (a name)\\n    = nameFirst nameRest*\\n\\n  nameFirst\\n    = \"_\"\\n    | letter\\n\\n  nameRest\\n    = \"_\"\\n    | alnum\\n\\n}'},\"OperationsAndAttributes\",null,\"AttributeSignature\",{AttributeSignature:[\"define\",{sourceInterval:[29,58]},null,[],[\"app\",{sourceInterval:[54,58]},\"name\",[]]],OperationSignature:[\"define\",{sourceInterval:[62,100]},null,[],[\"seq\",{sourceInterval:[87,100]},[\"app\",{sourceInterval:[87,91]},\"name\",[]],[\"opt\",{sourceInterval:[92,100]},[\"app\",{sourceInterval:[92,99]},\"Formals\",[]]]]],Formals:[\"define\",{sourceInterval:[104,143]},null,[],[\"seq\",{sourceInterval:[118,143]},[\"terminal\",{sourceInterval:[118,121]},\"(\"],[\"app\",{sourceInterval:[122,139]},\"ListOf\",[[\"app\",{sourceInterval:[129,133]},\"name\",[]],[\"terminal\",{sourceInterval:[135,138]},\",\"]]],[\"terminal\",{sourceInterval:[140,143]},\")\"]]],name:[\"define\",{sourceInterval:[147,187]},\"a name\",[],[\"seq\",{sourceInterval:[168,187]},[\"app\",{sourceInterval:[168,177]},\"nameFirst\",[]],[\"star\",{sourceInterval:[178,187]},[\"app\",{sourceInterval:[178,186]},\"nameRest\",[]]]]],nameFirst:[\"define\",{sourceInterval:[191,223]},null,[],[\"alt\",{sourceInterval:[207,223]},[\"terminal\",{sourceInterval:[207,210]},\"_\"],[\"app\",{sourceInterval:[217,223]},\"letter\",[]]]],nameRest:[\"define\",{sourceInterval:[227,257]},null,[],[\"alt\",{sourceInterval:[242,257]},[\"terminal\",{sourceInterval:[242,245]},\"_\"],[\"app\",{sourceInterval:[252,257]},\"alnum\",[]]]]}])},function(e,t,n){\"use strict\";e.exports=\"string\"==typeof browserifyGlobalOhmVersion?browserifyGlobalOhmVersion:n(411).version},function(e){e.exports={name:\"ohm-js\",version:\"0.14.0\",description:\"An object-oriented language for parsing and pattern matching\",repository:\"https://github.com/harc/ohm\",keywords:[\"parser\",\"compiler\",\"pattern matching\",\"pattern-matching\",\"ometa\",\"ometa/js\",\"ometa-js\",\"ometajs\",\"rapid\",\"prototyping\"],homepage:\"https://ohmlang.github.io/\",bugs:\"https://github.com/harc/ohm/issues\",main:\"src/main.js\",bin:\"src/ohm-cmd.js\",types:\"index.d.ts\",scripts:{prebootstrap:\"bash bin/prebootstrap\",bootstrap:\"bash bin/bootstrap --test || (echo 'Bootstrap failed.' && mv -v dist/ohm-grammar.js.old dist/ohm-grammar.js && mv -v dist/built-in-rules.js.old dist/built-in-rules.js && mv -v dist/operations-and-attributes.js.old dist/operations-and-attributes.js)\",build:\"node bin/build-debug.js && uglifyjs dist/ohm.js > dist/ohm.min.js\",\"prebuild-debug\":\"bash bin/update-env.sh\",\"build-debug\":\"bash bin/build-debug.sh\",\"ci-test\":\"npm run lint && npm test && ts-node test/test-typings.ts\",clean:\"rm -f dist/ohm.js dist/ohm.min.js\",\"deploy-gh-pages\":\"bin/deploy-gh-pages.sh\",lint:\"eslint .\",pretest:\"bash bin/update-env.sh\",test:\"tape 'test/**/*.js' | tap-spec\",\"test-watch\":\"bash bin/test-watch\",postinstall:\"node bin/dev-setup.js\",precommit:\"npm run prepublishOnly\",prepublishOnly:\"npm run lint && npm run build && npm run bootstrap\",\"unsafe-bootstrap\":\"bash bin/bootstrap\",visualizer:\"bash bin/ohm-visualizer\",watch:\"bash bin/watch.sh\"},license:\"MIT\",author:\"Alex Warth <alexwarth@gmail.com> (http://tinlizzie.org/~awarth)\",contributors:[\"Patrick Dubroy <pdubroy@gmail.com>\",\"Meixian Li <lmeixian@gmail.com>\",\"Marko Röder <m.roeder@photon-software.de>\",\"Tony Garnock-Jones <tonygarnockjones@gmail.com>\",\"Saketh Kasibatla <sake.kasi@gmail.com>\",\"Lionel Landwerlin <llandwerlin@gmail.com>\",\"Jason Merrill <jwmerrill@gmail.com>\",\"Yoshiki Ohshima <Yoshiki.Ohshima@acm.org>\",\"Ray Toal <rtoal@lmu.edu>\",\"Jonathan Edwards <JonathanMEdwards@gmail.com>\",\"Neil Jewers <njjewers@uwaterloo.ca>\",\"sfinnie <scott.finnie@gmail.com>\",\"Arthur Carabott <arthurc@gmail.com>\",\"Daniel Tomlinson <DanielTomlinson@me.com>\",\"Justin Chase <justin.m.chase@gmail.com>\",\"Leslie Ying <acetophore@users.noreply.github.com>\",\"Luca Guzzon <luca.guzzon@gmail.com>\",\"Mike Niebling <(none)>\",\"Milan Lajtoš <milan.lajtos@me.com>\",\"Stephan Seidt <stephan.seidt@gmail.com>\",\"acslk <d_vd415@hotmail.com>\",\"codeZeilen <codeZeilen@users.noreply.github.com>\",\"owch <bowenrainyday@gmail.com>\"],dependencies:{\"es6-symbol\":\"^3.1.0\",inherits:\"^2.0.3\",\"is-buffer\":\"^1.1.4\",\"util-extend\":\"^1.0.3\"},devDependencies:{\"@types/tape\":\"^4.2.29\",browserify:\"^13.1.1\",eslint:\"~3.13.1\",\"eslint-config-google\":\"~0.7.1\",\"eslint-plugin-camelcase-ohm\":\"~0.2.1\",\"eslint-plugin-no-extension-in-require\":\"~0.2.0\",\"eslint-plugin-tape\":\"~1.1.0\",husky:\"^0.14.3\",jsdom:\"^9.9.1\",json:\"^9.0.4\",markscript:\"^0.5.0\",\"node-static\":\"^0.7.9\",nodemon:\"^1.11.0\",\"tap-spec\":\"^4.1.1\",tape:\"^4.6.3\",\"tape-catch\":\"^1.0.6\",\"ts-node\":\"^2.1.0\",typescript:\"2.2.1\",\"uglify-js\":\"^2.7.5\",\"walk-sync\":\"^0.3.1\",watchify:\"^3.8.0\"},engines:{node:\">=0.12.1\"}}},function(e,t){function n(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}\n/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\ne.exports=function(e){return null!=e&&(n(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){\"use strict\";e.exports={VisitorFamily:n(414),semanticsForToAST:n(195).semantics,toAST:n(195).helper}},function(e,t,n){\"use strict\";var r=n(10).assert;function i(e){var t=e.split(/ ?\\[\\]/);return 2===t.length?function(e,t,n){return t[e].map(n)}.bind(null,t[0]):function(e,t,n){return n(t[e])}.bind(null,e)}function o(e,t,n){return e.map(function(e){return e(t,n)})}function s(e){return/^[a-zA-Z_][0-9a-zA-Z_]*$/.test(e)}function a(e){return e.trim()}function u(e){this._shapes=e.shapes,this._getTag=e.getTag,this.Adapter=function(e,t){this._adaptee=e,this._family=t},this.Adapter.prototype.valueOf=function(){throw new Error(\"heeey!\")},this.operations={},this._arities=Object.create(null),this._getChildren=Object.create(null);var t=this;Object.keys(this._shapes).forEach(function(e){var n=t._shapes[e];t._getChildren[e]=function(e){return\"string\"==typeof e?o.bind(null,[i(e)]):Array.isArray(e)?o.bind(null,e.map(i)):(r(\"function\"==typeof e,\"Expected a string, Array, or function\"),r(2===e.length,\"Expected a function of arity 2, got \"+e.length),e)}(n),\"function\"!=typeof n&&(t._arities[e]=Array.isArray(n)?n.length:1)}),this._wrap=function(e){return new t.Adapter(e,t)}}u.prototype.wrap=function(e){return this._wrap(e)},u.prototype._checkActionDict=function(e){var t=this;Object.keys(e).forEach(function(n){r(n in t._getChildren,\"Unrecognized action name '\"+n+\"'\");var i=e[n];if(r(\"function\"==typeof i,\"Key '\"+n+\"': expected function, got \"+i),n in t._arities){var o=t._arities[n],s=e[n].length;r(s===o,\"Action '\"+n+\"' has the wrong arity: expected \"+o+\", got \"+s)}})},u.prototype.addOperation=function(e,t){var n=function(e){var t=e.split(/[()]/).map(a);if(3===t.length&&\"\"===t[2]){var n=t[0],r=[];if(t[1].length>0&&(r=t[1].split(\",\").map(a)),s(n)&&r.every(s))return{name:n,formals:r}}throw new Error(\"Invalid operation signature: \"+e)}(e),i=n.name;this._checkActionDict(t),this.operations[i]={name:i,formals:n.formals,actions:t};var o=this;return this.Adapter.prototype[i]=function(){var e=o._getTag(this._adaptee);r(e in o._getChildren,\"getTag returned unrecognized tag '\"+e+\"'\"),r(e in t,\"No action for '\"+e+\"' in operation '\"+i+\"'\");for(var s=Object.create(null),a=0;a<arguments.length;a++)s[n.formals[a]]=arguments[a];var u=this.args;this.args=s;var l=t[e].apply(this,o._getChildren[e](this._adaptee,o._wrap));return this.args=u,l},this},e.exports=u},function(e,t,n){var r=n(50);e.exports=r.makeRecipe([\"grammar\",{source:'BuiltInRules {\\n\\n  alnum  (an alpha-numeric character)\\n    = letter\\n    | digit\\n\\n  letter  (a letter)\\n    = lower\\n    | upper\\n    | unicodeLtmo\\n\\n  digit  (a digit)\\n    = \"0\"..\"9\"\\n\\n  hexDigit  (a hexadecimal digit)\\n    = digit\\n    | \"a\"..\"f\"\\n    | \"A\"..\"F\"\\n\\n  ListOf<elem, sep>\\n    = NonemptyListOf<elem, sep>\\n    | EmptyListOf<elem, sep>\\n\\n  NonemptyListOf<elem, sep>\\n    = elem (sep elem)*\\n\\n  EmptyListOf<elem, sep>\\n    = /* nothing */\\n\\n  listOf<elem, sep>\\n    = nonemptyListOf<elem, sep>\\n    | emptyListOf<elem, sep>\\n\\n  nonemptyListOf<elem, sep>\\n    = elem (sep elem)*\\n\\n  emptyListOf<elem, sep>\\n    = /* nothing */\\n\\n}'},\"BuiltInRules\",null,null,{alnum:[\"define\",{sourceInterval:[18,78]},\"an alpha-numeric character\",[],[\"alt\",{sourceInterval:[60,78]},[\"app\",{sourceInterval:[60,66]},\"letter\",[]],[\"app\",{sourceInterval:[73,78]},\"digit\",[]]]],letter:[\"define\",{sourceInterval:[82,142]},\"a letter\",[],[\"alt\",{sourceInterval:[107,142]},[\"app\",{sourceInterval:[107,112]},\"lower\",[]],[\"app\",{sourceInterval:[119,124]},\"upper\",[]],[\"app\",{sourceInterval:[131,142]},\"unicodeLtmo\",[]]]],digit:[\"define\",{sourceInterval:[146,177]},\"a digit\",[],[\"range\",{sourceInterval:[169,177]},\"0\",\"9\"]],hexDigit:[\"define\",{sourceInterval:[181,254]},\"a hexadecimal digit\",[],[\"alt\",{sourceInterval:[219,254]},[\"app\",{sourceInterval:[219,224]},\"digit\",[]],[\"range\",{sourceInterval:[231,239]},\"a\",\"f\"],[\"range\",{sourceInterval:[246,254]},\"A\",\"F\"]]],ListOf:[\"define\",{sourceInterval:[258,336]},null,[\"elem\",\"sep\"],[\"alt\",{sourceInterval:[282,336]},[\"app\",{sourceInterval:[282,307]},\"NonemptyListOf\",[[\"param\",{},0],[\"param\",{},1]]],[\"app\",{sourceInterval:[314,336]},\"EmptyListOf\",[[\"param\",{},0],[\"param\",{},1]]]]],NonemptyListOf:[\"define\",{sourceInterval:[340,388]},null,[\"elem\",\"sep\"],[\"seq\",{sourceInterval:[372,388]},[\"param\",{},0],[\"star\",{sourceInterval:[377,388]},[\"seq\",{sourceInterval:[378,386]},[\"param\",{},1],[\"param\",{},0]]]]],EmptyListOf:[\"define\",{sourceInterval:[392,434]},null,[\"elem\",\"sep\"],[\"seq\",{sourceInterval:[438,438]}]],listOf:[\"define\",{sourceInterval:[438,516]},null,[\"elem\",\"sep\"],[\"alt\",{sourceInterval:[462,516]},[\"app\",{sourceInterval:[462,487]},\"nonemptyListOf\",[[\"param\",{},0],[\"param\",{},1]]],[\"app\",{sourceInterval:[494,516]},\"emptyListOf\",[[\"param\",{},0],[\"param\",{},1]]]]],nonemptyListOf:[\"define\",{sourceInterval:[520,568]},null,[\"elem\",\"sep\"],[\"seq\",{sourceInterval:[552,568]},[\"param\",{},0],[\"star\",{sourceInterval:[557,568]},[\"seq\",{sourceInterval:[558,566]},[\"param\",{},1],[\"param\",{},0]]]]],emptyListOf:[\"define\",{sourceInterval:[572,614]},null,[\"elem\",\"sep\"],[\"seq\",{sourceInterval:[616,616]}]]}])},function(e,t,n){var r=n(50);e.exports=r.makeRecipe([\"grammar\",{source:'Ohm {\\n\\n  Grammars\\n    = Grammar*\\n\\n  Grammar\\n    = ident SuperGrammar? \"{\" Rule* \"}\"\\n\\n  SuperGrammar\\n    = \"<:\" ident\\n\\n  Rule\\n    = ident Formals? ruleDescr? \"=\"  RuleBody  -- define\\n    | ident Formals?            \":=\" RuleBody  -- override\\n    | ident Formals?            \"+=\" RuleBody  -- extend\\n\\n  RuleBody\\n    = \"|\"? NonemptyListOf<TopLevelTerm, \"|\">\\n\\n  TopLevelTerm\\n    = Seq caseName  -- inline\\n    | Seq\\n\\n  Formals\\n    = \"<\" ListOf<ident, \",\"> \">\"\\n\\n  Params\\n    = \"<\" ListOf<Seq, \",\"> \">\"\\n\\n  Alt\\n    = NonemptyListOf<Seq, \"|\">\\n\\n  Seq\\n    = Iter*\\n\\n  Iter\\n    = Pred \"*\"  -- star\\n    | Pred \"+\"  -- plus\\n    | Pred \"?\"  -- opt\\n    | Pred\\n\\n  Pred\\n    = \"~\" Lex  -- not\\n    | \"&\" Lex  -- lookahead\\n    | Lex\\n\\n  Lex\\n    = \"#\" Base  -- lex\\n    | Base\\n\\n  Base\\n    = ident Params? ~(ruleDescr? \"=\" | \":=\" | \"+=\")  -- application\\n    | oneCharTerminal \"..\" oneCharTerminal           -- range\\n    | terminal                                       -- terminal\\n    | \"(\" Alt \")\"                                    -- paren\\n\\n  ruleDescr  (a rule description)\\n    = \"(\" ruleDescrText \")\"\\n\\n  ruleDescrText\\n    = (~\")\" any)*\\n\\n  caseName\\n    = \"--\" (~\"\\\\n\" space)* name (~\"\\\\n\" space)* (\"\\\\n\" | &\"}\")\\n\\n  name  (a name)\\n    = nameFirst nameRest*\\n\\n  nameFirst\\n    = \"_\"\\n    | letter\\n\\n  nameRest\\n    = \"_\"\\n    | alnum\\n\\n  ident  (an identifier)\\n    = name\\n\\n  terminal\\n    = \"\\\\\"\" terminalChar* \"\\\\\"\"\\n\\n  oneCharTerminal\\n    = \"\\\\\"\" terminalChar \"\\\\\"\"\\n\\n  terminalChar\\n    = escapeChar\\n    | ~\"\\\\\\\\\" ~\"\\\\\"\" ~\"\\\\n\" any\\n\\n  escapeChar  (an escape sequence)\\n    = \"\\\\\\\\\\\\\\\\\"                                     -- backslash\\n    | \"\\\\\\\\\\\\\"\"                                     -- doubleQuote\\n    | \"\\\\\\\\\\\\\\'\"                                     -- singleQuote\\n    | \"\\\\\\\\b\"                                      -- backspace\\n    | \"\\\\\\\\n\"                                      -- lineFeed\\n    | \"\\\\\\\\r\"                                      -- carriageReturn\\n    | \"\\\\\\\\t\"                                      -- tab\\n    | \"\\\\\\\\u\" hexDigit hexDigit hexDigit hexDigit  -- unicodeEscape\\n    | \"\\\\\\\\x\" hexDigit hexDigit                    -- hexEscape\\n\\n  space\\n   += comment\\n\\n  comment\\n    = \"//\" (~\"\\\\n\" any)* \"\\\\n\"  -- singleLine\\n    | \"/*\" (~\"*/\" any)* \"*/\"  -- multiLine\\n\\n  tokens = token*\\n\\n  token = caseName | comment | ident | operator | punctuation | terminal | any\\n\\n  operator = \"<:\" | \"=\" | \":=\" | \"+=\" | \"*\" | \"+\" | \"?\" | \"~\" | \"&\"\\n\\n  punctuation = \"<\" | \">\" | \",\" | \"--\"\\n}'},\"Ohm\",null,\"Grammars\",{Grammars:[\"define\",{sourceInterval:[9,32]},null,[],[\"star\",{sourceInterval:[24,32]},[\"app\",{sourceInterval:[24,31]},\"Grammar\",[]]]],Grammar:[\"define\",{sourceInterval:[36,83]},null,[],[\"seq\",{sourceInterval:[50,83]},[\"app\",{sourceInterval:[50,55]},\"ident\",[]],[\"opt\",{sourceInterval:[56,69]},[\"app\",{sourceInterval:[56,68]},\"SuperGrammar\",[]]],[\"terminal\",{sourceInterval:[70,73]},\"{\"],[\"star\",{sourceInterval:[74,79]},[\"app\",{sourceInterval:[74,78]},\"Rule\",[]]],[\"terminal\",{sourceInterval:[80,83]},\"}\"]]],SuperGrammar:[\"define\",{sourceInterval:[87,116]},null,[],[\"seq\",{sourceInterval:[106,116]},[\"terminal\",{sourceInterval:[106,110]},\"<:\"],[\"app\",{sourceInterval:[111,116]},\"ident\",[]]]],Rule_define:[\"define\",{sourceInterval:[131,181]},null,[],[\"seq\",{sourceInterval:[131,170]},[\"app\",{sourceInterval:[131,136]},\"ident\",[]],[\"opt\",{sourceInterval:[137,145]},[\"app\",{sourceInterval:[137,144]},\"Formals\",[]]],[\"opt\",{sourceInterval:[146,156]},[\"app\",{sourceInterval:[146,155]},\"ruleDescr\",[]]],[\"terminal\",{sourceInterval:[157,160]},\"=\"],[\"app\",{sourceInterval:[162,170]},\"RuleBody\",[]]]],Rule_override:[\"define\",{sourceInterval:[188,240]},null,[],[\"seq\",{sourceInterval:[188,227]},[\"app\",{sourceInterval:[188,193]},\"ident\",[]],[\"opt\",{sourceInterval:[194,202]},[\"app\",{sourceInterval:[194,201]},\"Formals\",[]]],[\"terminal\",{sourceInterval:[214,218]},\":=\"],[\"app\",{sourceInterval:[219,227]},\"RuleBody\",[]]]],Rule_extend:[\"define\",{sourceInterval:[247,297]},null,[],[\"seq\",{sourceInterval:[247,286]},[\"app\",{sourceInterval:[247,252]},\"ident\",[]],[\"opt\",{sourceInterval:[253,261]},[\"app\",{sourceInterval:[253,260]},\"Formals\",[]]],[\"terminal\",{sourceInterval:[273,277]},\"+=\"],[\"app\",{sourceInterval:[278,286]},\"RuleBody\",[]]]],Rule:[\"define\",{sourceInterval:[120,297]},null,[],[\"alt\",{sourceInterval:[131,297]},[\"app\",{sourceInterval:[131,170]},\"Rule_define\",[]],[\"app\",{sourceInterval:[188,227]},\"Rule_override\",[]],[\"app\",{sourceInterval:[247,286]},\"Rule_extend\",[]]]],RuleBody:[\"define\",{sourceInterval:[301,354]},null,[],[\"seq\",{sourceInterval:[316,354]},[\"opt\",{sourceInterval:[316,320]},[\"terminal\",{sourceInterval:[316,319]},\"|\"]],[\"app\",{sourceInterval:[321,354]},\"NonemptyListOf\",[[\"app\",{sourceInterval:[336,348]},\"TopLevelTerm\",[]],[\"terminal\",{sourceInterval:[350,353]},\"|\"]]]]],TopLevelTerm_inline:[\"define\",{sourceInterval:[377,400]},null,[],[\"seq\",{sourceInterval:[377,389]},[\"app\",{sourceInterval:[377,380]},\"Seq\",[]],[\"app\",{sourceInterval:[381,389]},\"caseName\",[]]]],TopLevelTerm:[\"define\",{sourceInterval:[358,410]},null,[],[\"alt\",{sourceInterval:[377,410]},[\"app\",{sourceInterval:[377,389]},\"TopLevelTerm_inline\",[]],[\"app\",{sourceInterval:[407,410]},\"Seq\",[]]]],Formals:[\"define\",{sourceInterval:[414,454]},null,[],[\"seq\",{sourceInterval:[428,454]},[\"terminal\",{sourceInterval:[428,431]},\"<\"],[\"app\",{sourceInterval:[432,450]},\"ListOf\",[[\"app\",{sourceInterval:[439,444]},\"ident\",[]],[\"terminal\",{sourceInterval:[446,449]},\",\"]]],[\"terminal\",{sourceInterval:[451,454]},\">\"]]],Params:[\"define\",{sourceInterval:[458,495]},null,[],[\"seq\",{sourceInterval:[471,495]},[\"terminal\",{sourceInterval:[471,474]},\"<\"],[\"app\",{sourceInterval:[475,491]},\"ListOf\",[[\"app\",{sourceInterval:[482,485]},\"Seq\",[]],[\"terminal\",{sourceInterval:[487,490]},\",\"]]],[\"terminal\",{sourceInterval:[492,495]},\">\"]]],Alt:[\"define\",{sourceInterval:[499,533]},null,[],[\"app\",{sourceInterval:[509,533]},\"NonemptyListOf\",[[\"app\",{sourceInterval:[524,527]},\"Seq\",[]],[\"terminal\",{sourceInterval:[529,532]},\"|\"]]]],Seq:[\"define\",{sourceInterval:[537,552]},null,[],[\"star\",{sourceInterval:[547,552]},[\"app\",{sourceInterval:[547,551]},\"Iter\",[]]]],Iter_star:[\"define\",{sourceInterval:[567,584]},null,[],[\"seq\",{sourceInterval:[567,575]},[\"app\",{sourceInterval:[567,571]},\"Pred\",[]],[\"terminal\",{sourceInterval:[572,575]},\"*\"]]],Iter_plus:[\"define\",{sourceInterval:[591,608]},null,[],[\"seq\",{sourceInterval:[591,599]},[\"app\",{sourceInterval:[591,595]},\"Pred\",[]],[\"terminal\",{sourceInterval:[596,599]},\"+\"]]],Iter_opt:[\"define\",{sourceInterval:[615,631]},null,[],[\"seq\",{sourceInterval:[615,623]},[\"app\",{sourceInterval:[615,619]},\"Pred\",[]],[\"terminal\",{sourceInterval:[620,623]},\"?\"]]],Iter:[\"define\",{sourceInterval:[556,642]},null,[],[\"alt\",{sourceInterval:[567,642]},[\"app\",{sourceInterval:[567,575]},\"Iter_star\",[]],[\"app\",{sourceInterval:[591,599]},\"Iter_plus\",[]],[\"app\",{sourceInterval:[615,623]},\"Iter_opt\",[]],[\"app\",{sourceInterval:[638,642]},\"Pred\",[]]]],Pred_not:[\"define\",{sourceInterval:[657,672]},null,[],[\"seq\",{sourceInterval:[657,664]},[\"terminal\",{sourceInterval:[657,660]},\"~\"],[\"app\",{sourceInterval:[661,664]},\"Lex\",[]]]],Pred_lookahead:[\"define\",{sourceInterval:[679,700]},null,[],[\"seq\",{sourceInterval:[679,686]},[\"terminal\",{sourceInterval:[679,682]},\"&\"],[\"app\",{sourceInterval:[683,686]},\"Lex\",[]]]],Pred:[\"define\",{sourceInterval:[646,710]},null,[],[\"alt\",{sourceInterval:[657,710]},[\"app\",{sourceInterval:[657,664]},\"Pred_not\",[]],[\"app\",{sourceInterval:[679,686]},\"Pred_lookahead\",[]],[\"app\",{sourceInterval:[707,710]},\"Lex\",[]]]],Lex_lex:[\"define\",{sourceInterval:[724,740]},null,[],[\"seq\",{sourceInterval:[724,732]},[\"terminal\",{sourceInterval:[724,727]},\"#\"],[\"app\",{sourceInterval:[728,732]},\"Base\",[]]]],Lex:[\"define\",{sourceInterval:[714,751]},null,[],[\"alt\",{sourceInterval:[724,751]},[\"app\",{sourceInterval:[724,732]},\"Lex_lex\",[]],[\"app\",{sourceInterval:[747,751]},\"Base\",[]]]],Base_application:[\"define\",{sourceInterval:[766,827]},null,[],[\"seq\",{sourceInterval:[766,811]},[\"app\",{sourceInterval:[766,771]},\"ident\",[]],[\"opt\",{sourceInterval:[772,779]},[\"app\",{sourceInterval:[772,778]},\"Params\",[]]],[\"not\",{sourceInterval:[780,811]},[\"alt\",{sourceInterval:[782,810]},[\"seq\",{sourceInterval:[782,796]},[\"opt\",{sourceInterval:[782,792]},[\"app\",{sourceInterval:[782,791]},\"ruleDescr\",[]]],[\"terminal\",{sourceInterval:[793,796]},\"=\"]],[\"terminal\",{sourceInterval:[799,803]},\":=\"],[\"terminal\",{sourceInterval:[806,810]},\"+=\"]]]]],Base_range:[\"define\",{sourceInterval:[834,889]},null,[],[\"seq\",{sourceInterval:[834,870]},[\"app\",{sourceInterval:[834,849]},\"oneCharTerminal\",[]],[\"terminal\",{sourceInterval:[850,854]},\"..\"],[\"app\",{sourceInterval:[855,870]},\"oneCharTerminal\",[]]]],Base_terminal:[\"define\",{sourceInterval:[896,954]},null,[],[\"app\",{sourceInterval:[896,904]},\"terminal\",[]]],Base_paren:[\"define\",{sourceInterval:[961,1016]},null,[],[\"seq\",{sourceInterval:[961,972]},[\"terminal\",{sourceInterval:[961,964]},\"(\"],[\"app\",{sourceInterval:[965,968]},\"Alt\",[]],[\"terminal\",{sourceInterval:[969,972]},\")\"]]],Base:[\"define\",{sourceInterval:[755,1016]},null,[],[\"alt\",{sourceInterval:[766,1016]},[\"app\",{sourceInterval:[766,811]},\"Base_application\",[]],[\"app\",{sourceInterval:[834,870]},\"Base_range\",[]],[\"app\",{sourceInterval:[896,904]},\"Base_terminal\",[]],[\"app\",{sourceInterval:[961,972]},\"Base_paren\",[]]]],ruleDescr:[\"define\",{sourceInterval:[1020,1079]},\"a rule description\",[],[\"seq\",{sourceInterval:[1058,1079]},[\"terminal\",{sourceInterval:[1058,1061]},\"(\"],[\"app\",{sourceInterval:[1062,1075]},\"ruleDescrText\",[]],[\"terminal\",{sourceInterval:[1076,1079]},\")\"]]],ruleDescrText:[\"define\",{sourceInterval:[1083,1114]},null,[],[\"star\",{sourceInterval:[1103,1114]},[\"seq\",{sourceInterval:[1104,1112]},[\"not\",{sourceInterval:[1104,1108]},[\"terminal\",{sourceInterval:[1105,1108]},\")\"]],[\"app\",{sourceInterval:[1109,1112]},\"any\",[]]]]],caseName:[\"define\",{sourceInterval:[1118,1186]},null,[],[\"seq\",{sourceInterval:[1133,1186]},[\"terminal\",{sourceInterval:[1133,1137]},\"--\"],[\"star\",{sourceInterval:[1138,1152]},[\"seq\",{sourceInterval:[1139,1150]},[\"not\",{sourceInterval:[1139,1144]},[\"terminal\",{sourceInterval:[1140,1144]},\"\\n\"]],[\"app\",{sourceInterval:[1145,1150]},\"space\",[]]]],[\"app\",{sourceInterval:[1153,1157]},\"name\",[]],[\"star\",{sourceInterval:[1158,1172]},[\"seq\",{sourceInterval:[1159,1170]},[\"not\",{sourceInterval:[1159,1164]},[\"terminal\",{sourceInterval:[1160,1164]},\"\\n\"]],[\"app\",{sourceInterval:[1165,1170]},\"space\",[]]]],[\"alt\",{sourceInterval:[1174,1185]},[\"terminal\",{sourceInterval:[1174,1178]},\"\\n\"],[\"lookahead\",{sourceInterval:[1181,1185]},[\"terminal\",{sourceInterval:[1182,1185]},\"}\"]]]]],name:[\"define\",{sourceInterval:[1190,1230]},\"a name\",[],[\"seq\",{sourceInterval:[1211,1230]},[\"app\",{sourceInterval:[1211,1220]},\"nameFirst\",[]],[\"star\",{sourceInterval:[1221,1230]},[\"app\",{sourceInterval:[1221,1229]},\"nameRest\",[]]]]],nameFirst:[\"define\",{sourceInterval:[1234,1266]},null,[],[\"alt\",{sourceInterval:[1250,1266]},[\"terminal\",{sourceInterval:[1250,1253]},\"_\"],[\"app\",{sourceInterval:[1260,1266]},\"letter\",[]]]],nameRest:[\"define\",{sourceInterval:[1270,1300]},null,[],[\"alt\",{sourceInterval:[1285,1300]},[\"terminal\",{sourceInterval:[1285,1288]},\"_\"],[\"app\",{sourceInterval:[1295,1300]},\"alnum\",[]]]],ident:[\"define\",{sourceInterval:[1304,1337]},\"an identifier\",[],[\"app\",{sourceInterval:[1333,1337]},\"name\",[]]],terminal:[\"define\",{sourceInterval:[1341,1379]},null,[],[\"seq\",{sourceInterval:[1356,1379]},[\"terminal\",{sourceInterval:[1356,1360]},'\"'],[\"star\",{sourceInterval:[1361,1374]},[\"app\",{sourceInterval:[1361,1373]},\"terminalChar\",[]]],[\"terminal\",{sourceInterval:[1375,1379]},'\"']]],oneCharTerminal:[\"define\",{sourceInterval:[1383,1427]},null,[],[\"seq\",{sourceInterval:[1405,1427]},[\"terminal\",{sourceInterval:[1405,1409]},'\"'],[\"app\",{sourceInterval:[1410,1422]},\"terminalChar\",[]],[\"terminal\",{sourceInterval:[1423,1427]},'\"']]],terminalChar:[\"define\",{sourceInterval:[1431,1488]},null,[],[\"alt\",{sourceInterval:[1450,1488]},[\"app\",{sourceInterval:[1450,1460]},\"escapeChar\",[]],[\"seq\",{sourceInterval:[1467,1488]},[\"not\",{sourceInterval:[1467,1472]},[\"terminal\",{sourceInterval:[1468,1472]},\"\\\\\"]],[\"not\",{sourceInterval:[1473,1478]},[\"terminal\",{sourceInterval:[1474,1478]},'\"']],[\"not\",{sourceInterval:[1479,1484]},[\"terminal\",{sourceInterval:[1480,1484]},\"\\n\"]],[\"app\",{sourceInterval:[1485,1488]},\"any\",[]]]]],escapeChar_backslash:[\"define\",{sourceInterval:[1531,1586]},null,[],[\"terminal\",{sourceInterval:[1531,1537]},\"\\\\\\\\\"]],escapeChar_doubleQuote:[\"define\",{sourceInterval:[1593,1650]},null,[],[\"terminal\",{sourceInterval:[1593,1599]},'\\\\\"']],escapeChar_singleQuote:[\"define\",{sourceInterval:[1657,1714]},null,[],[\"terminal\",{sourceInterval:[1657,1663]},\"\\\\'\"]],escapeChar_backspace:[\"define\",{sourceInterval:[1721,1776]},null,[],[\"terminal\",{sourceInterval:[1721,1726]},\"\\\\b\"]],escapeChar_lineFeed:[\"define\",{sourceInterval:[1783,1837]},null,[],[\"terminal\",{sourceInterval:[1783,1788]},\"\\\\n\"]],escapeChar_carriageReturn:[\"define\",{sourceInterval:[1844,1904]},null,[],[\"terminal\",{sourceInterval:[1844,1849]},\"\\\\r\"]],escapeChar_tab:[\"define\",{sourceInterval:[1911,1960]},null,[],[\"terminal\",{sourceInterval:[1911,1916]},\"\\\\t\"]],escapeChar_unicodeEscape:[\"define\",{sourceInterval:[1967,2026]},null,[],[\"seq\",{sourceInterval:[1967,2008]},[\"terminal\",{sourceInterval:[1967,1972]},\"\\\\u\"],[\"app\",{sourceInterval:[1973,1981]},\"hexDigit\",[]],[\"app\",{sourceInterval:[1982,1990]},\"hexDigit\",[]],[\"app\",{sourceInterval:[1991,1999]},\"hexDigit\",[]],[\"app\",{sourceInterval:[2e3,2008]},\"hexDigit\",[]]]],escapeChar_hexEscape:[\"define\",{sourceInterval:[2033,2088]},null,[],[\"seq\",{sourceInterval:[2033,2056]},[\"terminal\",{sourceInterval:[2033,2038]},\"\\\\x\"],[\"app\",{sourceInterval:[2039,2047]},\"hexDigit\",[]],[\"app\",{sourceInterval:[2048,2056]},\"hexDigit\",[]]]],escapeChar:[\"define\",{sourceInterval:[1492,2088]},\"an escape sequence\",[],[\"alt\",{sourceInterval:[1531,2088]},[\"app\",{sourceInterval:[1531,1537]},\"escapeChar_backslash\",[]],[\"app\",{sourceInterval:[1593,1599]},\"escapeChar_doubleQuote\",[]],[\"app\",{sourceInterval:[1657,1663]},\"escapeChar_singleQuote\",[]],[\"app\",{sourceInterval:[1721,1726]},\"escapeChar_backspace\",[]],[\"app\",{sourceInterval:[1783,1788]},\"escapeChar_lineFeed\",[]],[\"app\",{sourceInterval:[1844,1849]},\"escapeChar_carriageReturn\",[]],[\"app\",{sourceInterval:[1911,1916]},\"escapeChar_tab\",[]],[\"app\",{sourceInterval:[1967,2008]},\"escapeChar_unicodeEscape\",[]],[\"app\",{sourceInterval:[2033,2056]},\"escapeChar_hexEscape\",[]]]],space:[\"extend\",{sourceInterval:[2092,2111]},null,[],[\"app\",{sourceInterval:[2104,2111]},\"comment\",[]]],comment_singleLine:[\"define\",{sourceInterval:[2129,2166]},null,[],[\"seq\",{sourceInterval:[2129,2151]},[\"terminal\",{sourceInterval:[2129,2133]},\"//\"],[\"star\",{sourceInterval:[2134,2146]},[\"seq\",{sourceInterval:[2135,2144]},[\"not\",{sourceInterval:[2135,2140]},[\"terminal\",{sourceInterval:[2136,2140]},\"\\n\"]],[\"app\",{sourceInterval:[2141,2144]},\"any\",[]]]],[\"terminal\",{sourceInterval:[2147,2151]},\"\\n\"]]],comment_multiLine:[\"define\",{sourceInterval:[2173,2209]},null,[],[\"seq\",{sourceInterval:[2173,2195]},[\"terminal\",{sourceInterval:[2173,2177]},\"/*\"],[\"star\",{sourceInterval:[2178,2190]},[\"seq\",{sourceInterval:[2179,2188]},[\"not\",{sourceInterval:[2179,2184]},[\"terminal\",{sourceInterval:[2180,2184]},\"*/\"]],[\"app\",{sourceInterval:[2185,2188]},\"any\",[]]]],[\"terminal\",{sourceInterval:[2191,2195]},\"*/\"]]],comment:[\"define\",{sourceInterval:[2115,2209]},null,[],[\"alt\",{sourceInterval:[2129,2209]},[\"app\",{sourceInterval:[2129,2151]},\"comment_singleLine\",[]],[\"app\",{sourceInterval:[2173,2195]},\"comment_multiLine\",[]]]],tokens:[\"define\",{sourceInterval:[2213,2228]},null,[],[\"star\",{sourceInterval:[2222,2228]},[\"app\",{sourceInterval:[2222,2227]},\"token\",[]]]],token:[\"define\",{sourceInterval:[2232,2308]},null,[],[\"alt\",{sourceInterval:[2240,2308]},[\"app\",{sourceInterval:[2240,2248]},\"caseName\",[]],[\"app\",{sourceInterval:[2251,2258]},\"comment\",[]],[\"app\",{sourceInterval:[2261,2266]},\"ident\",[]],[\"app\",{sourceInterval:[2269,2277]},\"operator\",[]],[\"app\",{sourceInterval:[2280,2291]},\"punctuation\",[]],[\"app\",{sourceInterval:[2294,2302]},\"terminal\",[]],[\"app\",{sourceInterval:[2305,2308]},\"any\",[]]]],operator:[\"define\",{sourceInterval:[2312,2377]},null,[],[\"alt\",{sourceInterval:[2323,2377]},[\"terminal\",{sourceInterval:[2323,2327]},\"<:\"],[\"terminal\",{sourceInterval:[2330,2333]},\"=\"],[\"terminal\",{sourceInterval:[2336,2340]},\":=\"],[\"terminal\",{sourceInterval:[2343,2347]},\"+=\"],[\"terminal\",{sourceInterval:[2350,2353]},\"*\"],[\"terminal\",{sourceInterval:[2356,2359]},\"+\"],[\"terminal\",{sourceInterval:[2362,2365]},\"?\"],[\"terminal\",{sourceInterval:[2368,2371]},\"~\"],[\"terminal\",{sourceInterval:[2374,2377]},\"&\"]]],punctuation:[\"define\",{sourceInterval:[2381,2417]},null,[],[\"alt\",{sourceInterval:[2395,2417]},[\"terminal\",{sourceInterval:[2395,2398]},\"<\"],[\"terminal\",{sourceInterval:[2401,2404]},\">\"],[\"terminal\",{sourceInterval:[2407,2410]},\",\"],[\"terminal\",{sourceInterval:[2413,2417]},\"--\"]]]}])},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";if(!e.setImmediate){var r,i,o,s,a,u=1,l={},c=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,\"[object process]\"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){f(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){f(e.data)},r=function(e){o.port2.postMessage(e)}):h&&\"onreadystatechange\"in h.createElement(\"script\")?(i=h.documentElement,r=function(e){var t=h.createElement(\"script\");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(f,0,e)}:(s=\"setImmediate$\"+Math.random()+\"$\",a=function(t){t.source===e&&\"string\"==typeof t.data&&0===t.data.indexOf(s)&&f(+t.data.slice(s.length))},e.addEventListener?e.addEventListener(\"message\",a,!1):e.attachEvent(\"onmessage\",a),r=function(t){e.postMessage(s+t,\"*\")}),d.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return l[u]=i,r(u),u++},d.clearImmediate=p}function p(e){delete l[e]}function f(e){if(c)setTimeout(f,0,e);else{var t=l[e];if(t){c=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{p(e),c=!1}}}}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,n(17),n(21))},function(e,t,n){\"use strict\";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=n(36),t.createHash=t.Hash=n(44),t.createHmac=t.Hmac=n(204);var r=n(433),i=Object.keys(r),o=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(i);t.getHashes=function(){return o};var s=n(207);t.pbkdf2=s.pbkdf2,t.pbkdf2Sync=s.pbkdf2Sync;var a=n(435);t.Cipher=a.Cipher,t.createCipher=a.createCipher,t.Cipheriv=a.Cipheriv,t.createCipheriv=a.createCipheriv,t.Decipher=a.Decipher,t.createDecipher=a.createDecipher,t.Decipheriv=a.Decipheriv,t.createDecipheriv=a.createDecipheriv,t.getCiphers=a.getCiphers,t.listCiphers=a.listCiphers;var u=n(452);t.DiffieHellmanGroup=u.DiffieHellmanGroup,t.createDiffieHellmanGroup=u.createDiffieHellmanGroup,t.getDiffieHellman=u.getDiffieHellman,t.createDiffieHellman=u.createDiffieHellman,t.DiffieHellman=u.DiffieHellman;var l=n(458);t.createSign=l.createSign,t.Sign=l.Sign,t.createVerify=l.createVerify,t.Verify=l.Verify,t.createECDH=n(496);var c=n(497);t.publicEncrypt=c.publicEncrypt,t.privateEncrypt=c.privateEncrypt,t.publicDecrypt=c.publicDecrypt,t.privateDecrypt=c.privateDecrypt;var h=n(500);t.randomFill=h.randomFill,t.randomFillSync=h.randomFillSync,t.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(\"\\n\"))},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function(e,t){},function(e,t,n){\"use strict\";var r=n(9).Buffer,i=n(421);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return\"\";for(var t=this.head,n=\"\"+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i,o=r.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,i=a,t.copy(n,i),a+=s.data.length,s=s.next;return o},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+\" \"+e})},function(e,t){},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&\"true\"===String(n).toLowerCase()}e.exports=function(e,t){if(n(\"noDeprecation\"))return e;var r=!1;return function(){if(!r){if(n(\"throwDeprecation\"))throw new Error(t);n(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(17))},function(e,t,n){\"use strict\";e.exports=o;var r=n(201),i=n(45);function o(e){if(!(this instanceof o))return new o(e);r.call(this,e)}i.inherits=n(7),i.inherits(o,r),o.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(150)},function(e,t,n){e.exports=n(33)},function(e,t,n){e.exports=n(149).Transform},function(e,t,n){e.exports=n(149).PassThrough},function(e,t,n){var r=n(7),i=n(37),o=n(9).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function l(e){return e<<30|e>>>2}function c(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,h=0;h<16;++h)n[h]=e.readInt32BE(4*h);for(;h<80;++h)n[h]=n[h-3]^n[h-8]^n[h-14]^n[h-16];for(var d=0;d<80;++d){var p=~~(d/20),f=0|((t=r)<<5|t>>>27)+c(p,i,o,a)+u+n[d]+s[p];u=a,a=o,o=l(i),i=r,r=f}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(7),i=n(37),o=n(9).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function l(e){return e<<5|e>>>27}function c(e){return e<<30|e>>>2}function h(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=(t=n[d-3]^n[d-8]^n[d-14]^n[d-16])<<1|t>>>31;for(var p=0;p<80;++p){var f=~~(p/20),g=l(r)+h(f,i,o,a)+u+n[p]+s[f]|0;u=a,a=o,o=c(i),i=r,r=g}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(7),i=n(202),o=n(37),s=n(9).Buffer,a=new Array(64);function u(){this.init(),this._w=a,o.call(this,64,56)}r(u,i),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u},function(e,t,n){var r=n(7),i=n(203),o=n(37),s=n(9).Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}r(u,i),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},function(e,t,n){\"use strict\";var r=n(7),i=n(9).Buffer,o=n(28),s=i.alloc(128),a=64;function u(e,t){o.call(this,\"digest\"),\"string\"==typeof t&&(t=i.from(t)),this._alg=e,this._key=t,t.length>a?t=e(t):t.length<a&&(t=i.concat([t,s],a));for(var n=this._ipad=i.allocUnsafe(a),r=this._opad=i.allocUnsafe(a),u=0;u<a;u++)n[u]=54^t[u],r[u]=92^t[u];this._hash=[n]}r(u,o),u.prototype._update=function(e){this._hash.push(e)},u.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},e.exports=u},function(e,t,n){e.exports=n(206)},function(e,t,n){(function(t,r){var i,o=n(208),s=n(209),a=n(210),u=n(9).Buffer,l=t.crypto&&t.crypto.subtle,c={sha:\"SHA-1\",\"sha-1\":\"SHA-1\",sha1:\"SHA-1\",sha256:\"SHA-256\",\"sha-256\":\"SHA-256\",sha384:\"SHA-384\",\"sha-384\":\"SHA-384\",\"sha-512\":\"SHA-512\",sha512:\"SHA-512\"},h=[];function d(e,t,n,r,i){return l.importKey(\"raw\",e,{name:\"PBKDF2\"},!1,[\"deriveBits\"]).then(function(e){return l.deriveBits({name:\"PBKDF2\",salt:t,iterations:n,hash:{name:i}},e,r<<3)}).then(function(e){return u.from(e)})}e.exports=function(e,n,p,f,g,m){\"function\"==typeof g&&(m=g,g=void 0);var v=c[(g=g||\"sha1\").toLowerCase()];if(!v||\"function\"!=typeof t.Promise)return r.nextTick(function(){var t;try{t=a(e,n,p,f,g)}catch(e){return m(e)}m(null,t)});if(o(e,n,p,f),\"function\"!=typeof m)throw new Error(\"No callback provided to pbkdf2\");u.isBuffer(e)||(e=u.from(e,s)),u.isBuffer(n)||(n=u.from(n,s)),function(e,t){e.then(function(e){r.nextTick(function(){t(null,e)})},function(e){r.nextTick(function(){t(e)})})}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!l||!l.importKey||!l.deriveBits)return Promise.resolve(!1);if(void 0!==h[e])return h[e];var n=d(i=i||u.alloc(8),i,10,128,e).then(function(){return!0}).catch(function(){return!1});return h[e]=n,n}(v).then(function(t){return t?d(e,n,p,f,v):a(e,n,p,f,g)}),m)}}).call(this,n(17),n(21))},function(e,t,n){var r=n(436),i=n(155),o=n(156),s=n(451),a=n(63);function u(e,t,n){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e});throw new TypeError(\"invalid suite type\")}function l(e,t,n){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError(\"invalid suite type\")}t.createCipher=t.Cipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError(\"invalid suite type\");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return u(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError(\"invalid suite type\");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return l(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=l,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},function(e,t,n){(function(t){var r=n(28),i=n(154),o=n(7),s={\"des-ede3-cbc\":i.CBC.instantiate(i.EDE),\"des-ede3\":i.EDE,\"des-ede-cbc\":i.CBC.instantiate(i.EDE),\"des-ede\":i.EDE,\"des-cbc\":i.CBC.instantiate(i.DES),\"des-ecb\":i.DES};function a(e){r.call(this);var n,i=e.mode.toLowerCase(),o=s[i];n=e.decrypt?\"decrypt\":\"encrypt\";var a=e.key;\"des-ede\"!==i&&\"des-ede-cbc\"!==i||(a=t.concat([a,a.slice(0,8)]));var u=e.iv;this._des=o.create({key:a,iv:u,type:n})}s.des=s[\"des-cbc\"],s.des3=s[\"des-ede3-cbc\"],e.exports=a,o(a,r),a.prototype._update=function(e){return new t(this._des.update(e))},a.prototype._final=function(){return new t(this._des.final())}}).call(this,n(12).Buffer)},function(e,t,n){\"use strict\";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,u=0;u<a;u++)o<<=1,o|=e>>>r[u]&1;for(u=a;u<r.length;u++)s<<=1,s|=t>>>r[u]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n<o.length;n++)t<<=1,t|=e>>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length<t;)r=\"0\"+r;for(var i=[],o=0;o<t;o+=n)i.push(r.slice(o,o+n));return i.join(\" \")}},function(e,t,n){\"use strict\";var r=n(19);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:\"decrypt\"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r<n;r++)this.buffer[this.bufferOff+r]=e[t+r];return this.bufferOff+=n,n},i.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(e){var t=0,n=0,r=(this.bufferOff+e.length)/this.blockSize|0,i=new Array(r*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(n+=this._flushBuffer(i,n)));for(var o=e.length-(e.length-t)%this.blockSize;t<o;t+=this.blockSize)this._update(e,t,i,n),n+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return i},i.prototype._updateDecrypt=function(e){for(var t=0,n=0,r=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,i=new Array(r*this.blockSize);r>0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n=\"encrypt\"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},i.prototype._unpad=function(e){return e},i.prototype._finalDecrypt=function(){r.equal(this.bufferOff,this.blockSize,\"Not enough data to decrypt\");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},function(e,t,n){\"use strict\";var r=n(19),i=n(7),o=n(154),s=o.utils,a=o.Cipher;function u(e){a.call(this,e);var t=new function(){this.tmp=new Array(2),this.keys=null};this._desState=t,this.deriveKeys(t,e.key)}i(u,a),e.exports=u,u.create=function(e){return new u(e)};var l=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];u.prototype.deriveKeys=function(e,t){e.keys=new Array(32),r.equal(t.length,this.blockSize,\"Invalid key length\");var n=s.readUInt32BE(t,0),i=s.readUInt32BE(t,4);s.pc1(n,i,e.tmp,0),n=e.tmp[0],i=e.tmp[1];for(var o=0;o<e.keys.length;o+=2){var a=l[o>>>1];n=s.r28shl(n,a),i=s.r28shl(i,a),s.pc2(n,i,e.keys,o)}},u.prototype._update=function(e,t,n,r){var i=this._desState,o=s.readUInt32BE(e,t),a=s.readUInt32BE(e,t+4);s.ip(o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],\"encrypt\"===this.type?this._encrypt(i,o,a,i.tmp,0):this._decrypt(i,o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],s.writeUInt32BE(n,o,r),s.writeUInt32BE(n,a,r+4)},u.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r<e.length;r++)e[r]=n;return!0},u.prototype._unpad=function(e){for(var t=e[e.length-1],n=e.length-t;n<e.length;n++)r.equal(e[n],t);return e.slice(0,e.length-t)},u.prototype._encrypt=function(e,t,n,r,i){for(var o=t,a=n,u=0;u<e.keys.length;u+=2){var l=e.keys[u],c=e.keys[u+1];s.expand(a,e.tmp,0),l^=e.tmp[0],c^=e.tmp[1];var h=s.substitute(l,c),d=a;a=(o^s.permute(h))>>>0,o=d}s.rip(a,o,r,i)},u.prototype._decrypt=function(e,t,n,r,i){for(var o=n,a=t,u=e.keys.length-2;u>=0;u-=2){var l=e.keys[u],c=e.keys[u+1];s.expand(o,e.tmp,0),l^=e.tmp[0],c^=e.tmp[1];var h=s.substitute(l,c),d=o;o=(a^s.permute(h))>>>0,a=d}s.rip(o,a,r,i)}},function(e,t,n){\"use strict\";var r=n(19),i=n(7),o={};t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}i(t,e);for(var n=Object.keys(o),r=0;r<n.length;r++){var s=n[r];t.prototype[s]=o[s]}return t.create=function(e){return new t(e)},t},o._cbcInit=function(){var e=new function(e){r.equal(e.length,8,\"Invalid IV length\"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}(this.options.iv);this._cbcState=e},o._update=function(e,t,n,r){var i=this._cbcState,o=this.constructor.super_.prototype,s=i.iv;if(\"encrypt\"===this.type){for(var a=0;a<this.blockSize;a++)s[a]^=e[t+a];o._update.call(this,s,0,n,r);for(a=0;a<this.blockSize;a++)s[a]=n[r+a]}else{o._update.call(this,e,t,n,r);for(a=0;a<this.blockSize;a++)n[r+a]^=s[a];for(a=0;a<this.blockSize;a++)s[a]=e[t+a]}}},function(e,t,n){\"use strict\";var r=n(19),i=n(7),o=n(154),s=o.Cipher,a=o.DES;function u(e){s.call(this,e);var t=new function(e,t){r.equal(t.length,24,\"Invalid key length\");var n=t.slice(0,8),i=t.slice(8,16),o=t.slice(16,24);this.ciphers=\"encrypt\"===e?[a.create({type:\"encrypt\",key:n}),a.create({type:\"decrypt\",key:i}),a.create({type:\"encrypt\",key:o})]:[a.create({type:\"decrypt\",key:o}),a.create({type:\"encrypt\",key:i}),a.create({type:\"decrypt\",key:n})]}(this.type,this.options.key);this._edeState=t}i(u,s),e.exports=u,u.create=function(e){return new u(e)},u.prototype._update=function(e,t,n,r){var i=this._edeState;i.ciphers[0]._update(e,t,n,r),i.ciphers[1]._update(n,r,n,r),i.ciphers[2]._update(n,r,n,r)},u.prototype._pad=a.prototype._pad,u.prototype._unpad=a.prototype._unpad},function(e,t,n){var r=n(156),i=n(214),o=n(9).Buffer,s=n(215),a=n(28),u=n(62),l=n(63);function c(e,t,n){a.call(this),this._cache=new d,this._cipher=new u.AES(t),this._prev=o.from(n),this._mode=e,this._autopadding=!0}n(7)(c,a),c.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get();)n=this._mode.encrypt(this,t),r.push(n);return o.concat(r)};var h=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function p(e,t,n){var a=r[e.toLowerCase()];if(!a)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof t&&(t=o.from(t)),t.length!==a.key/8)throw new TypeError(\"invalid key length \"+t.length);if(\"string\"==typeof n&&(n=o.from(n)),\"GCM\"!==a.mode&&n.length!==a.iv)throw new TypeError(\"invalid iv length \"+n.length);return\"stream\"===a.type?new s(a.module,t,n):\"auth\"===a.type?new i(a.module,t,n):new c(a.module,t,n)}c.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(h))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},c.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},d.prototype.add=function(e){this.cache=o.concat([this.cache,e])},d.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),n=-1;++n<e;)t.writeUInt8(e,n);return o.concat([this.cache,t])},t.createCipheriv=p,t.createCipher=function(e,t){var n=r[e.toLowerCase()];if(!n)throw new TypeError(\"invalid suite type\");var i=l(t,!1,n.key,n.iv);return p(e,i.key,i.iv)}},function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},function(e,t,n){var r=n(46);t.encrypt=function(e,t){var n=r(t,e._prev);return e._prev=e._cipher.encryptBlock(n),e._prev},t.decrypt=function(e,t){var n=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return r(i,n)}},function(e,t,n){var r=n(9).Buffer,i=n(46);function o(e,t,n){var o=t.length,s=i(t,e._cache);return e._cache=e._cache.slice(o),e._prev=r.concat([e._prev,n?t:s]),s}t.encrypt=function(e,t,n){for(var i,s=r.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=r.allocUnsafe(0)),!(e._cache.length<=t.length)){s=r.concat([s,o(e,t,n)]);break}i=e._cache.length,s=r.concat([s,o(e,t.slice(0,i),n)]),t=t.slice(i)}return s}},function(e,t,n){var r=n(9).Buffer;function i(e,t,n){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=r.concat([e._prev.slice(1),r.from([n?t:i])]),i}t.encrypt=function(e,t,n){for(var o=t.length,s=r.allocUnsafe(o),a=-1;++a<o;)s[a]=i(e,t[a],n);return s}},function(e,t,n){var r=n(9).Buffer;function i(e,t,n){for(var r,i,s,a=-1,u=0;++a<8;)r=e._cipher.encryptBlock(e._prev),i=t&1<<7-a?128:0,u+=(128&(s=r[0]^i))>>a%8,e._prev=o(e._prev,n?i:s);return u}function o(e,t){var n=e.length,i=-1,o=r.allocUnsafe(e.length);for(e=r.concat([e,r.from([t])]);++i<n;)o[i]=e[i]<<1|e[i+1]>>7;return o}t.encrypt=function(e,t,n){for(var o=t.length,s=r.allocUnsafe(o),a=-1;++a<o;)s[a]=i(e,t[a],n);return s}},function(e,t,n){(function(e){var r=n(46);function i(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(t,n){for(;t._cache.length<n.length;)t._cache=e.concat([t._cache,i(t)]);var o=t._cache.slice(0,n.length);return t._cache=t._cache.slice(n.length),r(n,o)}}).call(this,n(12).Buffer)},function(e,t,n){var r=n(9).Buffer,i=r.alloc(16,0);function o(e){var t=r.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},s.prototype._multiply=function(){for(var e,t,n,r=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],i=[0,0,0,0],s=-1;++s<128;){for(0!=(this.state[~~(s/8)]&1<<7-s%8)&&(i[0]^=r[0],i[1]^=r[1],i[2]^=r[2],i[3]^=r[3]),n=0!=(1&r[3]),t=3;t>0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}this.state=o(i)},s.prototype.update=function(e){var t;for(this.cache=r.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(r.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=s},function(e,t,n){var r=n(214),i=n(9).Buffer,o=n(156),s=n(215),a=n(28),u=n(62),l=n(63);function c(e,t,n){a.call(this),this._cache=new h,this._last=void 0,this._cipher=new u.AES(t),this._prev=i.from(n),this._mode=e,this._autopadding=!0}function h(){this.cache=i.allocUnsafe(0)}function d(e,t,n){var a=o[e.toLowerCase()];if(!a)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof n&&(n=i.from(n)),\"GCM\"!==a.mode&&n.length!==a.iv)throw new TypeError(\"invalid iv length \"+n.length);if(\"string\"==typeof t&&(t=i.from(t)),t.length!==a.key/8)throw new TypeError(\"invalid key length \"+t.length);return\"stream\"===a.type?new s(a.module,t,n,!0):\"auth\"===a.type?new r(a.module,t,n,!0):new c(a.module,t,n)}n(7)(c,a),c.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get(this._autopadding);)n=this._mode.decrypt(this,t),r.push(n);return i.concat(r)},c.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error(\"unable to decrypt data\");var n=-1;for(;++n<t;)if(e[n+(16-t)]!==t)throw new Error(\"unable to decrypt data\");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error(\"data not multiple of block length\")},c.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},h.prototype.add=function(e){this.cache=i.concat([this.cache,e])},h.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=o[e.toLowerCase()];if(!n)throw new TypeError(\"invalid suite type\");var r=l(t,!1,n.key,n.iv);return d(e,r.key,r.iv)},t.createDecipheriv=d},function(e,t){t[\"des-ecb\"]={key:8,iv:0},t[\"des-cbc\"]=t.des={key:8,iv:8},t[\"des-ede3-cbc\"]=t.des3={key:24,iv:8},t[\"des-ede3\"]={key:24,iv:0},t[\"des-ede-cbc\"]={key:16,iv:8},t[\"des-ede\"]={key:16,iv:0}},function(e,t,n){(function(e){var r=n(216),i=n(456),o=n(457);var s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var n=new e(i[t].prime,\"hex\"),r=new e(i[t].gen,\"hex\");return new o(n,r)},t.createDiffieHellman=t.DiffieHellman=function t(n,i,a,u){return e.isBuffer(i)||void 0===s[i]?t(n,\"binary\",i,a):(i=i||\"binary\",u=u||\"binary\",a=a||new e([2]),e.isBuffer(a)||(a=new e(a,u)),\"number\"==typeof n?new o(r(n,a),a,!0):(e.isBuffer(n)||(n=new e(n,i)),new o(n,a,!0)))}}).call(this,n(12).Buffer)},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){},function(e,t){},function(e){e.exports={modp1:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},modp2:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},modp5:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},modp14:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},modp15:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},modp16:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},modp17:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},modp18:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}},function(e,t,n){(function(t){var r=n(14),i=new(n(217)),o=new r(24),s=new r(11),a=new r(10),u=new r(3),l=new r(7),c=n(216),h=n(36);function d(e,n){return n=n||\"utf8\",t.isBuffer(e)||(e=new t(e,n)),this._pub=new r(e),this}function p(e,n){return n=n||\"utf8\",t.isBuffer(e)||(e=new t(e,n)),this._priv=new r(e),this}e.exports=g;var f={};function g(e,t,n){this.setGenerator(t),this.__prime=new r(e),this._prime=r.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,n?(this.setPublicKey=d,this.setPrivateKey=p):this._primeCode=8}function m(e,n){var r=new t(e.toArray());return n?r.toString(n):r}Object.defineProperty(g.prototype,\"verifyError\",{enumerable:!0,get:function(){return\"number\"!=typeof this._primeCode&&(this._primeCode=function(e,t){var n=t.toString(\"hex\"),r=[n,e.toString(16)].join(\"_\");if(r in f)return f[r];var h,d=0;if(e.isEven()||!c.simpleSieve||!c.fermatTest(e)||!i.test(e))return d+=1,d+=\"02\"===n||\"05\"===n?8:4,f[r]=d,d;switch(i.test(e.shrn(1))||(d+=2),n){case\"02\":e.mod(o).cmp(s)&&(d+=8);break;case\"05\":(h=e.mod(a)).cmp(u)&&h.cmp(l)&&(d+=8);break;default:d+=4}return f[r]=d,d}(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new r(h(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(e){var n=(e=(e=new r(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new t(n.toArray()),o=this.getPrime();if(i.length<o.length){var s=new t(o.length-i.length);s.fill(0),i=t.concat([s,i])}return i},g.prototype.getPublicKey=function(e){return m(this._pub,e)},g.prototype.getPrivateKey=function(e){return m(this._priv,e)},g.prototype.getPrime=function(e){return m(this.__prime,e)},g.prototype.getGenerator=function(e){return m(this._gen,e)},g.prototype.setGenerator=function(e,n){return n=n||\"utf8\",t.isBuffer(e)||(e=new t(e,n)),this.__gen=e,this._gen=new r(e),this}}).call(this,n(12).Buffer)},function(e,t,n){(function(t){var r=n(44),i=n(147),o=n(7),s=n(459),a=n(495),u=n(206);function l(e){i.Writable.call(this);var t=u[e];if(!t)throw new Error(\"Unknown message digest\");this._hashType=t.hash,this._hash=r(t.hash),this._tag=t.id,this._signType=t.sign}function c(e){i.Writable.call(this);var t=u[e];if(!t)throw new Error(\"Unknown message digest\");this._hash=r(t.hash),this._tag=t.id,this._signType=t.sign}function h(e){return new l(e)}function d(e){return new c(e)}Object.keys(u).forEach(function(e){u[e].id=new t(u[e].id,\"hex\"),u[e.toLowerCase()]=u[e]}),o(l,i.Writable),l.prototype._write=function(e,t,n){this._hash.update(e),n()},l.prototype.update=function(e,n){return\"string\"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},l.prototype.sign=function(e,t){this.end();var n=this._hash.digest(),r=s(n,e,this._hashType,this._signType,this._tag);return t?r.toString(t):r},o(c,i.Writable),c.prototype._write=function(e,t,n){this._hash.update(e),n()},c.prototype.update=function(e,n){return\"string\"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},c.prototype.verify=function(e,n,r){\"string\"==typeof n&&(n=new t(n,r)),this.end();var i=this._hash.digest();return a(n,i,e,this._signType,this._tag)},e.exports={Sign:h,Verify:d,createSign:h,createVerify:d}}).call(this,n(12).Buffer)},function(e,t,n){(function(t){var r=n(204),i=n(157),o=n(18).ec,s=n(14),a=n(65),u=n(227);function l(e,n,i,o){if((e=new t(e.toArray())).length<n.byteLength()){var s=new t(n.byteLength()-e.length);s.fill(0),e=t.concat([s,e])}var a=i.length,u=function(e,n){e=(e=c(e,n)).mod(n);var r=new t(e.toArray());if(r.length<n.byteLength()){var i=new t(n.byteLength()-r.length);i.fill(0),r=t.concat([i,r])}return r}(i,n),l=new t(a);l.fill(1);var h=new t(a);return h.fill(0),h=r(o,h).update(l).update(new t([0])).update(e).update(u).digest(),l=r(o,h).update(l).digest(),{k:h=r(o,h).update(l).update(new t([1])).update(e).update(u).digest(),v:l=r(o,h).update(l).digest()}}function c(e,t){var n=new s(e),r=(e.length<<3)-t.bitLength();return r>0&&n.ishrn(r),n}function h(e,n,i){var o,s;do{for(o=new t(0);8*o.length<e.bitLength();)n.v=r(i,n.k).update(n.v).digest(),o=t.concat([o,n.v]);s=c(o,e),n.k=r(i,n.k).update(n.v).update(new t([0])).digest(),n.v=r(i,n.k).update(n.v).digest()}while(-1!==s.cmp(e));return s}function d(e,t,n,r){return e.toRed(s.mont(n)).redPow(t).fromRed().mod(r)}e.exports=function(e,n,r,p,f){var g=a(n);if(g.curve){if(\"ecdsa\"!==p&&\"ecdsa/rsa\"!==p)throw new Error(\"wrong private key type\");return function(e,n){var r=u[n.curve.join(\".\")];if(!r)throw new Error(\"unknown curve \"+n.curve.join(\".\"));var i=new o(r).keyFromPrivate(n.privateKey).sign(e);return new t(i.toDER())}(e,g)}if(\"dsa\"===g.type){if(\"dsa\"!==p)throw new Error(\"wrong private key type\");return function(e,n,r){for(var i,o=n.params.priv_key,a=n.params.p,u=n.params.q,p=n.params.g,f=new s(0),g=c(e,u).mod(u),m=!1,v=l(o,u,e,r);!1===m;)i=h(u,v,r),f=d(p,i,a,u),0===(m=i.invm(u).imul(g.add(o.mul(f))).mod(u)).cmpn(0)&&(m=!1,f=new s(0));return function(e,n){e=e.toArray(),n=n.toArray(),128&e[0]&&(e=[0].concat(e)),128&n[0]&&(n=[0].concat(n));var r=[48,e.length+n.length+4,2,e.length];return r=r.concat(e,[2,n.length],n),new t(r)}(f,m)}(e,g,r)}if(\"rsa\"!==p&&\"ecdsa/rsa\"!==p)throw new Error(\"wrong private key type\");e=t.concat([f,e]);for(var m=g.modulus.byteLength(),v=[0,1];e.length+v.length+1<m;)v.push(255);v.push(0);for(var y=-1;++y<e.length;)v.push(e[y]);return i(v,g)},e.exports.getKey=l,e.exports.makeKey=h}).call(this,n(12).Buffer)},function(e){e.exports={name:\"elliptic\",version:\"6.4.0\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{jscs:\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",jshint:\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",lint:\"npm run jscs && npm run jshint\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny <fedor@indutny.com>\",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^1.4.3\",coveralls:\"^2.11.3\",grunt:\"^0.4.5\",\"grunt-browserify\":\"^5.0.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-connect\":\"^1.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^1.0.1\",\"grunt-mocha-istanbul\":\"^3.0.1\",\"grunt-saucelabs\":\"^8.6.2\",istanbul:\"^0.4.2\",jscs:\"^2.9.0\",jshint:\"^2.6.0\",mocha:\"^2.1.0\"},dependencies:{\"bn.js\":\"^4.4.0\",brorand:\"^1.0.1\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.0\",inherits:\"^2.0.1\",\"minimalistic-assert\":\"^1.0.0\",\"minimalistic-crypto-utils\":\"^1.0.0\"}}},function(e,t,n){\"use strict\";var r=t,i=n(14),o=n(19),s=n(219);r.assert=o,r.toArray=s.toArray,r.zero2=s.zero2,r.toHex=s.toHex,r.encode=s.encode,r.getNAF=function(e,t){for(var n=[],r=1<<t+1,i=e.clone();i.cmpn(1)>=0;){var o;if(i.isOdd()){var s=i.andln(r-1);o=s>(r>>1)-1?(r>>1)-s:s,i.isubn(o)}else o=0;n.push(o);for(var a=0!==i.cmpn(0)&&0===i.andln(r-1)?t+1:1,u=1;u<a;u++)n.push(0);i.iushrn(a)}return n},r.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r=0,i=0;e.cmpn(-r)>0||t.cmpn(-i)>0;){var o,s,a,u=e.andln(3)+r&3,l=t.andln(3)+i&3;3===u&&(u=-1),3===l&&(l=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+r&7)&&5!==a||2!==l?u:-u,n[0].push(o),s=0==(1&l)?0:3!=(a=t.andln(7)+i&7)&&5!==a||2!==u?l:-l,n[1].push(s),2*r===o+1&&(r=1-r),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return n},r.cachedProperty=function(e,t,n){var r=\"_\"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},r.parseBytes=function(e){return\"string\"==typeof e?r.toArray(e,\"hex\"):e},r.intFromLE=function(e){return new i(e,\"hex\",\"le\")}},function(e,t,n){\"use strict\";var r=n(14),i=n(18).utils,o=i.getNAF,s=i.getJSF,a=i.assert;function u(e,t){this.type=e,this.p=new r(t.p,16),this.red=t.prime?r.red(t.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=t.n&&new r(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function l(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error(\"Not implemented\")},u.prototype.validate=function(){throw new Error(\"Not implemented\")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var n=e._getDoubles(),r=o(t,1),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;for(var s=[],u=0;u<r.length;u+=n.step){var l=0;for(t=u+n.step-1;t>=u;t--)l=(l<<1)+r[t];s.push(l)}for(var c=this.jpoint(null,null,null),h=this.jpoint(null,null,null),d=i;d>0;d--){for(u=0;u<s.length;u++){(l=s[u])===d?h=h.mixedAdd(n.points[u]):l===-d&&(h=h.mixedAdd(n.points[u].neg()))}c=c.add(h)}return c.toP()},u.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var i=r.points,s=o(t,n),u=this.jpoint(null,null,null),l=s.length-1;l>=0;l--){for(t=0;l>=0&&0===s[l];l--)t++;if(l>=0&&t++,u=u.dblp(t),l<0)break;var c=s[l];a(0!==c),u=\"affine\"===e.type?c>0?u.mixedAdd(i[c-1>>1]):u.mixedAdd(i[-c-1>>1].neg()):c>0?u.add(i[c-1>>1]):u.add(i[-c-1>>1].neg())}return\"affine\"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,n,r,i){for(var a=this._wnafT1,u=this._wnafT2,l=this._wnafT3,c=0,h=0;h<r;h++){var d=(A=t[h])._getNAFPoints(e);a[h]=d.wnd,u[h]=d.points}for(h=r-1;h>=1;h-=2){var p=h-1,f=h;if(1===a[p]&&1===a[f]){var g=[t[p],null,null,t[f]];0===t[p].y.cmp(t[f].y)?(g[1]=t[p].add(t[f]),g[2]=t[p].toJ().mixedAdd(t[f].neg())):0===t[p].y.cmp(t[f].y.redNeg())?(g[1]=t[p].toJ().mixedAdd(t[f]),g[2]=t[p].add(t[f].neg())):(g[1]=t[p].toJ().mixedAdd(t[f]),g[2]=t[p].toJ().mixedAdd(t[f].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],v=s(n[p],n[f]);c=Math.max(v[0].length,c),l[p]=new Array(c),l[f]=new Array(c);for(var y=0;y<c;y++){var b=0|v[0][y],_=0|v[1][y];l[p][y]=m[3*(b+1)+(_+1)],l[f][y]=0,u[p]=g}}else l[p]=o(n[p],a[p]),l[f]=o(n[f],a[f]),c=Math.max(l[p].length,c),c=Math.max(l[f].length,c)}var C=this.jpoint(null,null,null),w=this._wnafT4;for(h=c;h>=0;h--){for(var D=0;h>=0;){var E=!0;for(y=0;y<r;y++)w[y]=0|l[y][h],0!==w[y]&&(E=!1);if(!E)break;D++,h--}if(h>=0&&D++,C=C.dblp(D),h<0)break;for(y=0;y<r;y++){var A,S=w[y];0!==S&&(S>0?A=u[y][S-1>>1]:S<0&&(A=u[y][-S-1>>1].neg()),C=\"affine\"===A.type?C.mixedAdd(A):C.add(A))}}for(h=0;h<r;h++)u[h]=null;return i?C:C.toP()},u.BasePoint=l,l.prototype.eq=function(){throw new Error(\"Not implemented\")},l.prototype.validate=function(){return this.curve.validate(this)},u.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var n=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*n)return 6===e[0]?a(e[e.length-1]%2==0):7===e[0]&&a(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((2===e[0]||3===e[0])&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),3===e[0]);throw new Error(\"Unknown point format\")},l.prototype.encodeCompressed=function(e){return this.encode(e,!0)},l.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray(\"be\",t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray(\"be\",t))},l.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},l.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},l.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},l.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)r=r.dbl();n.push(r)}return{step:e,points:n}},l.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},l.prototype._getBeta=function(){return null},l.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}},function(e,t,n){\"use strict\";var r=n(64),i=n(18),o=n(14),s=n(7),a=r.base,u=i.utils.assert;function l(e){a.call(this,\"short\",e),this.a=new o(e.a,16).toRed(this.red),this.b=new o(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,n,r){a.BasePoint.call(this,e,\"affine\"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new o(t,16),this.y=new o(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(e,t,n,r){a.BasePoint.call(this,e,\"jacobian\"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new o(0)):(this.x=new o(t,16),this.y=new o(n,16),this.z=new o(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(l,a),e.exports=l,l.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new o(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new o(e.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(t))?n=i[0]:(n=i[1],u(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map(function(e){return{a:new o(e.a,16),b:new o(e.b,16)}}):this._getEndoBasis(n)}}},l.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:o.mont(e),n=new o(2).toRed(t).redInvm(),r=n.redNeg(),i=new o(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(i).fromRed(),r.redSub(i).fromRed()]},l.prototype._getEndoBasis=function(e){for(var t,n,r,i,s,a,u,l,c,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,p=this.n.clone(),f=new o(1),g=new o(0),m=new o(0),v=new o(1),y=0;0!==d.cmpn(0);){var b=p.div(d);l=p.sub(b.mul(d)),c=m.sub(b.mul(f));var _=v.sub(b.mul(g));if(!r&&l.cmp(h)<0)t=u.neg(),n=f,r=l.neg(),i=c;else if(r&&2==++y)break;u=l,p=d,d=l,m=f,f=c,v=g,g=_}s=l.neg(),a=c;var C=r.sqr().add(i.sqr());return s.sqr().add(a.sqr()).cmp(C)>=0&&(s=t,a=n),r.negative&&(r=r.neg(),i=i.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:r,b:i},{a:s,b:a}]},l.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),s=i.mul(n.a),a=o.mul(r.a),u=i.mul(n.b),l=o.mul(r.b);return{k1:e.sub(s).sub(a),k2:u.add(l).neg()}},l.prototype.pointFromX=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error(\"invalid point\");var i=r.fromRed().isOdd();return(t&&!i||!t&&i)&&(r=r.redNeg()),this.point(e,r)},l.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},l.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var s=this._endoSplit(t[o]),a=e[o],u=a._getBeta();s.k1.negative&&(s.k1.ineg(),a=a.neg(!0)),s.k2.negative&&(s.k2.ineg(),u=u.neg(!0)),r[2*o]=a,r[2*o+1]=u,i[2*o]=s.k1,i[2*o+1]=s.k2}for(var l=this._wnafMulAdd(1,r,i,2*o,n),c=0;c<2*o;c++)r[c]=null,i[c]=null;return l},s(c,a.BasePoint),l.prototype.point=function(e,t,n){return new c(this,e,t,n)},l.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,n){\"string\"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var o=t[2];return r.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[r].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[r].concat(o.naf.points.map(i))}},r},c.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new o(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(h,a.BasePoint),l.prototype.jpoint=function(e,t,n){return new h(this,e,t,n)},h.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),a=r.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),c=l.redMul(a),h=r.redMul(l),d=u.redSqr().redIAdd(c).redISub(h).redISub(h),p=u.redMul(h.redISub(d)).redISub(o.redMul(c)),f=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(d,p,f)},h.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=n.redSub(r),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),l=u.redMul(s),c=n.redMul(u),h=a.redSqr().redIAdd(l).redISub(c).redISub(c),d=a.redMul(c.redISub(h)).redISub(i.redMul(l)),p=this.z.redMul(s);return this.curve.jpoint(h,d,p)},h.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}var r=this.curve.a,i=this.curve.tinv,o=this.x,s=this.y,a=this.z,u=a.redSqr().redSqr(),l=s.redAdd(s);for(n=0;n<e;n++){var c=o.redSqr(),h=l.redSqr(),d=h.redSqr(),p=c.redAdd(c).redIAdd(c).redIAdd(r.redMul(u)),f=o.redMul(h),g=p.redSqr().redISub(f.redAdd(f)),m=f.redISub(g),v=p.redMul(m);v=v.redIAdd(v).redISub(d);var y=l.redMul(a);n+1<e&&(u=u.redMul(d)),o=g,a=y,l=v}return this.curve.jpoint(o,l.redMul(i),a)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},h.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(r).redISub(o);s=s.redIAdd(s);var a=r.redAdd(r).redIAdd(r),u=a.redSqr().redISub(s).redISub(s),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=u,t=a.redMul(s.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.x.redSqr(),h=this.y.redSqr(),d=h.redSqr(),p=this.x.redAdd(h).redSqr().redISub(c).redISub(d);p=p.redIAdd(p);var f=c.redAdd(c).redIAdd(c),g=f.redSqr(),m=d.redIAdd(d);m=(m=m.redIAdd(m)).redIAdd(m),e=g.redISub(p).redISub(p),t=f.redMul(p.redISub(e)).redISub(m),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(e,t,n)},h.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(r).redISub(o);s=s.redIAdd(s);var a=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),u=a.redSqr().redISub(s).redISub(s);e=u;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=a.redMul(s.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.z.redSqr(),h=this.y.redSqr(),d=this.x.redMul(h),p=this.x.redSub(c).redMul(this.x.redAdd(c));p=p.redAdd(p).redIAdd(p);var f=d.redIAdd(d),g=(f=f.redIAdd(f)).redAdd(f);e=p.redSqr().redISub(g),n=this.y.redAdd(this.z).redSqr().redISub(h).redISub(c);var m=h.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),t=p.redMul(f.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,n)},h.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),o=t.redSqr(),s=n.redSqr(),a=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),u=t.redAdd(t),l=(u=u.redIAdd(u)).redMul(s),c=a.redSqr().redISub(l.redAdd(l)),h=l.redISub(c),d=s.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var p=a.redMul(h).redISub(d),f=n.redAdd(n).redMul(r);return this.curve.jpoint(c,p,f)},h.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),s=this.x.redAdd(t).redSqr().redISub(e).redISub(r),a=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),u=r.redIAdd(r);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=i.redIAdd(s).redSqr().redISub(o).redISub(a).redISub(u),c=t.redMul(l);c=(c=c.redIAdd(c)).redIAdd(c);var h=this.x.redMul(a).redISub(c);h=(h=h.redIAdd(h)).redIAdd(h);var d=this.y.redMul(l.redMul(u.redISub(l)).redISub(s.redMul(a)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var p=this.z.redAdd(s).redSqr().redISub(n).redISub(a);return this.curve.jpoint(h,d,p)},h.prototype.mul=function(e,t){return e=new o(e,t),this.curve._wnafMul(this,e)},h.prototype.eq=function(e){if(\"affine\"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(0!==this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)},h.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(n))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}return!1},h.prototype.inspect=function(){return this.isInfinity()?\"<EC JPoint Infinity>\":\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,n){\"use strict\";var r=n(64),i=n(14),o=n(7),s=r.base,a=n(18).utils;function u(e){s.call(this,\"mont\",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function l(e,t,n){s.BasePoint.call(this,e,\"projective\"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(t,16),this.z=new i(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}o(u,s),e.exports=u,u.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===r.redSqrt().redSqr().cmp(r)},o(l,s.BasePoint),u.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},u.prototype.point=function(e,t){return new l(this,e,t)},u.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},l.prototype.precompute=function(){},l.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())},l.fromJSON=function(e,t){return new l(e,t[0],t[1]||e.one)},l.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},l.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},l.prototype.add=function(){throw new Error(\"Not supported on Montgomery curve\")},l.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(n),s=i.redMul(r),a=t.z.redMul(o.redAdd(s).redSqr()),u=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},l.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(n=n.diffAdd(r,this),r=r.dbl()):(r=n.diffAdd(r,this),n=n.dbl());return r},l.prototype.mulAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},l.prototype.jumlAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},l.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},l.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,n){\"use strict\";var r=n(64),i=n(18),o=n(14),s=n(7),a=r.base,u=i.utils.assert;function l(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,a.call(this,\"edwards\",e),this.a=new o(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new o(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new o(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),u(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,n,r,i){a.BasePoint.call(this,e,\"projective\"),null===t&&null===n&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new o(t,16),this.y=new o(n,16),this.z=r?new o(r,16):this.curve.one,this.t=i&&new o(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(l,a),e.exports=l,l.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},l.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},l.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},l.prototype.pointFromX=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=this.c2.redSub(this.a.redMul(n)),i=this.one.redSub(this.c2.redMul(this.d).redMul(n)),s=r.redMul(i.redInvm()),a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error(\"invalid point\");var u=a.fromRed().isOdd();return(t&&!u||!t&&u)&&(a=a.redNeg()),this.point(e,a)},l.prototype.pointFromY=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=n.redSub(this.one),i=n.redMul(this.d).redAdd(this.one),s=r.redMul(i.redInvm());if(0===s.cmp(this.zero)){if(t)throw new Error(\"invalid point\");return this.point(this.zero,e)}var a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error(\"invalid point\");return a.isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},l.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return 0===r.cmp(i)},s(c,a.BasePoint),l.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},l.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&0===this.y.cmp(this.z)},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=r.redAdd(t),s=o.redSub(n),a=r.redSub(t),u=i.redMul(s),l=o.redMul(a),c=i.redMul(a),h=s.redMul(o);return this.curve.point(u,l,h,c)},c.prototype._projDbl=function(){var e,t,n,r=this.x.redAdd(this.y).redSqr(),i=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var s=(l=this.curve._mulA(i)).redAdd(o);if(this.zOne)e=r.redSub(i).redSub(o).redMul(s.redSub(this.curve.two)),t=s.redMul(l.redSub(o)),n=s.redSqr().redSub(s).redSub(s);else{var a=this.z.redSqr(),u=s.redSub(a).redISub(a);e=r.redSub(i).redISub(o).redMul(u),t=s.redMul(l.redSub(o)),n=s.redMul(u)}}else{var l=i.redAdd(o);a=this.curve._mulC(this.c.redMul(this.z)).redSqr(),u=l.redSub(a).redSub(a);e=this.curve._mulC(r.redISub(l)).redMul(u),t=this.curve._mulC(l).redMul(i.redISub(o)),n=l.redMul(u)}return this.curve.point(e,t,n)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=n.redSub(t),s=i.redSub(r),a=i.redAdd(r),u=n.redAdd(t),l=o.redMul(s),c=a.redMul(u),h=o.redMul(u),d=s.redMul(a);return this.curve.point(l,c,d,h)},c.prototype._projAdd=function(e){var t,n,r=this.z.redMul(e.z),i=r.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),u=i.redSub(a),l=i.redAdd(a),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),h=r.redMul(u).redMul(c);return this.curve.twisted?(t=r.redMul(l).redMul(s.redSub(this.curve._mulA(o))),n=u.redMul(l)):(t=r.redMul(l).redMul(s.redSub(o)),n=this.curve._mulC(u).redMul(l)),this.curve.point(h,t,n)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}return!1},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},function(e,t,n){\"use strict\";var r,i=t,o=n(158),s=n(18),a=s.utils.assert;function u(e){\"short\"===e.type?this.curve=new s.curve.short(e):\"edwards\"===e.type?this.curve=new s.curve.edwards(e):this.curve=new s.curve.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),\"Invalid curve\"),a(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}function l(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=u,l(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:o.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),l(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:o.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),l(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:o.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),l(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:o.sha384,gRed:!1,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]}),l(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:o.sha512,gRed:!1,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"]}),l(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:o.sha256,gRed:!1,g:[\"9\"]}),l(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:o.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});try{r=n(473)}catch(e){r=void 0}l(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:o.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",r]})},function(e,t,n){\"use strict\";t.sha1=n(468),t.sha224=n(469),t.sha256=n(221),t.sha384=n(470),t.sha512=n(222)},function(e,t,n){\"use strict\";var r=n(23),i=n(47),o=n(220),s=r.rotl32,a=r.sum32,u=r.sum32_5,l=o.ft_1,c=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,c),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=s(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],o=this.h[1],c=this.h[2],d=this.h[3],p=this.h[4];for(r=0;r<n.length;r++){var f=~~(r/20),g=u(s(i,5),l(f,o,c,d),p,n[r],h[f]);p=d,d=c,c=s(o,30),o=i,i=g}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],c),this.h[3]=a(this.h[3],d),this.h[4]=a(this.h[4],p)},d.prototype._digest=function(e){return\"hex\"===e?r.toHex32(this.h,\"big\"):r.split32(this.h,\"big\")}},function(e,t,n){\"use strict\";var r=n(23),i=n(221);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return\"hex\"===e?r.toHex32(this.h.slice(0,7),\"big\"):r.split32(this.h.slice(0,7),\"big\")}},function(e,t,n){\"use strict\";var r=n(23),i=n(222);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return\"hex\"===e?r.toHex32(this.h.slice(0,12),\"big\"):r.split32(this.h.slice(0,12),\"big\")}},function(e,t,n){\"use strict\";var r=n(23),i=n(47),o=r.rotl32,s=r.sum32,a=r.sum32_3,u=r.sum32_4,l=i.BlockHash;function c(){if(!(this instanceof c))return new c;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=\"little\"}function h(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function d(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function p(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}r.inherits(c,l),t.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(e,t){for(var n=this.h[0],r=this.h[1],i=this.h[2],l=this.h[3],c=this.h[4],y=n,b=r,_=i,C=l,w=c,D=0;D<80;D++){var E=s(o(u(n,h(D,r,i,l),e[f[D]+t],d(D)),m[D]),c);n=c,c=l,l=o(i,10),i=r,r=E,E=s(o(u(y,h(79-D,b,_,C),e[g[D]+t],p(D)),v[D]),w),y=w,w=C,C=o(_,10),_=b,b=E}E=a(this.h[1],i,C),this.h[1]=a(this.h[2],l,w),this.h[2]=a(this.h[3],c,y),this.h[3]=a(this.h[4],n,b),this.h[4]=a(this.h[0],r,_),this.h[0]=E},c.prototype._digest=function(e){return\"hex\"===e?r.toHex32(this.h,\"little\"):r.split32(this.h,\"little\")};var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],g=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,n){\"use strict\";var r=n(23),i=n(19);function o(e,t,n){if(!(this instanceof o))return new o(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,n))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[[\"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"],[\"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"],[\"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"],[\"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"],[\"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"],[\"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"],[\"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"],[\"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"],[\"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"],[\"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"],[\"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"],[\"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"],[\"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"],[\"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"],[\"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"],[\"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"],[\"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"],[\"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"],[\"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"],[\"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"],[\"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"],[\"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"],[\"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"],[\"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"],[\"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"],[\"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"],[\"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"],[\"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"],[\"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"],[\"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"],[\"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"],[\"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"],[\"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"],[\"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"],[\"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"],[\"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"],[\"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"],[\"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"],[\"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"],[\"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"],[\"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"],[\"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"],[\"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"],[\"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"],[\"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"],[\"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"],[\"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"],[\"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"],[\"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"],[\"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"],[\"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"],[\"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"],[\"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"],[\"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"],[\"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"],[\"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"],[\"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"],[\"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"],[\"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"],[\"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"],[\"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"],[\"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"],[\"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"],[\"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"],[\"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"]]},naf:{wnd:7,points:[[\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"],[\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"],[\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"],[\"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"],[\"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"],[\"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"],[\"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"],[\"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"],[\"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"],[\"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"],[\"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"],[\"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"],[\"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"],[\"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"],[\"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"],[\"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"],[\"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"],[\"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"],[\"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"],[\"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"],[\"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"],[\"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"],[\"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"],[\"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"],[\"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"],[\"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"],[\"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"],[\"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"],[\"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"],[\"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"],[\"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"],[\"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"],[\"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"],[\"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"],[\"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"],[\"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"],[\"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"],[\"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"],[\"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"],[\"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"],[\"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"],[\"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"],[\"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"],[\"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"],[\"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"],[\"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"],[\"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"],[\"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"],[\"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"],[\"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"],[\"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"],[\"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"],[\"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"],[\"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"],[\"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"],[\"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"],[\"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"],[\"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"],[\"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"],[\"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"],[\"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"],[\"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"],[\"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"],[\"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"],[\"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"],[\"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"],[\"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"],[\"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"],[\"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"],[\"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"],[\"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"],[\"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"],[\"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"],[\"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"],[\"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"],[\"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"],[\"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"],[\"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"],[\"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"],[\"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"],[\"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"],[\"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"],[\"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"],[\"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"],[\"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"],[\"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"],[\"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"],[\"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"],[\"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"],[\"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"],[\"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"],[\"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"],[\"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"],[\"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"],[\"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"],[\"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"],[\"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"],[\"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"],[\"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"],[\"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"],[\"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"],[\"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"],[\"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"],[\"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"],[\"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"],[\"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"],[\"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"],[\"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"],[\"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"],[\"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"],[\"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"],[\"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"],[\"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"],[\"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"],[\"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"],[\"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"],[\"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"],[\"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"],[\"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"],[\"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"],[\"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"],[\"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"],[\"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"],[\"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"],[\"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"],[\"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"],[\"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"]]}}},function(e,t,n){\"use strict\";var r=n(14),i=n(475),o=n(18),s=o.utils.assert,a=n(476),u=n(477);function l(e){if(!(this instanceof l))return new l(e);\"string\"==typeof e&&(s(o.curves.hasOwnProperty(e),\"Unknown curve \"+e),e=o.curves[e]),e instanceof o.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=l,l.prototype.keyPair=function(e){return new a(this,e)},l.prototype.keyFromPrivate=function(e,t){return a.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return a.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){e||(e={});for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||\"utf8\",entropy:e.entropy||o.rand(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||\"utf8\",nonce:this.n.toArray()}),n=this.n.byteLength(),s=this.n.sub(new r(2));;){var a=new r(t.generate(n));if(!(a.cmp(s)>0))return a.iaddn(1),this.keyFromPrivate(a)}},l.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},l.prototype.sign=function(e,t,n,o){\"object\"==typeof n&&(o=n,n=null),o||(o={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new r(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray(\"be\",s),l=e.toArray(\"be\",s),c=new i({hash:this.hash,entropy:a,nonce:l,pers:o.pers,persEnc:o.persEnc||\"utf8\"}),h=this.n.sub(new r(1)),d=0;;d++){var p=o.k?o.k(d):new r(c.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(h)>=0)){var f=this.g.mul(p);if(!f.isInfinity()){var g=f.getX(),m=g.umod(this.n);if(0!==m.cmpn(0)){var v=p.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var y=(f.getY().isOdd()?1:0)|(0!==g.cmp(m)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),y^=1),new u({r:m,s:v,recoveryParam:y})}}}}}},l.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i);var o=(t=new u(t,\"hex\")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,l=s.invm(this.n),c=l.mul(e).umod(this.n),h=l.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,n.getPublic(),h)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,n.getPublic(),h)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(e,t,n,i){s((3&n)===n,\"The recovery param is more than two bits\"),t=new u(t,i);var o=this.n,a=new r(e),l=t.r,c=t.s,h=1&n,d=n>>1;if(l.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error(\"Unable to find sencond key candinate\");l=d?this.curve.pointFromX(l.add(this.curve.n),h):this.curve.pointFromX(l,h);var p=t.r.invm(o),f=o.sub(a).mul(p).umod(o),g=c.mul(p).umod(o);return this.g.mulAdd(f,l,g)},l.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new u(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(n))return i}throw new Error(\"Unable to find valid recovery factor\")}},function(e,t,n){\"use strict\";var r=n(158),i=n(219),o=n(19);function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||\"hex\"),n=i.toArray(e.nonce,e.nonceEnc||\"hex\"),r=i.toArray(e.pers,e.persEnc||\"hex\");o(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(t,n,r)}e.exports=s,s.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},s.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function(e,t,n,r){\"string\"!=typeof t&&(r=n,n=t,t=null),e=i.toArray(e,t),n=i.toArray(n,r),o(e.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(e.concat(n||[])),this._reseed=1},s.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");\"string\"!=typeof t&&(r=n,n=t,t=null),n&&(n=i.toArray(n,r||\"hex\"),this._update(n));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var s=o.slice(0,e);return this._update(n),this._reseed++,i.encode(s,t)}},function(e,t,n){\"use strict\";var r=n(14),i=n(18).utils.assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,n){return t instanceof o?t:new o(e,{pub:t,pubEnc:n})},o.fromPrivate=function(e,t,n){return t instanceof o?t:new o(e,{priv:t,privEnc:n})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:\"Invalid public key\"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:\"Public key * N != O\"}:{result:!1,reason:\"Public key is not a point\"}},o.prototype.getPublic=function(e,t){return\"string\"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return\"hex\"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return\"mont\"===this.ec.curve.type?i(e.x,\"Need x coordinate\"):\"short\"!==this.ec.curve.type&&\"edwards\"!==this.ec.curve.type||i(e.x&&e.y,\"Need both x and y coordinate\"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}},function(e,t,n){\"use strict\";var r=n(14),i=n(18).utils,o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,\"Signature without r or s\"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(e,t){var n=e[t.place++];if(!(128&n))return n;for(var r=15&n,i=0,o=0,s=t.place;o<r;o++,s++)i<<=8,i|=e[s];return t.place=s,i}function u(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t<n;)t++;return 0===t?e:e.slice(t)}function l(e,t){if(t<128)e.push(t);else{var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var n=new function(){this.place=0};if(48!==e[n.place++])return!1;if(a(e,n)+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var o=a(e,n),s=e.slice(n.place,o+n.place);if(n.place+=o,2!==e[n.place++])return!1;var u=a(e,n);if(e.length!==u+n.place)return!1;var l=e.slice(n.place,u+n.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===l[0]&&128&l[1]&&(l=l.slice(1)),this.r=new r(s),this.s=new r(l),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=u(t),n=u(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];l(r,t.length),(r=r.concat(t)).push(2),l(r,n.length);var o=r.concat(n),s=[48];return l(s,o.length),s=s.concat(o),i.encode(s,e)}},function(e,t,n){\"use strict\";var r=n(158),i=n(18),o=i.utils,s=o.assert,a=o.parseBytes,u=n(479),l=n(480);function c(e){if(s(\"ed25519\"===e,\"only tested with ed25519 so far\"),!(this instanceof c))return new c(e);e=i.curves[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}e.exports=c,c.prototype.sign=function(e,t){e=a(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),o=this.encodePoint(i),s=this.hashInt(o,n.pubBytes(),e).mul(n.priv()),u=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},c.prototype.verify=function(e,t,n){e=a(e),t=this.makeSignature(t);var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(o)},c.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return o.intFromLE(e.digest()).umod(this.curve.n)},c.prototype.keyFromPublic=function(e){return u.fromPublic(this,e)},c.prototype.keyFromSecret=function(e){return u.fromSecret(this,e)},c.prototype.makeSignature=function(e){return e instanceof l?e:new l(this,e)},c.prototype.encodePoint=function(e){var t=e.getY().toArray(\"le\",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},c.prototype.decodePoint=function(e){var t=(e=o.parseBytes(e)).length-1,n=e.slice(0,t).concat(-129&e[t]),r=0!=(128&e[t]),i=o.intFromLE(n);return this.curve.pointFromY(i,r)},c.prototype.encodeInt=function(e){return e.toArray(\"le\",this.encodingLength)},c.prototype.decodeInt=function(e){return o.intFromLE(e)},c.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,n){\"use strict\";var r=n(18).utils,i=r.assert,o=r.parseBytes,s=r.cachedProperty;function a(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}a.fromPublic=function(e,t){return t instanceof a?t:new a(e,{pub:t})},a.fromSecret=function(e,t){return t instanceof a?t:new a(e,{secret:t})},a.prototype.secret=function(){return this._secret},s(a,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())}),s(a,\"pub\",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),s(a,\"privBytes\",function(){var e=this.eddsa,t=this.hash(),n=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[n]&=127,r[n]|=64,r}),s(a,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())}),s(a,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()}),s(a,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)}),a.prototype.sign=function(e){return i(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(e,this)},a.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},a.prototype.getSecret=function(e){return i(this._secret,\"KeyPair is public only\"),r.encode(this.secret(),e)},a.prototype.getPublic=function(e){return r.encode(this.pubBytes(),e)},e.exports=a},function(e,t,n){\"use strict\";var r=n(14),i=n(18).utils,o=i.assert,s=i.cachedProperty,a=i.parseBytes;function u(e,t){this.eddsa=e,\"object\"!=typeof t&&(t=a(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),o(t.R&&t.S,\"Signature without R or S\"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof r&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(u,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())}),s(u,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())}),s(u,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())}),s(u,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())}),u.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},u.prototype.toHex=function(){return i.encode(this.toBytes(),\"hex\").toUpperCase()},e.exports=u},function(e,t,n){\"use strict\";var r=n(48);t.certificate=n(492);var i=r.define(\"RSAPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"modulus\").int(),this.key(\"publicExponent\").int(),this.key(\"privateExponent\").int(),this.key(\"prime1\").int(),this.key(\"prime2\").int(),this.key(\"exponent1\").int(),this.key(\"exponent2\").int(),this.key(\"coefficient\").int())});t.RSAPrivateKey=i;var o=r.define(\"RSAPublicKey\",function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())});t.RSAPublicKey=o;var s=r.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(a),this.key(\"subjectPublicKey\").bitstr())});t.PublicKey=s;var a=r.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"none\").null_().optional(),this.key(\"curve\").objid().optional(),this.key(\"params\").seq().obj(this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int()).optional())}),u=r.define(\"PrivateKeyInfo\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(a),this.key(\"subjectPrivateKey\").octstr())});t.PrivateKey=u;var l=r.define(\"EncryptedPrivateKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(),this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(),this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(),this.key(\"iters\").int())),this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(),this.key(\"iv\").octstr()))),this.key(\"subjectPrivateKey\").octstr())});t.EncryptedPrivateKey=l;var c=r.define(\"DSAPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int(),this.key(\"pub_key\").int(),this.key(\"priv_key\").int())});t.DSAPrivateKey=c,t.DSAparam=r.define(\"DSAparam\",function(){this.int()});var h=r.define(\"ECPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(d),this.key(\"publicKey\").optional().explicit(1).bitstr())});t.ECPrivateKey=h;var d=r.define(\"ECParameters\",function(){this.choice({namedCurve:this.objid()})});t.signature=r.define(\"signature\",function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())})},function(e,t,n){var r=n(48),i=n(7);function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){var t;try{t=n(483).runInThisContext(\"(function \"+this.name+\"(entity) {\\n  this._initNamed(entity);\\n})\")}catch(e){t=function(e){this._initNamed(e)}}return i(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},o.prototype._getDecoder=function(e){return e=e||\"der\",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(r.decoders[e])),this.decoders[e]},o.prototype.decode=function(e,t,n){return this._getDecoder(t).decode(e,n)},o.prototype._getEncoder=function(e){return e=e||\"der\",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(r.encoders[e])),this.encoders[e]},o.prototype.encode=function(e,t,n){return this._getEncoder(t).encode(e,n)}},function(module,exports,__webpack_require__){var indexOf=__webpack_require__(484),Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var n in e)t.push(n);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n<e.length;n++)t(e[n],n,e)},defineProp=function(){try{return Object.defineProperty({},\"_\",{}),function(e,t,n){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:n})}}catch(e){return function(e,t,n){e[t]=n}}}(),globals=[\"Array\",\"Boolean\",\"Date\",\"Error\",\"EvalError\",\"Function\",\"Infinity\",\"JSON\",\"Math\",\"NaN\",\"Number\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"String\",\"SyntaxError\",\"TypeError\",\"URIError\",\"decodeURI\",\"decodeURIComponent\",\"encodeURI\",\"encodeURIComponent\",\"escape\",\"eval\",\"isFinite\",\"isNaN\",\"parseFloat\",\"parseInt\",\"undefined\",\"unescape\"];function Context(){}Context.prototype={};var Script=exports.Script=function(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context))throw new TypeError(\"needs a 'context' argument.\");var t=document.createElement(\"iframe\");t.style||(t.style={}),t.style.display=\"none\",document.body.appendChild(t);var n=t.contentWindow,r=n.eval,i=n.execScript;!r&&i&&(i.call(n,\"null\"),r=n.eval),forEach(Object_keys(e),function(t){n[t]=e[t]}),forEach(globals,function(t){e[t]&&(n[t]=e[t])});var o=Object_keys(n),s=r.call(n,this.code);return forEach(Object_keys(n),function(t){(t in e||-1===indexOf(o,t))&&(e[t]=n[t])}),forEach(globals,function(t){t in e||defineProp(e,t,n[t])}),document.body.removeChild(t),s},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(e){var t=Script.createContext(e),n=this.runInContext(t);return forEach(Object_keys(t),function(n){e[n]=t[n]}),n},forEach(Object_keys(Script.prototype),function(e){exports[e]=Script[e]=function(t){var n=Script(t);return n[e].apply(n,[].slice.call(arguments,1))}}),exports.createScript=function(e){return exports.Script(e)},exports.createContext=Script.createContext=function(e){var t=new Context;return\"object\"==typeof e&&forEach(Object_keys(e),function(n){t[n]=e[n]}),t}},function(e,t){var n=[].indexOf;e.exports=function(e,t){if(n)return e.indexOf(t);for(var r=0;r<e.length;++r)if(e[r]===t)return r;return-1}},function(e,t,n){var r=n(7);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=i,i.prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,n){var r=this._reporterState;this.exitKey(e),null!==r.obj&&(r.obj[t]=n)},i.prototype.path=function(){return this._reporterState.path.join(\"/\")},i.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){var t=this._reporterState,n=t.obj;return t.obj=e,n},i.prototype.error=function(e){var t,n=this._reporterState,r=e instanceof o;if(t=r?e:new o(n.path.map(function(e){return\"[\"+JSON.stringify(e)+\"]\"}).join(\"\"),e.message||e,e.stack),!n.options.partial)throw t;return r||n.errors.push(t),t},i.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},r(o,Error),o.prototype.rethrow=function(e){if(this.message=e+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,n){var r=n(49).Reporter,i=n(49).EncoderBuffer,o=n(49).DecoderBuffer,s=n(19),a=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],u=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(a);function l(e,t){var n={};this._baseState=n,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}e.exports=l;var c=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];l.prototype.clone=function(){var e=this._baseState,t={};c.forEach(function(n){t[n]=e[n]});var n=new this.constructor(t.parent);return n._baseState=t,n},l.prototype._wrap=function(){var e=this._baseState;u.forEach(function(t){this[t]=function(){var n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}},this)},l.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),s.equal(t.children.length,1,\"Root node can have only one child\")},l.prototype._useArgs=function(e){var t=this._baseState,n=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==n.length&&(s(null===t.children),t.children=n,n.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if(\"object\"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach(function(n){n==(0|n)&&(n|=0);var r=e[n];t[r]=n}),t}))},[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"].forEach(function(e){l.prototype[e]=function(){var t=this._baseState;throw new Error(e+\" not implemented for encoding: \"+t.enc)}}),a.forEach(function(e){l.prototype[e]=function(){var t=this._baseState,n=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(n),this}}),l.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},l.prototype.optional=function(){return this._baseState.optional=!0,this},l.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},l.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},l.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},l.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},l.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},l.prototype.any=function(){return this._baseState.any=!0,this},l.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},l.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},l.prototype._decode=function(e,t){var n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));var r,i=n.default,s=!0,a=null;if(null!==n.key&&(a=e.enterKey(n.key)),n.optional){var u=null;if(null!==n.explicit?u=n.explicit:null!==n.implicit?u=n.implicit:null!==n.tag&&(u=n.tag),null!==u||n.any){if(s=this._peekTag(e,u,n.any),e.isError(s))return s}else{var l=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(l)}}if(n.obj&&s&&(r=e.enterObject()),s){if(null!==n.explicit){var c=this._decodeTag(e,n.explicit);if(e.isError(c))return c;e=c}var h=e.offset;if(null===n.use&&null===n.choice){if(n.any)l=e.save();var d=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(d))return d;n.any?i=e.raw(l):e=d}if(t&&t.track&&null!==n.tag&&t.track(e.path(),h,e.length,\"tagged\"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,\"content\"),i=n.any?i:null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),e.isError(i))return i;if(n.any||null!==n.choice||null===n.children||n.children.forEach(function(n){n._decode(e,t)}),n.contains&&(\"octstr\"===n.tag||\"bitstr\"===n.tag)){var p=new o(i);i=this._getUse(n.contains,e._reporterState.obj)._decode(p,t)}}return n.obj&&s&&(i=e.leaveObject(r)),null===n.key||null===i&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,n.key,i),i},l.prototype._decodeGeneric=function(e,t,n){var r=this._baseState;return\"seq\"===e||\"set\"===e?null:\"seqof\"===e||\"setof\"===e?this._decodeList(t,e,r.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):\"objid\"===e&&r.args?this._decodeObjid(t,r.args[0],r.args[1],n):\"objid\"===e?this._decodeObjid(t,null,null,n):\"gentime\"===e||\"utctime\"===e?this._decodeTime(t,e,n):\"null_\"===e?this._decodeNull(t,n):\"bool\"===e?this._decodeBool(t,n):\"objDesc\"===e?this._decodeStr(t,e,n):\"int\"===e||\"enum\"===e?this._decodeInt(t,r.args&&r.args[0],n):null!==r.use?this._getUse(r.use,t._reporterState.obj)._decode(t,n):t.error(\"unknown tag: \"+e)},l.prototype._getUse=function(e,t){var n=this._baseState;return n.useDecoder=this._use(e,t),s(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},l.prototype._decodeChoice=function(e,t){var n=this._baseState,r=null,i=!1;return Object.keys(n.choice).some(function(o){var s=e.save(),a=n.choice[o];try{var u=a._decode(e,t);if(e.isError(u))return!1;r={type:o,value:u},i=!0}catch(t){return e.restore(s),!1}return!0},this),i?r:e.error(\"Choice not matched\")},l.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},l.prototype._encode=function(e,t,n){var r=this._baseState;if(null===r.default||r.default!==e){var i=this._encodeValue(e,t,n);if(void 0!==i&&!this._skipDefault(i,t,n))return i}},l.prototype._encodeValue=function(e,t,n){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new r);var o=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}var s=null,a=!1;if(i.any)o=this._createEncoderBuffer(e);else if(i.choice)o=this._encodeChoice(e,t);else if(i.contains)s=this._getUse(i.contains,n)._encode(e,t),a=!0;else if(i.children)s=i.children.map(function(n){if(\"null_\"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error(\"Child should have a key\");var r=t.enterKey(n._baseState.key);if(\"object\"!=typeof e)return t.error(\"Child expected, but input is not object\");var i=n._encode(e[n._baseState.key],t,e);return t.leaveKey(r),i},this).filter(function(e){return e}),s=this._createEncoderBuffer(s);else if(\"seqof\"===i.tag||\"setof\"===i.tag){if(!i.args||1!==i.args.length)return t.error(\"Too many args for : \"+i.tag);if(!Array.isArray(e))return t.error(\"seqof/setof, but data is not Array\");var u=this.clone();u._baseState.implicit=null,s=this._createEncoderBuffer(e.map(function(n){var r=this._baseState;return this._getUse(r.args[0],e)._encode(n,t)},u))}else null!==i.use?o=this._getUse(i.use,n)._encode(e,t):(s=this._encodePrimitive(i.tag,e),a=!0);if(!i.any&&null===i.choice){var l=null!==i.implicit?i.implicit:i.tag,c=null===i.implicit?\"universal\":\"context\";null===l?null===i.use&&t.error(\"Tag could be omitted only for .use()\"):null===i.use&&(o=this._encodeComposite(l,a,c,s))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,\"context\",o)),o},l.prototype._encodeChoice=function(e,t){var n=this._baseState,r=n.choice[e.type];return r||s(!1,e.type+\" not found in \"+JSON.stringify(Object.keys(n.choice))),r._encode(e.value,t)},l.prototype._encodePrimitive=function(e,t){var n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if(\"objid\"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if(\"objid\"===e)return this._encodeObjid(t,null,null);if(\"gentime\"===e||\"utctime\"===e)return this._encodeTime(t,e);if(\"null_\"===e)return this._encodeNull();if(\"int\"===e||\"enum\"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if(\"bool\"===e)return this._encodeBool(t);if(\"objDesc\"===e)return this._encodeStr(t,e);throw new Error(\"Unsupported tag: \"+e)},l.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},l.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(e)}},function(e,t,n){var r=n(224);t.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"},t.tagClassByName=r._reverse(t.tagClass),t.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"},t.tagByName=r._reverse(t.tag)},function(e,t,n){var r=t;r.der=n(225),r.pem=n(489)},function(e,t,n){var r=n(7),i=n(12).Buffer,o=n(225);function s(e){o.call(this,e),this.enc=\"pem\"}r(s,o),e.exports=s,s.prototype.decode=function(e,t){for(var n=e.toString().split(/[\\r\\n]+/g),r=t.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,u=-1,l=0;l<n.length;l++){var c=n[l].match(s);if(null!==c&&c[2]===r){if(-1!==a){if(\"END\"!==c[1])break;u=l;break}if(\"BEGIN\"!==c[1])break;a=l}}if(-1===a||-1===u)throw new Error(\"PEM section not found for: \"+r);var h=n.slice(a+1,u).join(\"\");h.replace(/[^a-z0-9\\+\\/=]+/gi,\"\");var d=new i(h,\"base64\");return o.prototype.decode.call(this,d,t)}},function(e,t,n){var r=t;r.der=n(226),r.pem=n(491)},function(e,t,n){var r=n(7),i=n(226);function o(e){i.call(this,e),this.enc=\"pem\"}r(o,i),e.exports=o,o.prototype.encode=function(e,t){for(var n=i.prototype.encode.call(this,e).toString(\"base64\"),r=[\"-----BEGIN \"+t.label+\"-----\"],o=0;o<n.length;o+=64)r.push(n.slice(o,o+64));return r.push(\"-----END \"+t.label+\"-----\"),r.join(\"\\n\")}},function(e,t,n){\"use strict\";var r=n(48),i=r.define(\"Time\",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),o=r.define(\"AttributeTypeValue\",function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())}),s=r.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional())}),a=r.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(s),this.key(\"subjectPublicKey\").bitstr())}),u=r.define(\"RelativeDistinguishedName\",function(){this.setof(o)}),l=r.define(\"RDNSequence\",function(){this.seqof(u)}),c=r.define(\"Name\",function(){this.choice({rdnSequence:this.use(l)})}),h=r.define(\"Validity\",function(){this.seq().obj(this.key(\"notBefore\").use(i),this.key(\"notAfter\").use(i))}),d=r.define(\"Extension\",function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(!1),this.key(\"extnValue\").octstr())}),p=r.define(\"TBSCertificate\",function(){this.seq().obj(this.key(\"version\").explicit(0).int(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(s),this.key(\"issuer\").use(c),this.key(\"validity\").use(h),this.key(\"subject\").use(c),this.key(\"subjectPublicKeyInfo\").use(a),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(d).optional())}),f=r.define(\"X509Certificate\",function(){this.seq().obj(this.key(\"tbsCertificate\").use(p),this.key(\"signatureAlgorithm\").use(s),this.key(\"signatureValue\").bitstr())});e.exports=f},function(e){e.exports={\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}},function(e,t,n){(function(t){var r=/Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m,i=/^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m,s=n(63),a=n(155);e.exports=function(e,n){var u,l=e.toString(),c=l.match(r);if(c){var h=\"aes\"+c[1],d=new t(c[2],\"hex\"),p=new t(c[3].replace(/[\\r\\n]/g,\"\"),\"base64\"),f=s(n,d.slice(0,8),parseInt(c[1],10)).key,g=[],m=a.createDecipheriv(h,f,d);g.push(m.update(p)),g.push(m.final()),u=t.concat(g)}else{var v=l.match(o);u=new t(v[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}return{tag:l.match(i)[1],data:u}}}).call(this,n(12).Buffer)},function(e,t,n){(function(t){var r=n(14),i=n(18).ec,o=n(65),s=n(227);function a(e,t){if(e.cmpn(0)<=0)throw new Error(\"invalid sig\");if(e.cmp(t)>=t)throw new Error(\"invalid sig\")}e.exports=function(e,n,u,l,c){var h=o(u);if(\"ec\"===h.type){if(\"ecdsa\"!==l&&\"ecdsa/rsa\"!==l)throw new Error(\"wrong public key type\");return function(e,t,n){var r=s[n.data.algorithm.curve.join(\".\")];if(!r)throw new Error(\"unknown curve \"+n.data.algorithm.curve.join(\".\"));var o=new i(r),a=n.data.subjectPrivateKey.data;return o.verify(t,e,a)}(e,n,h)}if(\"dsa\"===h.type){if(\"dsa\"!==l)throw new Error(\"wrong public key type\");return function(e,t,n){var i=n.data.p,s=n.data.q,u=n.data.g,l=n.data.pub_key,c=o.signature.decode(e,\"der\"),h=c.s,d=c.r;a(h,s),a(d,s);var p=r.mont(i),f=h.invm(s);return 0===u.toRed(p).redPow(new r(t).mul(f).mod(s)).fromRed().mul(l.toRed(p).redPow(d.mul(f).mod(s)).fromRed()).mod(i).mod(s).cmp(d)}(e,n,h)}if(\"rsa\"!==l&&\"ecdsa/rsa\"!==l)throw new Error(\"wrong public key type\");n=t.concat([c,n]);for(var d=h.modulus.byteLength(),p=[1],f=0;n.length+p.length+2<d;)p.push(255),f++;p.push(0);for(var g=-1;++g<n.length;)p.push(n[g]);p=new t(p);var m=r.mont(h.modulus);e=(e=new r(e).toRed(m)).redPow(new r(h.publicExponent)),e=new t(e.fromRed().toArray());var v=f<8?1:0;for(d=Math.min(e.length,p.length),e.length!==p.length&&(v=1),g=-1;++g<d;)v|=e[g]^p[g];return 0===v}}).call(this,n(12).Buffer)},function(e,t,n){(function(t){var r=n(18),i=n(14);e.exports=function(e){return new s(e)};var o={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};function s(e){this.curveType=o[e],this.curveType||(this.curveType={name:e}),this.curve=new r.ec(this.curveType.name),this.keys=void 0}function a(e,n,r){Array.isArray(e)||(e=e.toArray());var i=new t(e);if(r&&i.length<r){var o=new t(r-i.length);o.fill(0),i=t.concat([o,i])}return n?i.toString(n):i}o.p224=o.secp224r1,o.p256=o.secp256r1=o.prime256v1,o.p192=o.secp192r1=o.prime192v1,o.p384=o.secp384r1,o.p521=o.secp521r1,s.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},s.prototype.computeSecret=function(e,n,r){return n=n||\"utf8\",t.isBuffer(e)||(e=new t(e,n)),a(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},s.prototype.getPublicKey=function(e,t){var n=this.keys.getPublic(\"compressed\"===t,!0);return\"hybrid\"===t&&(n[n.length-1]%2?n[0]=7:n[0]=6),a(n,e)},s.prototype.getPrivateKey=function(e){return a(this.keys.getPrivate(),e)},s.prototype.setPublicKey=function(e,n){return n=n||\"utf8\",t.isBuffer(e)||(e=new t(e,n)),this.keys._importPublic(e),this},s.prototype.setPrivateKey=function(e,n){n=n||\"utf8\",t.isBuffer(e)||(e=new t(e,n));var r=new i(e);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this}}).call(this,n(12).Buffer)},function(e,t,n){t.publicEncrypt=n(498),t.privateDecrypt=n(499),t.privateEncrypt=function(e,n){return t.publicEncrypt(e,n,!0)},t.publicDecrypt=function(e,n){return t.privateDecrypt(e,n,!0)}},function(e,t,n){(function(t){var r=n(65),i=n(36),o=n(44),s=n(228),a=n(229),u=n(14),l=n(230),c=n(157);e.exports=function(e,n,h){var d;d=e.padding?e.padding:h?1:4;var p,f=r(e);if(4===d)p=function(e,n){var r=e.modulus.byteLength(),l=n.length,c=o(\"sha1\").update(new t(\"\")).digest(),h=c.length,d=2*h;if(l>r-d-2)throw new Error(\"message too long\");var p=new t(r-l-d-2);p.fill(0);var f=r-h-1,g=i(h),m=a(t.concat([c,p,new t([1]),n],f),s(g,f)),v=a(g,s(m,h));return new u(t.concat([new t([0]),v,m],r))}(f,n);else if(1===d)p=function(e,n,r){var o,s=n.length,a=e.modulus.byteLength();if(s>a-11)throw new Error(\"message too long\");r?(o=new t(a-s-3)).fill(255):o=function(e,n){var r,o=new t(e),s=0,a=i(2*e),u=0;for(;s<e;)u===a.length&&(a=i(2*e),u=0),(r=a[u++])&&(o[s++]=r);return o}(a-s-3);return new u(t.concat([new t([0,r?1:2]),o,new t([0]),n],a))}(f,n,h);else{if(3!==d)throw new Error(\"unknown padding\");if((p=new u(n)).cmp(f.modulus)>=0)throw new Error(\"data too long for modulus\")}return h?c(p,f):l(p,f)}}).call(this,n(12).Buffer)},function(e,t,n){(function(t){var r=n(65),i=n(228),o=n(229),s=n(14),a=n(157),u=n(44),l=n(230);e.exports=function(e,n,c){var h;h=e.padding?e.padding:c?1:4;var d,p=r(e),f=p.modulus.byteLength();if(n.length>f||new s(n).cmp(p.modulus)>=0)throw new Error(\"decryption error\");d=c?l(new s(n),p):a(n,p);var g=new t(f-d.length);if(g.fill(0),d=t.concat([g,d],f),4===h)return function(e,n){e.modulus;var r=e.modulus.byteLength(),s=(n.length,u(\"sha1\").update(new t(\"\")).digest()),a=s.length;if(0!==n[0])throw new Error(\"decryption error\");var l=n.slice(1,a+1),c=n.slice(a+1),h=o(l,i(c,a)),d=o(c,i(h,r-a-1));if(function(e,n){e=new t(e),n=new t(n);var r=0,i=e.length;e.length!==n.length&&(r++,i=Math.min(e.length,n.length));var o=-1;for(;++o<i;)r+=e[o]^n[o];return r}(s,d.slice(0,a)))throw new Error(\"decryption error\");var p=a;for(;0===d[p];)p++;if(1!==d[p++])throw new Error(\"decryption error\");return d.slice(p)}(p,d);if(1===h)return function(e,t,n){var r=t.slice(0,2),i=2,o=0;for(;0!==t[i++];)if(i>=t.length){o++;break}var s=t.slice(2,i-1);t.slice(i-1,i);(\"0002\"!==r.toString(\"hex\")&&!n||\"0001\"!==r.toString(\"hex\")&&n)&&o++;s.length<8&&o++;if(o)throw new Error(\"decryption error\");return t.slice(i)}(0,d,c);if(3===h)return d;throw new Error(\"unknown padding\")}}).call(this,n(12).Buffer)},function(e,t,n){\"use strict\";(function(e,r){function i(){throw new Error(\"secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11\")}var o=n(9),s=n(36),a=o.Buffer,u=o.kMaxLength,l=e.crypto||e.msCrypto,c=Math.pow(2,32)-1;function h(e,t){if(\"number\"!=typeof e||e!=e)throw new TypeError(\"offset must be a number\");if(e>c||e<0)throw new TypeError(\"offset must be a uint32\");if(e>u||e>t)throw new RangeError(\"offset out of range\")}function d(e,t,n){if(\"number\"!=typeof e||e!=e)throw new TypeError(\"size must be a number\");if(e>c||e<0)throw new TypeError(\"size must be a uint32\");if(e+t>n||e>u)throw new RangeError(\"buffer too small\")}function p(e,t,n,i){if(r.browser){var o=e.buffer,a=new Uint8Array(o,t,n);return l.getRandomValues(a),i?void r.nextTick(function(){i(null,e)}):e}if(!i)return s(n).copy(e,t),e;s(n,function(n,r){if(n)return i(n);r.copy(e,t),i(null,e)})}l&&l.getRandomValues||!r.browser?(t.randomFill=function(t,n,r,i){if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(\"function\"==typeof n)i=n,n=0,r=t.length;else if(\"function\"==typeof r)i=r,r=t.length-n;else if(\"function\"!=typeof i)throw new TypeError('\"cb\" argument must be a function');return h(n,t.length),d(r,n,t.length),p(t,n,r,i)},t.randomFillSync=function(t,n,r){void 0===n&&(n=0);if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');h(n,t.length),void 0===r&&(r=t.length-n);return d(r,n,t.length),p(t,n,r)}):(t.randomFill=i,t.randomFillSync=i)}).call(this,n(17),n(21))},function(e,t,n){e.exports=n(502)},function(e,t,n){n(503),e.exports=n(20).Object.assign},function(e,t,n){var r=n(40);r(r.S+r.F,\"Object\",{assign:n(504)})},function(e,t,n){\"use strict\";var r=n(42),i=n(79),o=n(56),s=n(80),a=n(176),u=Object.assign;e.exports=!u||n(34)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join(\"\")!=r})?function(e,t){for(var n=s(e),u=arguments.length,l=1,c=i.f,h=o.f;u>l;)for(var d,p=a(arguments[l++]),f=c?r(p).concat(c(p)):r(p),g=f.length,m=0;g>m;)h.call(p,d=f[m++])&&(n[d]=p[d]);return n}:u},function(e,t,n){var r=n(159);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(159,function(){var t=n(159);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(160);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(160,function(){var t=n(160);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(161);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(161,function(){var t=n(161);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t,n){var r=n(510);e.exports=function(e,t){var n=[],i=!0,o=!1,s=void 0;try{for(var a,u=r(e);!(i=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);i=!0);}catch(e){o=!0,s=e}finally{try{i||null==u.return||u.return()}finally{if(o)throw s}}return n}},function(e,t,n){e.exports=n(511)},function(e,t,n){n(512),n(518),e.exports=n(520)},function(e,t,n){n(513);for(var r=n(25),i=n(35),o=n(66),s=n(26)(\"toStringTag\"),a=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),u=0;u<a.length;u++){var l=a[u],c=r[l],h=c&&c.prototype;h&&!h[s]&&i(h,s,l),o[l]=o.Array}},function(e,t,n){\"use strict\";var r=n(514),i=n(515),o=n(66),s=n(29);e.exports=n(231)(Array,\"Array\",function(e,t){this._t=s(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,\"keys\"==t?n:\"values\"==t?e[n]:[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){\"use strict\";var r=n(184),i=n(57),o=n(75),s={};n(35)(s,n(26)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(s,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(30),i=n(80),o=n(77)(\"IE_PROTO\"),s=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},function(e,t,n){\"use strict\";var r=n(519)(!0);n(231)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(76),i=n(72);e.exports=function(e){return function(t,n){var o,s,a=String(i(t)),u=r(n),l=a.length;return u<0||u>=l?e?\"\":void 0:(o=a.charCodeAt(u))<55296||o>56319||u+1===l||(s=a.charCodeAt(u+1))<56320||s>57343?e?a.charAt(u):o:e?a.slice(u,u+2):s-56320+(o-55296<<10)+65536}}},function(e,t,n){var r=n(41),i=n(521);e.exports=n(20).getIterator=function(e){var t=i(e);if(\"function\"!=typeof t)throw TypeError(e+\" is not iterable!\");return r(t.call(e))}},function(e,t,n){var r=n(522),i=n(26)(\"iterator\"),o=n(66);e.exports=n(20).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},function(e,t,n){var r=n(71),i=n(26)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}());e.exports=function(e){var t,n,s;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:o?r(t):\"Object\"==(s=r(t))&&\"function\"==typeof t.callee?\"Arguments\":s}},function(e,t){e.exports=function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}},function(e,t,n){var r=n(162);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(162,function(){var t=n(162);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(163);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(163,function(){var t=n(163);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(164);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(164,function(){var t=n(164);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(165);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(165,function(){var t=n(165);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(166);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(166,function(){var t=n(166);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(167);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(167,function(){var t=n(167);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(168);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(168,function(){var t=n(168);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(169);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(169,function(){var t=n(169);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(170);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(170,function(){var t=n(170);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(171);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(171,function(){var t=n(171);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(172);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(172,function(){var t=n(172);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},function(e,t,n){var r=n(173);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(6)(r,i);r.locals&&(e.exports=r.locals),e.hot.accept(173,function(){var t=n(173);if(\"string\"==typeof t&&(t=[[e.i,t,\"\"]]),!function(e,t){var n,r=0;for(n in e){if(!t||e[n]!==t[n])return!1;r++}for(n in t)r--;return 0===r}(r.locals,t.locals))throw new Error(\"Aborting CSS HMR due to changed css-modules locals.\");o(t)}),e.hot.dispose(function(){o()})},,,function(e,t,n){\"use strict\";n.r(t);var r={};n.r(r),n.d(r,\"empty\",function(){return qe}),n.d(r,\"isFalsyOrWhitespace\",function(){return Qe}),n.d(r,\"pad\",function(){return Xe}),n.d(r,\"format\",function(){return $e}),n.d(r,\"escape\",function(){return et}),n.d(r,\"escapeRegExpCharacters\",function(){return tt}),n.d(r,\"trim\",function(){return nt}),n.d(r,\"ltrim\",function(){return rt}),n.d(r,\"rtrim\",function(){return it}),n.d(r,\"convertSimple2RegExpPattern\",function(){return ot}),n.d(r,\"stripWildcards\",function(){return st}),n.d(r,\"startsWith\",function(){return at}),n.d(r,\"endsWith\",function(){return ut}),n.d(r,\"createRegExp\",function(){return lt}),n.d(r,\"regExpLeadsToEndlessLoop\",function(){return ct}),n.d(r,\"regExpContainsBackreference\",function(){return ht}),n.d(r,\"canNormalize\",function(){return dt}),n.d(r,\"normalizeNFC\",function(){return ft}),n.d(r,\"normalizeNFD\",function(){return mt}),n.d(r,\"firstNonWhitespaceIndex\",function(){return bt}),n.d(r,\"getLeadingWhitespace\",function(){return _t}),n.d(r,\"lastNonWhitespaceIndex\",function(){return Ct}),n.d(r,\"compare\",function(){return wt}),n.d(r,\"compareIgnoreCase\",function(){return Dt}),n.d(r,\"equalsIgnoreCase\",function(){return xt}),n.d(r,\"startsWithIgnoreCase\",function(){return Nt}),n.d(r,\"commonPrefixLength\",function(){return It}),n.d(r,\"commonSuffixLength\",function(){return Lt}),n.d(r,\"overlap\",function(){return Tt}),n.d(r,\"isHighSurrogate\",function(){return Ft}),n.d(r,\"isLowSurrogate\",function(){return Ot}),n.d(r,\"containsRTL\",function(){return Bt}),n.d(r,\"containsEmoji\",function(){return jt}),n.d(r,\"isBasicASCII\",function(){return Wt}),n.d(r,\"containsFullWidthCharacter\",function(){return Vt}),n.d(r,\"isFullWidthCharacter\",function(){return Ht}),n.d(r,\"lcut\",function(){return Ut}),n.d(r,\"removeAnsiEscapeCodes\",function(){return Kt}),n.d(r,\"UTF8_BOM_CHARACTER\",function(){return qt}),n.d(r,\"startsWithUTF8BOM\",function(){return Qt}),n.d(r,\"stripUTF8BOM\",function(){return Xt}),n.d(r,\"safeBtoa\",function(){return Jt}),n.d(r,\"repeat\",function(){return $t}),n.d(r,\"fuzzyContains\",function(){return en}),n.d(r,\"containsUppercaseCharacter\",function(){return tn});var i={};n.r(i),n.d(i,\"CancellationTokenSource\",function(){return Aj}),n.d(i,\"Emitter\",function(){return Sj}),n.d(i,\"KeyCode\",function(){return xj}),n.d(i,\"KeyMod\",function(){return Mj}),n.d(i,\"Position\",function(){return Nj}),n.d(i,\"Range\",function(){return Ij}),n.d(i,\"Selection\",function(){return Lj}),n.d(i,\"SelectionDirection\",function(){return kj}),n.d(i,\"Severity\",function(){return Tj}),n.d(i,\"MarkerSeverity\",function(){return Fj}),n.d(i,\"Promise\",function(){return Oj}),n.d(i,\"Uri\",function(){return Pj}),n.d(i,\"Token\",function(){return Bj}),n.d(i,\"editor\",function(){return Rj}),n.d(i,\"languages\",function(){return jj});var o=n(68),s=n.n(o),a=n(3),u=n.n(a),l=n(8),c=n.n(l),h=n(4),d=n.n(h);function p(e){return e&&\"function\"==typeof e.schedule}\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */var f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};function g(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.assign;function m(e){return\"function\"==typeof e}var v=!1,y={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;v=e},get useDeprecatedSynchronousErrorHandling(){return v}};function b(e){setTimeout(function(){throw e})}var _={closed:!0,next:function(e){},error:function(e){if(y.useDeprecatedSynchronousErrorHandling)throw e;b(e)},complete:function(){}},C=Array.isArray||function(e){return e&&\"number\"==typeof e.length};function w(e){return null!=e&&\"object\"==typeof e}var D,E={e:{}};function A(){try{return D.apply(this,arguments)}catch(e){return E.e=e,E}}function S(e){return D=e,A}var x=function(e){function t(n){var r=e.call(this,n?n.length+\" errors occurred during unsubscription:\\n  \"+n.map(function(e,t){return t+1+\") \"+e.toString()}).join(\"\\n  \"):\"\")||this;return r.errors=n,r.name=\"UnsubscriptionError\",Object.setPrototypeOf(r,t.prototype),r}return g(t,e),t}(Error),M=function(){function e(e){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,e&&(this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var e,t=!1;if(!this.closed){var n=this._parent,r=this._parents,i=this._unsubscribe,o=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var s=-1,a=r?r.length:0;n;)n.remove(this),n=++s<a&&r[s]||null;if(m(i))S(i).call(this)===E&&(t=!0,e=e||(E.e instanceof x?N(E.e.errors):[E.e]));if(C(o))for(s=-1,a=o.length;++s<a;){var u=o[s];if(w(u))if(S(u.unsubscribe).call(u)===E){t=!0,e=e||[];var l=E.e;l instanceof x?e=e.concat(N(l.errors)):e.push(l)}}if(t)throw new x(e)}},e.prototype.add=function(t){if(!t||t===e.EMPTY)return e.EMPTY;if(t===this)return this;var n=t;switch(typeof t){case\"function\":n=new e(t);case\"object\":if(n.closed||\"function\"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(\"function\"!=typeof n._addParent){var r=n;(n=new e)._subscriptions=[r]}break;default:throw new Error(\"unrecognized teardown \"+t+\" added to Subscription.\")}return(this._subscriptions||(this._subscriptions=[])).push(n),n._addParent(this),n},e.prototype.remove=function(e){var t=this._subscriptions;if(t){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}},e.prototype._addParent=function(e){var t=this._parent,n=this._parents;t&&t!==e?n?-1===n.indexOf(e)&&n.push(e):this._parents=[e]:this._parent=e},e.EMPTY=((t=new e).closed=!0,t),e}();function N(e){return e.reduce(function(e,t){return e.concat(t instanceof x?t.errors:t)},[])}var I=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"rxSubscriber\"):\"@@rxSubscriber\",L=function(e){function t(t,n,r){var i,o=e.call(this)||this;switch(o.syncErrorValue=null,o.syncErrorThrown=!1,o.syncErrorThrowable=!1,o.isStopped=!1,arguments.length){case 0:o.destination=_;break;case 1:if(!t){o.destination=_;break}if(\"object\"==typeof t){if((i=t)instanceof L||\"syncErrorThrowable\"in i&&i[I]){var s=t[I]();o.syncErrorThrowable=s.syncErrorThrowable,o.destination=s,s.add(o)}else o.syncErrorThrowable=!0,o.destination=new k(o,t);break}default:o.syncErrorThrowable=!0,o.destination=new k(o,t,n,r)}return o}return g(t,e),t.prototype[I]=function(){return this},t.create=function(e,n,r){var i=new t(e,n,r);return i.syncErrorThrowable=!1,i},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this))},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},t.prototype._unsubscribeAndRecycle=function(){var e=this._parent,t=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=e,this._parents=t,this},t}(M),k=function(e){function t(t,n,r,i){var o,s=e.call(this)||this;s._parentSubscriber=t;var a=s;return m(n)?o=n:n&&(o=n.next,r=n.error,i=n.complete,n!==_&&(m((a=Object.create(n)).unsubscribe)&&s.add(a.unsubscribe.bind(a)),a.unsubscribe=s.unsubscribe.bind(s))),s._context=a,s._next=o,s._error=r,s._complete=i,s}return g(t,e),t.prototype.next=function(e){if(!this.isStopped&&this._next){var t=this._parentSubscriber;y.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}},t.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber,n=y.useDeprecatedSynchronousErrorHandling;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):b(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;b(e)}}},t.prototype.complete=function(){var e=this;if(!this.isStopped){var t=this._parentSubscriber;if(this._complete){var n=function(){return e._complete.call(e._context)};y.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},t.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(e){if(this.unsubscribe(),y.useDeprecatedSynchronousErrorHandling)throw e;b(e)}},t.prototype.__tryOrSetError=function(e,t,n){if(!y.useDeprecatedSynchronousErrorHandling)throw new Error(\"bad call\");try{t.call(this._context,n)}catch(t){return y.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=t,e.syncErrorThrown=!0,!0):(b(t),!0)}return!1},t.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},t}(L);var T=\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\";function F(){}function O(e){return e?1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}:F}var P=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this.operator,i=function(e,t,n){if(e){if(e instanceof L)return e;if(e[I])return e[I]()}return e||t||n?new L(e,t,n):new L(_)}(e,t,n);if(r?r.call(i,this.source):i.add(this.source||y.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),y.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){y.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=B(t))(function(t,r){var i;i=n.subscribe(function(t){try{e(t)}catch(e){r(e),i&&i.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[T]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?this:O(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=B(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function B(e){if(e||(e=y.Promise||Promise),!e)throw new Error(\"no Promise impl found\");return e}var R=function(e){return function(t){for(var n=0,r=e.length;n<r&&!t.closed;n++)t.next(e[n]);t.closed||t.complete()}};function j(e,t){return new P(t?function(n){var r=new M,i=0;return r.add(t.schedule(function(){i!==e.length?(n.next(e[i++]),n.closed||r.add(this.schedule())):n.complete()})),r}:R(e))}var z=new P(function(e){return e.complete()});function W(e){return e?function(e){return new P(function(t){return e.schedule(function(){return t.complete()})})}(e):z}function V(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r,i=e[e.length-1];switch(p(i)?e.pop():i=void 0,e.length){case 0:return W(i);case 1:return i?j(e,i):(n=e[0],(r=new P(function(e){e.next(n),e.complete()}))._isScalar=!0,r.value=n,r);default:return j(e,i)}}var H=n(51),U=(n(294),n(296),n(15)),Y=U.a.Symbol,Z=Object.prototype,G=Z.hasOwnProperty,K=Z.toString,q=Y?Y.toStringTag:void 0;var Q=function(e){var t=G.call(e,q),n=e[q];try{e[q]=void 0;var r=!0}catch(e){}var i=K.call(e);return r&&(t?e[q]=n:delete e[q]),i},X=Object.prototype.toString;var J=function(e){return X.call(e)},$=\"[object Null]\",ee=\"[object Undefined]\",te=Y?Y.toStringTag:void 0;var ne=function(e){return null==e?void 0===e?ee:$:te&&te in Object(e)?Q(e):J(e)};var re=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)},ie=\"[object AsyncFunction]\",oe=\"[object Function]\",se=\"[object GeneratorFunction]\",ae=\"[object Proxy]\";var ue=function(e){if(!re(e))return!1;var t=ne(e);return t==oe||t==se||t==ie||t==ae},le=n(232),ce=n.n(le),he=function(e){function t(){var n=e.call(this,\"object unsubscribed\")||this;return n.name=\"ObjectUnsubscribedError\",Object.setPrototypeOf(n,t.prototype),n}return g(t,e),t}(Error),de=function(e){function t(t,n){var r=e.call(this)||this;return r.subject=t,r.subscriber=n,r.closed=!1,r}return g(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}},t}(M),pe=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return g(t,e),t}(L),fe=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return g(t,e),t.prototype[I]=function(){return new pe(this)},t.prototype.lift=function(e){var t=new ge(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new he;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;i<n;i++)r[i].next(e)},t.prototype.error=function(e){if(this.closed)throw new he;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,n=t.length,r=t.slice(),i=0;i<n;i++)r[i].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new he;this.isStopped=!0;for(var e=this.observers,t=e.length,n=e.slice(),r=0;r<t;r++)n[r].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(this.closed)throw new he;return e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){if(this.closed)throw new he;return this.hasError?(e.error(this.thrownError),M.EMPTY):this.isStopped?(e.complete(),M.EMPTY):(this.observers.push(e),new de(this,e))},t.prototype.asObservable=function(){var e=new P;return e.source=this,e},t.create=function(e,t){return new ge(e,t)},t}(P),ge=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return g(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):M.EMPTY},t}(fe);var me=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ve(e,this.accumulator,this.seed,this.hasSeed))},e}(),ve=function(e){function t(t,n,r,i){var o=e.call(this,t)||this;return o.accumulator=n,o._seed=r,o.hasSeed=i,o.index=0,o}return g(t,e),Object.defineProperty(t.prototype,\"seed\",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(e){this.destination.error(e)}this.seed=t,this.destination.next(t)},t}(L),ye=(n(311),function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column},e.prototype.isBeforeOrEqual=function(t){return e.isBeforeOrEqual(this,t)},e.isBeforeOrEqual=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column},e.compare=function(e,t){var n=0|e.lineNumber,r=0|t.lineNumber;return n===r?(0|e.column)-(0|t.column):n-r},e.prototype.clone=function(){return new e(this.lineNumber,this.column)},e.prototype.toString=function(){return\"(\"+this.lineNumber+\",\"+this.column+\")\"},e.lift=function(t){return new e(t.lineNumber,t.column)},e.isIPosition=function(e){return e&&\"number\"==typeof e.lineNumber&&\"number\"==typeof e.column},e}()),be=function(){function e(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var r,i,o,s;return n.startLineNumber<t.startLineNumber?(r=n.startLineNumber,i=n.startColumn):n.startLineNumber===t.startLineNumber?(r=n.startLineNumber,i=Math.min(n.startColumn,t.startColumn)):(r=t.startLineNumber,i=t.startColumn),n.endLineNumber>t.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(r,i,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,s=t.endColumn,a=n.startLineNumber,u=n.startColumn,l=n.endLineNumber,c=n.endColumn;return r<a?(r=a,i=u):r===a&&(i=Math.max(i,u)),o>l?(o=l,s=c):o===l&&(s=Math.min(s,c)),r>o?null:r===o&&i>s?null:new e(r,i,o,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new ye(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new ye(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return\"[\"+this.startLineNumber+\",\"+this.startColumn+\" -> \"+this.endLineNumber+\",\"+this.endColumn+\"]\"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&\"number\"==typeof e.startLineNumber&&\"number\"==typeof e.startColumn&&\"number\"==typeof e.endLineNumber&&\"number\"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)},e.compareRangesUsingStarts=function(e,t){var n=0|e.startLineNumber,r=0|t.startLineNumber;if(n===r){var i=0|e.startColumn,o=0|t.startColumn;if(i===o){var s=0|e.endLineNumber,a=0|t.endLineNumber;return s===a?(0|e.endColumn)-(0|t.endColumn):s-a}return i-o}return n-r},e.compareRangesUsingEnds=function(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e}();var _e={ICodeEditor:\"vs.editor.ICodeEditor\",IDiffEditor:\"vs.editor.IDiffEditor\"},Ce={ExecuteCommand:\"executeCommand\",ExecuteCommands:\"executeCommands\",Type:\"type\",ReplacePreviousChar:\"replacePreviousChar\",CompositionStart:\"compositionStart\",CompositionEnd:\"compositionEnd\",Paste:\"paste\",Cut:\"cut\",Undo:\"undo\",Redo:\"redo\"},we=n(2),De=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function Ee(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()}function Ae(e){return encodeURIComponent(e).replace(/[!'()*]/g,Ee)}function Se(e){return e.replace(/[#?]/,Ee)}var xe=/^\\w[\\w\\d+.-]*$/,Me=/^\\//,Ne=/^\\/\\//;var Ie=\"\",Le=\"/\",ke=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/,Te=/^\\/[a-zA-Z]:/,Fe=/^(\\/)?([A-Z]:)/,Oe=/^[a-zA-Z]:/,Pe=function(){function e(e,t,n,r,i){\"object\"==typeof e?(this.scheme=e.scheme||Ie,this.authority=e.authority||Ie,this.path=e.path||Ie,this.query=e.query||Ie,this.fragment=e.fragment||Ie):(this.scheme=e||Ie,this.authority=t||Ie,this.path=n||Ie,this.query=r||Ie,this.fragment=i||Ie,function(e){if(e.scheme&&!xe.test(e.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(e.path)if(e.authority){if(!Me.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(Ne.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}(this))}return e.isUri=function(t){return t instanceof e||!!t&&(\"string\"==typeof t.authority&&\"string\"==typeof t.fragment&&\"string\"==typeof t.path&&\"string\"==typeof t.query&&\"string\"==typeof t.scheme)},Object.defineProperty(e.prototype,\"fsPath\",{get:function(){return je(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=Ie),void 0===n?n=this.authority:null===n&&(n=Ie),void 0===r?r=this.path:null===r&&(r=Ie),void 0===i?i=this.query:null===i&&(i=Ie),void 0===o?o=this.fragment:null===o&&(o=Ie),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new Re(t,n,r,i,o)},e.parse=function(e){var t=ke.exec(e);return t?new Re(t[2]||Ie,decodeURIComponent(t[4]||Ie),decodeURIComponent(t[5]||Ie),decodeURIComponent(t[7]||Ie),decodeURIComponent(t[9]||Ie)):new Re(Ie,Ie,Ie,Ie,Ie)},e.file=function(e){var t=Ie;if(we.g&&(e=e.replace(/\\\\/g,Le)),e[0]===Le&&e[1]===Le){var n=e.indexOf(Le,2);-1===n?(t=e.substring(2),e=Le):(t=e.substring(2,n),e=e.substring(n)||Le)}return Oe.test(e)?e=Le+e:e[0]!==Le&&(e=Le+e),new Re(\"file\",t,e,Ie,Ie)},e.from=function(e){return new Re(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),ze(this,e)},e.prototype.toJSON=function(){var e={$mid:1,fsPath:this.fsPath,external:this.toString()};return this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new Re(t);return n._fsPath=t.fsPath,n._formatted=t.external,n}return t},e}(),Be=Pe,Re=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return De(t,e),Object.defineProperty(t.prototype,\"fsPath\",{get:function(){return this._fsPath||(this._fsPath=je(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?ze(this,!0):(this._formatted||(this._formatted=ze(this,!1)),this._formatted)},t}(Pe);function je(e){var t;return t=e.authority&&e.path&&\"file\"===e.scheme?\"//\"+e.authority+e.path:Te.test(e.path)?e.path[1].toLowerCase()+e.path.substr(2):e.path,we.g&&(t=t.replace(/\\//g,\"\\\\\")),t}function ze(e,t){var n=t?Se:Ae,r=[],i=e.scheme,o=e.authority,s=e.path,a=e.query,u=e.fragment;if(i&&r.push(i,\":\"),(o||\"file\"===i)&&r.push(\"//\"),o){if(-1!==(d=o.indexOf(\"@\"))){var l=o.substr(0,d);o=o.substr(d+1),-1===(d=l.indexOf(\":\"))?r.push(n(l)):r.push(n(l.substr(0,d)),\":\",n(l.substr(d+1))),r.push(\"@\")}-1===(d=(o=o.toLowerCase()).indexOf(\":\"))?r.push(n(o)):r.push(n(o.substr(0,d)),o.substr(d))}if(s){var c=Fe.exec(s);c&&(s=c[1]?\"/\"+c[2].toLowerCase()+s.substr(3):c[2].toLowerCase()+s.substr(2));for(var h=0;;){var d;if(-1===(d=s.indexOf(Le,h))){r.push(n(s.substring(h)));break}r.push(n(s.substring(h,d)),Le),h=d+1}}return a&&r.push(\"?\",n(a)),u&&r.push(\"#\",n(u)),r.join(Ie)}var We=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();var Ve,He=function(){function e(){this._value=\"\",this._pos=0}return e.prototype.reset=function(e){return this._value=e,this._pos=0,this},e.prototype.next=function(){return this._pos+=1,this},e.prototype.join=function(e){return e.join(\"\")},e.prototype.hasNext=function(){return this._pos<this._value.length-1},e.prototype.cmp=function(e){return e.charCodeAt(0)-this._value.charCodeAt(this._pos)},e.prototype.value=function(){return this._value[this._pos]},e}(),Ue=function(){function e(){}return e.prototype.reset=function(e){return this._value=e.replace(/\\\\$|\\/$/,\"\"),this._from=0,this._to=0,this.next()},e.prototype.hasNext=function(){return this._to<this._value.length},e.prototype.join=function(e){return e.join(\"/\")},e.prototype.next=function(){this._from=this._to;for(var t=!0;this._to<this._value.length;this._to++){var n=this._value.charCodeAt(this._to);if(n===e._fwd||n===e._bwd){if(!t)break;this._from++}else t=!1}return this},e.prototype.cmp=function(e){for(var t=0,n=e.length,r=this._from;t<n&&r<this._to;){var i=e.charCodeAt(t)-this._value.charCodeAt(r);if(0!==i)return i;t+=1,r+=1}return n===this._to-this._from?0:t<n?-1:1},e.prototype.value=function(){return this._value.substring(this._from,this._to)},e._fwd=\"/\".charCodeAt(0),e._bwd=\"\\\\\".charCodeAt(0),e}(),Ye=function(){function e(){}return e.prototype.isEmpty=function(){return!(this.left||this.mid||this.right||this.element)},e}(),Ze=function(){function e(e){this._iter=e}return e.forPaths=function(){return new e(new Ue)},e.forStrings=function(){return new e(new He)},e.prototype.clear=function(){this._root=void 0},e.prototype.set=function(e,t){var n,r=this._iter.reset(e);for(this._root||(this._root=new Ye,this._root.str=r.value()),n=this._root;;){var i=r.cmp(n.str);if(i>0)n.left||(n.left=new Ye,n.left.str=r.value()),n=n.left;else if(i<0)n.right||(n.right=new Ye,n.right.str=r.value()),n=n.right;else{if(!r.hasNext())break;r.next(),n.mid||(n.mid=new Ye,n.mid.str=r.value()),n=n.mid}}var o=n.element;return n.element=t,o},e.prototype.get=function(e){for(var t=this._iter.reset(e),n=this._root;n;){var r=t.cmp(n.str);if(r>0)n=n.left;else if(r<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n?n.element:void 0},e.prototype.delete=function(e){for(var t=this._iter.reset(e),n=[],r=this._root;r;){var i=t.cmp(r.str);if(i>0)n.push([1,r]),r=r.left;else if(i<0)n.push([-1,r]),r=r.right;else{if(!t.hasNext()){for(r.element=void 0;n.length>0&&r.isEmpty();){var o=n.pop(),s=o[0],a=o[1];switch(s){case 1:a.left=void 0;break;case 0:a.mid=void 0;break;case-1:a.right=void 0}r=a}break}t.next(),n.push([0,r]),r=r.mid}}},e.prototype.findSubstr=function(e){for(var t,n=this._iter.reset(e),r=this._root;r;){var i=n.cmp(r.str);if(i>0)r=r.left;else if(i<0)r=r.right;else{if(!n.hasNext())break;n.next(),t=r.element||t,r=r.mid}}return r&&r.element||t},e.prototype.findSuperstr=function(t){for(var n=this._iter.reset(t),r=this._root;r;){var i=n.cmp(r.str);if(i>0)r=r.left;else if(i<0)r=r.right;else{if(!n.hasNext()){if(!r.mid)return;var o=new e(this._iter);return o._root=r.mid,o}n.next(),r=r.mid}}},e.prototype.forEach=function(e){this._forEach(this._root,[],e)},e.prototype._forEach=function(e,t,n){e&&(this._forEach(e.left,t,n),t.push(e.str),e.element&&n(e.element,this._iter.join(t)),this._forEach(e.mid,t,n),t.pop(),this._forEach(e.right,t,n))},e}(),Ge=function(){function e(){this.map=new Map,this.ignoreCase=!1}return e.prototype.set=function(e,t){this.map.set(this.toKey(e),t)},e.prototype.get=function(e){return this.map.get(this.toKey(e))},e.prototype.has=function(e){return this.map.has(this.toKey(e))},Object.defineProperty(e.prototype,\"size\",{get:function(){return this.map.size},enumerable:!0,configurable:!0}),e.prototype.clear=function(){this.map.clear()},e.prototype.delete=function(e){return this.map.delete(this.toKey(e))},e.prototype.forEach=function(e){this.map.forEach(e)},e.prototype.values=function(){return e=this.map,t=[],e.forEach(function(e){return t.push(e)}),t;var e,t},e.prototype.toKey=function(e){var t=e.toString();return this.ignoreCase&&(t=t.toLowerCase()),t},e.prototype.keys=function(){return(e=this.map,t=[],e.forEach(function(e,n){return t.push(n)}),t).map(Be.parse);var e,t},e}();!function(e){e[e.None=0]=\"None\",e[e.AsOld=1]=\"AsOld\",e[e.AsNew=2]=\"AsNew\"}(Ve||(Ve={}));var Ke=function(e){function t(t,n){void 0===n&&(n=1);var r=e.call(this)||this;return r._limit=t,r._ratio=Math.min(Math.max(0,n),1),r}return We(t,e),Object.defineProperty(t.prototype,\"limit\",{get:function(){return this._limit},set:function(e){this._limit=e,this.checkTrim()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ratio\",{get:function(){return this._ratio},set:function(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()},enumerable:!0,configurable:!0}),t.prototype.get=function(t){return e.prototype.get.call(this,t,Ve.AsNew)},t.prototype.peek=function(t){return e.prototype.get.call(this,t,Ve.None)},t.prototype.set=function(t,n){e.prototype.set.call(this,t,n,Ve.AsNew),this.checkTrim()},t.prototype.checkTrim=function(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))},t}(function(){function e(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}return e.prototype.clear=function(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0},e.prototype.isEmpty=function(){return!this._head&&!this._tail},Object.defineProperty(e.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.get=function(e,t){void 0===t&&(t=Ve.None);var n=this._map.get(e);if(n)return t!==Ve.None&&this.touch(n,t),n.value},e.prototype.set=function(e,t,n){void 0===n&&(n=Ve.None);var r=this._map.get(e);if(r)r.value=t,n!==Ve.None&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case Ve.None:this.addItemLast(r);break;case Ve.AsOld:this.addItemFirst(r);break;case Ve.AsNew:default:this.addItemLast(r)}this._map.set(e,r),this._size++}},e.prototype.delete=function(e){return!!this.remove(e)},e.prototype.remove=function(e){var t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value},e.prototype.shift=function(){if(this._head||this._tail){if(!this._head||!this._tail)throw new Error(\"Invalid list\");var e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}},e.prototype.forEach=function(e,t){for(var n=this._head;n;)t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),n=n.next},e.prototype.values=function(){for(var e=[],t=this._head;t;)e.push(t.value),t=t.next;return e},e.prototype.keys=function(){for(var e=[],t=this._head;t;)e.push(t.key),t=t.next;return e},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,n=this.size;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t.previous=void 0}else this.clear()},e.prototype.addItemFirst=function(e){if(this._head||this._tail){if(!this._head)throw new Error(\"Invalid list\");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e},e.prototype.addItemLast=function(e){if(this._head||this._tail){if(!this._tail)throw new Error(\"Invalid list\");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e},e.prototype.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head)this._head=e.next;else if(e===this._tail)this._tail=e.previous;else{var t=e.next,n=e.previous;if(!t||!n)throw new Error(\"Invalid list\");t.previous=n,n.next=t}},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error(\"Invalid list\");if(t===Ve.AsOld||t===Ve.AsNew)if(t===Ve.AsOld){if(e===this._head)return;var n=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(n.previous=r,r.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===Ve.AsNew){if(e===this._tail)return;n=e.next,r=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=r,r.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}},e.prototype.toJSON=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),e},e.prototype.fromJSON=function(e){this.clear();for(var t=0,n=e;t<n.length;t++){var r=n[t],i=r[0],o=r[1];this.set(i,o)}},e}()),qe=\"\";function Qe(e){return!e||\"string\"!=typeof e||0===e.trim().length}function Xe(e,t,n){void 0===n&&(n=\"0\");for(var r=\"\"+e,i=[r],o=r.length;o<t;o++)i.push(n);return i.reverse().join(\"\")}var Je=/{(\\d+)}/g;function $e(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return 0===t.length?e:e.replace(Je,function(e,n){var r=parseInt(n,10);return isNaN(r)||r<0||r>=t.length?e:t[r]})}function et(e){return e.replace(/[<|>|&]/g,function(e){switch(e){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case\"&\":return\"&amp;\";default:return e}})}function tt(e){return e.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)\\#]/g,\"\\\\$&\")}function nt(e,t){return void 0===t&&(t=\" \"),it(rt(e,t),t)}function rt(e,t){if(!e||!t)return e;var n=t.length;if(0===n||0===e.length)return e;for(var r=0;e.indexOf(t,r)===r;)r+=n;return e.substring(r)}function it(e,t){if(!e||!t)return e;var n=t.length,r=e.length;if(0===n||0===r)return e;for(var i=r,o=-1;-1!==(o=e.lastIndexOf(t,i-1))&&o+n===i;){if(0===o)return\"\";i=o}return e.substring(0,i)}function ot(e){return e.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")}function st(e){return e.replace(/\\*/g,\"\")}function at(e,t){if(e.length<t.length)return!1;if(e===t)return!0;for(var n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function ut(e,t){var n=e.length-t.length;return n>0?e.indexOf(t,n)===n:0===n&&e===t}function lt(e,t,n){if(void 0===n&&(n={}),!e)throw new Error(\"Cannot create regex from empty string\");t||(e=tt(e)),n.wholeWord&&(/\\B/.test(e.charAt(0))||(e=\"\\\\b\"+e),/\\B/.test(e.charAt(e.length-1))||(e+=\"\\\\b\"));var r=\"\";return n.global&&(r+=\"g\"),n.matchCase||(r+=\"i\"),n.multiline&&(r+=\"m\"),new RegExp(e,r)}function ct(e){return\"^\"!==e.source&&\"^$\"!==e.source&&\"$\"!==e.source&&\"^\\\\s*$\"!==e.source&&(e.exec(\"\")&&0===e.lastIndex)}function ht(e){return!!e.match(/([^\\\\]|^)(\\\\\\\\)*\\\\\\d+/)}var dt=\"function\"==typeof\"\".normalize,pt=new Ke(1e4);function ft(e){return yt(e,\"NFC\",pt)}var gt=new Ke(1e4);function mt(e){return yt(e,\"NFD\",gt)}var vt=/[^\\u0000-\\u0080]/;function yt(e,t,n){if(!dt||!e)return e;var r,i=n.get(e);return i||(r=vt.test(e)?e.normalize(t):e,n.set(e,r),r)}function bt(e){for(var t=0,n=e.length;t<n;t++){var r=e.charCodeAt(t);if(32!==r&&9!==r)return t}return-1}function _t(e,t,n){void 0===t&&(t=0),void 0===n&&(n=e.length);for(var r=t;r<n;r++){var i=e.charCodeAt(r);if(32!==i&&9!==i)return e.substring(t,r)}return e.substring(t,n)}function Ct(e,t){void 0===t&&(t=e.length-1);for(var n=t;n>=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1}function wt(e,t){return e<t?-1:e>t?1:0}function Dt(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++){var i=e.charCodeAt(r),o=t.charCodeAt(r);if(i!==o){At(i)&&(i+=32),At(o)&&(o+=32);var s=i-o;if(0!==s)return Et(i)&&Et(o)?s:wt(e.toLowerCase(),t.toLowerCase())}}return e.length<t.length?-1:e.length>t.length?1:0}function Et(e){return e>=97&&e<=122}function At(e){return e>=65&&e<=90}function St(e){return Et(e)||At(e)}function xt(e,t){return(e?e.length:0)===(t?t.length:0)&&Mt(e,t)}function Mt(e,t,n){if(void 0===n&&(n=e.length),\"string\"!=typeof e||\"string\"!=typeof t)return!1;for(var r=0;r<n;r++){var i=e.charCodeAt(r),o=t.charCodeAt(r);if(i!==o)if(St(i)&&St(o)){var s=Math.abs(i-o);if(0!==s&&32!==s)return!1}else if(String.fromCharCode(i).toLowerCase()!==String.fromCharCode(o).toLowerCase())return!1}return!0}function Nt(e,t){var n=t.length;return!(t.length>e.length)&&Mt(e,t,n)}function It(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n<r;n++)if(e.charCodeAt(n)!==t.charCodeAt(n))return n;return r}function Lt(e,t){var n,r=Math.min(e.length,t.length),i=e.length-1,o=t.length-1;for(n=0;n<r;n++)if(e.charCodeAt(i-n)!==t.charCodeAt(o-n))return n;return r}function kt(e,t,n,r,i,o){for(;t<n&&i<o;){if(e[t]!==r[i])return!1;t+=1,i+=1}return!0}function Tt(e,t){var n=e.length,r=t.length,i=n-r;if(0===i)return e===t?n:0;for(i<0&&(r+=i,i=0);i<n&&r>0;){if(kt(e,i,n,t,0,r))return r;r-=1,i+=1}return 0}function Ft(e){return 55296<=e&&e<=56319}function Ot(e){return 56320<=e&&e<=57343}var Pt=/(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u08BD\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE33\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDCFF]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD50-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/;function Bt(e){return Pt.test(e)}var Rt=/(?:[\\u231A\\u231B\\u23F0\\u23F3\\u2600-\\u27BF\\u2B50\\u2B55]|\\uD83C[\\uDDE6-\\uDDFF\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDE4F\\uDE80-\\uDEF8]|\\uD83E[\\uDD00-\\uDDE6])/;function jt(e){return Rt.test(e)}var zt=/^[\\t\\n\\r\\x20-\\x7E]*$/;function Wt(e){return zt.test(e)}function Vt(e){for(var t=0,n=e.length;t<n;t++)if(Ht(e.charCodeAt(t)))return!0;return!1}function Ht(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function Ut(e,t){if(e.length<t)return e;for(var n=/\\b/g,r=0;n.test(e)&&!(e.length-n.lastIndex<t);)r=n.lastIndex,n.lastIndex+=1;return e.substring(r).replace(/^\\s/,qe)}var Yt=/\\x1B\\x5B[12]?K/g,Zt=/\\x1b\\[\\d+m/g,Gt=/\\x1b\\[0?m/g;function Kt(e){return e&&(e=(e=(e=e.replace(Yt,\"\")).replace(Zt,\"\")).replace(Gt,\"\")),e}var qt=String.fromCharCode(65279);function Qt(e){return e&&e.length>0&&65279===e.charCodeAt(0)}function Xt(e){return Qt(e)?e.substr(1):e}function Jt(e){return btoa(encodeURIComponent(e))}function $t(e,t){for(var n=\"\",r=0;r<t;r++)n+=e;return n}function en(e,t){if(!e||!t)return!1;if(e.length<t.length)return!1;for(var n=t.length,r=e.toLowerCase(),i=0,o=-1;i<n;){var s=r.indexOf(t[i],o+1);if(s<0)return!1;o=s,i++}return!0}function tn(e,t){return void 0===t&&(t=!1),!!e&&(t&&(e=e.replace(/\\\\./g,\"\")),e.toLowerCase()!==e)}function nn(e){var t,n=this,r=!1;return function(){return r?t:(r=!0,t=e.apply(n,arguments))}}var rn=Object.freeze({dispose:function(){}});function on(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Array.isArray(e)?(e.forEach(function(e){return e&&e.dispose()}),[]):0===t.length?e?(e.dispose(),e):void 0:(on(e),on(t),[])}function sn(e){return{dispose:function(){return on(e)}}}function an(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return{dispose:function(){for(var t=0,n=e;t<n.length;t++){(0,n[t])()}}}}var un=function(){function e(){this._toDispose=[]}return e.prototype.dispose=function(){this._toDispose=on(this._toDispose)},e.prototype._register=function(e){return this._toDispose.push(e),e},e}(),ln=(function(){function e(){this.references=Object.create(null)}e.prototype.acquire=function(e){var t=this,n=this.references[e];n||(n=this.references[e]={counter:0,object:this.createReferencedObject(e)});var r=n.object,i=nn(function(){0==--n.counter&&(t.destroyReferencedObject(n.object),delete t.references[e])});return n.counter++,{object:r,dispose:i}}}(),function(){function e(e){this.object=e}return e.prototype.dispose=function(){},e}()),cn=n(1),hn={};cn.b.addEventListener(\"error\",function(e){var t=e.detail,n=t.id;t.parent?t.handler&&hn&&delete hn[n]:(hn[n]=t,1===Object.keys(hn).length&&setTimeout(function(){var e=hn;hn={},Object.keys(e).forEach(function(t){var n=e[t];n.exception?pn(n.exception):n.error&&pn(n.error),console.log(\"WARNING: Promise with no error callback:\"+n.id),console.log(n),n.exception&&console.log(n.exception.stack)})},0))});var dn=new(function(){function e(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(function(){if(e.stack)throw new Error(e.message+\"\\n\\n\"+e.stack);throw e},0)}}return e.prototype.addListener=function(e){var t=this;return this.listeners.push(e),function(){t._removeListener(e)}},e.prototype.emit=function(e){this.listeners.forEach(function(t){t(e)})},e.prototype._removeListener=function(e){this.listeners.splice(this.listeners.indexOf(e),1)},e.prototype.setUnexpectedErrorHandler=function(e){this.unexpectedErrorHandler=e},e.prototype.getUnexpectedErrorHandler=function(){return this.unexpectedErrorHandler},e.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},e.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},e}());function pn(e){vn(e)||dn.onUnexpectedError(e)}function fn(e){vn(e)||dn.onUnexpectedExternalError(e)}function gn(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e}var mn=\"Canceled\";function vn(e){return e instanceof Error&&e.name===mn&&e.message===mn}function yn(e){return e?new Error(\"Illegal argument: \"+e):new Error(\"Illegal argument\")}var bn,_n=function(){return function(e){this.element=e}}(),Cn=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.clear=function(){this._first=void 0,this._last=void 0},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var n=this,r=new _n(e);if(this._first)if(t){var i=this._last;this._last=r,r.prev=i,i.next=r}else{var o=this._first;this._first=r,r.next=o,o.prev=r}else this._first=r,this._last=r;return function(){for(var e=n._first;e instanceof _n;e=e.next)if(e===r){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(n._first=n._first.next,n._first.prev=void 0):(n._last=n._last.prev,n._last.next=void 0):(n._first=void 0,n._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e.prototype.toArray=function(){for(var e=[],t=this._first;t instanceof _n;t=t.next)e.push(t.element);return e},e}();!function(e){var t={dispose:function(){}};e.None=function(){return t}}(bn||(bn={}));var wn=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,\"event\",{get:function(){var t=this;return this._event||(this._event=function(n,r,i){t._listeners||(t._listeners=new Cn);var o=t._listeners.isEmpty();o&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,a=t._listeners.push(r?[n,r]:n);return o&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,r),s={dispose:function(){s.dispose=e._noop,t._disposed||(a(),t._options&&t._options.onLastListenerRemove&&t._listeners.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(i)&&i.push(s),s}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=[]);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.length>0;){var r=this._deliveryQueue.shift(),i=r[0],o=r[1];try{\"function\"==typeof i?i.call(void 0,o):i[0].call(i[1],o)}catch(n){pn(n)}}}},e.prototype.dispose=function(){this._listeners&&(this._listeners=void 0),this._deliveryQueue&&(this._deliveryQueue.length=0),this._disposed=!0},e._noop=function(){},e}(),Dn=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new wn({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}return Object.defineProperty(e.prototype,\"event\",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return an(nn(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);t.events.splice(e,1)}))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach(function(t){return e.hook(t)})},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach(function(t){return e.unhook(t)})},e.prototype.hook=function(e){var t=this;e.listener=e.event(function(e){return t.emitter.fire(e)})},e.prototype.unhook=function(e){e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}();function En(e){return function(t,n,r){void 0===n&&(n=null);var i=e(function(e){return i.dispose(),t.call(n,e)},null,r);return i}}function An(e,t,n,r){var i;void 0===n&&(n=100),void 0===r&&(r=!1);var o=void 0,s=void 0,a=0,u=new wn({onFirstListenerAdd:function(){i=e(function(e){a++,o=t(o,e),r&&!s&&u.fire(o),clearTimeout(s),s=setTimeout(function(){var e=o;o=void 0,s=void 0,(!r||a>1)&&u.fire(e),a=0},n)})},onLastListenerRemove:function(){i.dispose()}});return u.event}var Sn=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e(function(e){var i=t.buffers[t.buffers.length-1];i?i.push(function(){return n.call(r,e)}):n.call(r,e)},void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach(function(e){return e()})},e}();function xn(e,t){return function(n,r,i){return void 0===r&&(r=null),e(function(e){return n.call(r,t(e))},null,i)}}function Mn(e,t){return function(n,r,i){return void 0===r&&(r=null),e(function(e){return t(e)&&n.call(r,e)},null,i)}}var Nn=function(){function e(e){this._event=e}return Object.defineProperty(e.prototype,\"event\",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(xn(this._event,t))},e.prototype.forEach=function(t){return new e((n=this._event,r=t,function(e,t,i){return void 0===t&&(t=null),n(function(n){r(n),e.call(t,n)},null,i)}));var n,r},e.prototype.filter=function(t){return new e(Mn(this._event,t))},e.prototype.latch=function(){return new e((t=this._event,r=!0,Mn(t,function(e){var t=r||e!==n;return r=!1,n=e,t})));var t,n,r},e.prototype.on=function(e,t,n){return this._event(e,t,n)},e}();function In(e){return new Nn(e)}var Ln,kn,Tn,Fn,On=function(){function e(){this.emitter=new wn,this.event=this.emitter.event,this.disposable=rn}return Object.defineProperty(e.prototype,\"input\",{set:function(e){this.disposable.dispose(),this.disposable=e(this.emitter.fire,this.emitter)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposable.dispose(),this.emitter.dispose()},e}();!function(e){e[e.Left=1]=\"Left\",e[e.Center=2]=\"Center\",e[e.Right=4]=\"Right\",e[e.Full=7]=\"Full\"}(Ln||(Ln={})),function(e){e[e.TextDefined=0]=\"TextDefined\",e[e.LF=1]=\"LF\",e[e.CRLF=2]=\"CRLF\"}(kn||(kn={})),function(e){e[e.LF=1]=\"LF\",e[e.CRLF=2]=\"CRLF\"}(Tn||(Tn={})),function(e){e[e.LF=0]=\"LF\",e[e.CRLF=1]=\"CRLF\"}(Fn||(Fn={}));var Pn,Bn=function(){function e(e){this.tabSize=0|e.tabSize,this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace)}return e.prototype.equals=function(e){return this.tabSize===e.tabSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace},e.prototype.createChangeEvent=function(e){return{tabSize:this.tabSize!==e.tabSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}},e}(),Rn=function(){return function(e,t){this.range=e,this.matches=t}}();!function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]=\"AlwaysGrowsWhenTypingAtEdges\",e[e.NeverGrowsWhenTypingAtEdges=1]=\"NeverGrowsWhenTypingAtEdges\",e[e.GrowsOnlyWhenTypingBefore=2]=\"GrowsOnlyWhenTypingBefore\",e[e.GrowsOnlyWhenTypingAfter=3]=\"GrowsOnlyWhenTypingAfter\"}(Pn||(Pn={}));var jn=function(){return function(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}();function zn(e,t){return void 0===t&&(t=0),e[e.length-(1+t)]}function Wn(e,t,n){if(void 0===n&&(n=function(e,t){return e===t}),e.length!==t.length)return!1;for(var r=0,i=e.length;r<i;r++)if(!n(e[r],t[r]))return!1;return!0}function Vn(e,t,n){for(var r=0,i=e.length-1;r<=i;){var o=(r+i)/2|0,s=n(e[o],t);if(s<0)r=o+1;else{if(!(s>0))return o;i=o-1}}return-(r+1)}function Hn(e,t){return function e(t,n){if(t.length<=1)return;var r=t.length/2|0;var i=t.slice(0,r);var o=t.slice(r);e(i,n);e(o,n);var s=0;var a=0;var u=0;for(;s<i.length&&a<o.length;){var l=n(i[s],o[a]);t[u++]=l<=0?i[s++]:o[a++]}for(;s<i.length;)t[u++]=i[s++];for(;a<o.length;)t[u++]=o[a++]}(e,t),e}function Un(e,t){for(var n,r=[],i=0,o=Hn(e.slice(0),t);i<o.length;i++){var s=o[i];n&&0===t(n[0],s)?n.push(s):(n=[s],r.push(n))}return r}function Yn(e){return e?e.filter(function(e){return!!e}):e}function Zn(e){return!Array.isArray(e)||0===e.length}function Gn(e,t){if(!t)return e.filter(function(t,n){return e.indexOf(t)===n});var n=Object.create(null);return e.filter(function(e){var r=t(e);return!n[r]&&(n[r]=!0,!0)})}function Kn(e,t){for(var n=0;n<e.length;n++){if(t(e[n]))return n}return-1}function qn(e,t,n){void 0===n&&(n=null);var r=Kn(e,t);return r<0?n:e[r]}function Qn(e,t){var n=\"number\"==typeof t?e:0;\"number\"==typeof t?n=e:(n=0,t=e);var r=[];if(n<=t)for(var i=n;i<t;i++)r.push(i);else for(i=n;i>t;i--)r.push(i);return r}var Xn=\"/\",Jn=we.g?\"\\\\\":\"/\";function $n(e){var t=~e.lastIndexOf(\"/\")||~e.lastIndexOf(\"\\\\\");if(0===t)return\".\";if(0==~t)return e[0];if(~t==e.length-1)return $n(e.substring(0,e.length-1));var n=e.substring(0,~t);return we.g&&\":\"===n[n.length-1]&&(n+=Jn),n}function er(e){var t=~e.lastIndexOf(\"/\")||~e.lastIndexOf(\"\\\\\");return 0===t?e:~t==e.length-1?er(e.substring(0,e.length-1)):e.substr(1+~t)}function tr(e){var t=~(e=er(e)).lastIndexOf(\".\");return t?e.substring(~t):\"\"}var nr=/(\\/\\.\\.?\\/)|(\\/\\.\\.?)$|^(\\.\\.?\\/)|(\\/\\/+)|(\\\\)/,rr=/(\\\\\\.\\.?\\\\)|(\\\\\\.\\.?)$|^(\\.\\.?\\\\)|(\\\\\\\\+)|(\\/)/;function ir(e,t){if(null===e||void 0===e)return e;var n=e.length;if(0===n)return\".\";var r=we.g&&t;if(function(e,t){return t?!rr.test(e):!nr.test(e)}(e,r))return e;for(var i=r?\"\\\\\":\"/\",o=function(e,t){void 0===t&&(t=\"/\");if(!e)return\"\";var n=e.length,r=e.charCodeAt(0);if(47===r||92===r){if((47===(r=e.charCodeAt(1))||92===r)&&47!==(r=e.charCodeAt(2))&&92!==r){for(var i=3,o=i;i<n&&(47!==(r=e.charCodeAt(i))&&92!==r);i++);if(r=e.charCodeAt(i+1),o!==i&&47!==r&&92!==r)for(i+=1;i<n;i++)if(47===(r=e.charCodeAt(i))||92===r)return e.slice(0,i+1).replace(/[\\\\/]/g,t)}return t}if((r>=65&&r<=90||r>=97&&r<=122)&&58===e.charCodeAt(1))return 47===(r=e.charCodeAt(2))||92===r?e.slice(0,2)+t:e.slice(0,2);var s=e.indexOf(\"://\");if(-1!==s)for(s+=3;s<n;s++)if(47===(r=e.charCodeAt(s))||92===r)return e.slice(0,s+1);return\"\"}(e,i),s=o.length,a=!1,u=\"\",l=o.length;l<=n;l++)if(l===n||47===e.charCodeAt(l)||92===e.charCodeAt(l)){if(or(e,s,l,\"..\")){var c=u.lastIndexOf(i),h=u.slice(c+1);(o||h.length>0)&&\"..\"!==h&&(u=-1===c?\"\":u.slice(0,c),a=!0)}else or(e,s,l,\".\")&&(o||u||l<n-1)&&(a=!0);if(!a){var d=e.slice(s,l);\"\"!==u&&u[u.length-1]!==i&&(u+=i),u+=d}s=l+1,a=!1}return o+u}function or(e,t,n,r){return t+r.length===n&&e.indexOf(r,t)===t}var sr=function(){for(var e=\"\",t=0;t<arguments.length;t++){var n=arguments[t];if(t>0){var r=e.charCodeAt(e.length-1);if(47!==r&&92!==r){var i=n.charCodeAt(0);47!==i&&92!==i&&(e+=Xn)}}e+=n}return ir(e)};we.g;function ar(e,t,n){if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){if(!Nt(e,t))return!1;if(t.length===e.length)return!0;var r=t.length;return t.charAt(t.length-1)===Jn&&r--,e.charAt(r)===Jn}return t.charAt(t.length-1)!==Jn&&(t+=Jn),0===e.indexOf(t)}var ur=\"**\",lr=\"/\",cr=\"[/\\\\\\\\]\",hr=\"[^/\\\\\\\\]\",dr=/\\//g;function pr(e){switch(e){case 0:return\"\";case 1:return hr+\"*?\";default:return\"(?:\"+cr+\"|\"+hr+\"+\"+cr+\"|\"+cr+hr+\"+)*?\"}}function fr(e,t){if(!e)return[];for(var n,r=[],i=!1,o=!1,s=\"\",a=0;a<e.length;a++){switch(n=e[a]){case t:if(!i&&!o){r.push(s),s=\"\";continue}break;case\"{\":i=!0;break;case\"}\":i=!1;break;case\"[\":o=!0;break;case\"]\":o=!1}s+=n}return s&&r.push(s),r}var gr,mr=/^\\*\\*\\/\\*\\.[\\w\\.-]+$/,vr=/^\\*\\*\\/([\\w\\.-]+)\\/?$/,yr=/^{\\*\\*\\/[\\*\\.]?[\\w\\.-]+\\/?(,\\*\\*\\/[\\*\\.]?[\\w\\.-]+\\/?)*}$/,br=/^{\\*\\*\\/[\\*\\.]?[\\w\\.-]+(\\/(\\*\\*)?)?(,\\*\\*\\/[\\*\\.]?[\\w\\.-]+(\\/(\\*\\*)?)?)*}$/,_r=/^\\*\\*((\\/[\\w\\.-]+)+)\\/?$/,Cr=/^([\\w\\.-]+(\\/[\\w\\.-]+)*)\\/?$/,wr=new Ke(1e4),Dr=function(){return!1},Er=function(){return null};function Ar(e,t){if(!e)return Er;var n,r,i=(n=(n=\"string\"!=typeof e?e.pattern:e).trim())+\"_\"+!!t.trimForExclusions,o=wr.get(i);if(o)return Sr(o,e);if(mr.test(n)){var s=n.substr(4);o=function(e,t){return e&&ut(e,s)?n:null}}else o=(r=vr.exec(xr(n,t)))?function(e,t){var n=\"/\"+e,r=\"\\\\\"+e,i=function(i,o){return i?o?o===e?t:null:i===e||ut(i,n)||ut(i,r)?t:null:null},o=[e];return i.basenames=o,i.patterns=[t],i.allBasenames=o,i}(r[1],n):(t.trimForExclusions?br:yr).test(n)?function(e,t){var n=Lr(e.slice(1,-1).split(\",\").map(function(e){return Ar(e,t)}).filter(function(e){return e!==Er}),e),r=n.length;if(!r)return Er;if(1===r)return n[0];var i=function(t,r){for(var i=0,o=n.length;i<o;i++)if(n[i](t,r))return e;return null},o=qn(n,function(e){return!!e.allBasenames});o&&(i.allBasenames=o.allBasenames);var s=n.reduce(function(e,t){return t.allPaths?e.concat(t.allPaths):e},[]);s.length&&(i.allPaths=s);return i}(n,t):(r=_r.exec(xr(n,t)))?Mr(r[1].substr(1),n,!0):(r=Cr.exec(xr(n,t)))?Mr(r[1],n,!1):function(e){try{var t=new RegExp(\"^\"+function e(t){if(!t)return\"\";var n=\"\",r=fr(t,lr);if(r.every(function(e){return e===ur}))n=\".*\";else{var i=!1;r.forEach(function(t,o){if(t!==ur){for(var s,a=!1,u=\"\",l=!1,c=\"\",h=0;h<t.length;h++)if(\"}\"!==(s=t[h])&&a)u+=s;else if(!l||\"]\"===s&&c)switch(s){case\"{\":a=!0;continue;case\"[\":l=!0;continue;case\"}\":var d=\"(?:\"+fr(u,\",\").map(function(t){return e(t)}).join(\"|\")+\")\";n+=d,a=!1,u=\"\";break;case\"]\":n+=\"[\"+c+\"]\",l=!1,c=\"\";break;case\"?\":n+=hr;continue;case\"*\":n+=pr(1);continue;default:n+=tt(s)}else c+=\"-\"===s?s:\"^\"!==s&&\"!\"!==s||c?s===lr?\"\":tt(s):\"^\";o<r.length-1&&(r[o+1]!==ur||o+2<r.length)&&(n+=cr),i=!1}else i||(n+=pr(2),i=!0)})}return n}(e)+\"$\");return function(n,r){return t.lastIndex=0,n&&t.test(n)?e:null}}catch(e){return Er}}(n);return wr.set(i,o),Sr(o,e)}function Sr(e,t){return\"string\"==typeof t?e:function(n,r){return ar(n,t.base)?e(ir(t.pathToRelative(t.base,n)),r):null}}function xr(e,t){return t.trimForExclusions&&ut(e,\"/**\")?e.substr(0,e.length-2):e}function Mr(e,t,n){var r=Jn!==Xn?e.replace(dr,Jn):e,i=Jn+r,o=n?function(e,n){return e&&(e===r||ut(e,i))?t:null}:function(e,n){return e&&e===r?t:null};return o.allPaths=[(n?\"*/\":\"./\")+e],o}function Nr(e,t,n){return!(!e||!t)&&Ir(e)(t,void 0,n)}function Ir(e,t){if(void 0===t&&(t={}),!e)return Dr;if(\"string\"==typeof e||(i=e)&&\"string\"==typeof i.base&&\"string\"==typeof i.pattern&&\"function\"==typeof i.pathToRelative){var n=Ar(e,t);if(n===Er)return Dr;var r=function(e,t){return!!n(e,t)};return n.allBasenames&&(r.allBasenames=n.allBasenames),n.allPaths&&(r.allPaths=n.allPaths),r}var i;return function(e,t){var n=Lr(Object.getOwnPropertyNames(e).map(function(n){return function(e,t,n){if(!1===t)return Er;var r=Ar(e,n);if(r===Er)return Er;if(\"boolean\"==typeof t)return r;if(t){var i=t.when;if(\"string\"==typeof i){var o=function(t){var n=i.replace(\"$(basename)\",t.name);return-1!==t.siblings.indexOf(n)?e:null},s=function(e,t,n){if(!r(e,t))return null;var i=n();return i?cn.b.is(i)?i.then(o):o(i):null};return s.requiresSiblings=!0,s}}return r}(n,e[n],t)}).filter(function(e){return e!==Er})),r=n.length;if(!r)return Er;if(!n.some(function(e){return e.requiresSiblings})){if(1===r)return n[0];var i=function(e,t,r){for(var i=0,o=n.length;i<o;i++){var s=n[i](e,t);if(s)return s}return null},o=qn(n,function(e){return!!e.allBasenames});o&&(i.allBasenames=o.allBasenames);var s=n.reduce(function(e,t){return t.allPaths?e.concat(t.allPaths):e},[]);return s.length&&(i.allPaths=s),i}var a=function(e,t,r){var i,o=!r;function s(n){if(n&&n.length){t||(t=er(e));var r=t.substr(0,t.length-tr(e).length);return{siblings:n,name:r}}}function a(){if(!o){o=!0;var e=r();i=cn.b.is(e)?e.then(s):s(e)}return i}for(var u=0,l=n.length;u<l;u++){var c=n[u](e,t,a);if(c)return c}return null},u=qn(n,function(e){return!!e.allBasenames});u&&(a.allBasenames=u.allBasenames);var l=n.reduce(function(e,t){return t.allPaths?e.concat(t.allPaths):e},[]);l.length&&(a.allPaths=l);return a}(e,t)}function Lr(e,t){var n=e.filter(function(e){return!!e.basenames});if(n.length<2)return e;var r,i=n.reduce(function(e,t){return e.concat(t.basenames)},[]);if(t){r=[];for(var o=0,s=i.length;o<s;o++)r.push(t)}else r=n.reduce(function(e,t){return e.concat(t.patterns)},[]);var a=function(e,t){if(!e)return null;if(!t){var n=void 0;for(n=e.length;n>0;n--){var o=e.charCodeAt(n-1);if(47===o||92===o)break}t=e.substr(n)}var s=i.indexOf(t);return-1!==s?r[s]:null};a.basenames=i,a.patterns=r,a.allBasenames=i;var u=e.filter(function(e){return!e.basenames});return u.push(a),u}function kr(e,t,n,r){if(Array.isArray(e)){for(var i=0,o=0,s=e;o<s.length;o++){var a=kr(s[o],t,n,r);if(10===a)return a;a>i&&(i=a)}return i}if(\"string\"==typeof e)return r?\"*\"===e?5:e===n?10:0:0;if(e){var u=e.language,l=e.pattern,c=e.scheme,h=e.hasAccessToAllModels;if(!r&&!h)return 0;i=0;if(c)if(c===t.scheme)i=10;else{if(\"*\"!==c)return 0;i=5}if(u)if(u===n)i=10;else{if(\"*\"!==u)return 0;i=Math.max(i,5)}if(l){if(l!==t.fsPath&&!Nr(l,t.fsPath))return 0;i=10}return i}return 0}!function(e){e.serviceIds=new Map,e.DI_TARGET=\"$di$target\",e.DI_DEPENDENCIES=\"$di$dependencies\",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(gr||(gr={}));var Tr=Or(\"instantiationService\");function Fr(e,t,n,r){t[gr.DI_TARGET]===t?t[gr.DI_DEPENDENCIES].push({id:e,index:n,optional:r}):(t[gr.DI_DEPENDENCIES]=[{id:e,index:n,optional:r}],t[gr.DI_TARGET]=t)}function Or(e){if(gr.serviceIds.has(e))return gr.serviceIds.get(e);var t=function(e,n,r){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");Fr(t,e,r,!1)};return t.toString=function(){return e},gr.serviceIds.set(e,t),t}function Pr(e){return function(t,n,r){if(3!==arguments.length)throw new Error(\"@optional-decorator can only be used to decorate a parameter\");Fr(e,t,r,!0)}}var Br=Or(\"modelService\");function Rr(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}var jr=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new wn}return Object.defineProperty(e.prototype,\"onDidChange\",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this,r={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(r),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),{dispose:function(){if(r){var e=n._entries.indexOf(r);e>=0&&(n._entries.splice(e,1),n._lastCandidate=void 0,n._onDidChange.fire(n._entries.length),r=void 0)}}}},e.prototype.has=function(e){return this.all(e).length>0},e.prototype.all=function(e){if(!e)return[];this._updateScores(e);for(var t=[],n=0,r=this._entries;n<r.length;n++){var i=r[n];i._score>0&&t.push(i.provider)}return t},e.prototype.ordered=function(e){var t=[];return this._orderedForEach(e,function(e){return t.push(e.provider)}),t},e.prototype.orderedGroups=function(e){var t,n,r=[];return this._orderedForEach(e,function(e){t&&n===e._score?t.push(e.provider):(n=e._score,t=[e.provider],r.push(t))}),r},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var n=0;n<this._entries.length;n++){var r=this._entries[n];r._score>0&&t(r)}}},e.prototype._updateScores=function(t){var n={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==n.language||this._lastCandidate.uri!==n.uri){this._lastCandidate=n;for(var r=0,i=this._entries;r<i.length;r++){var o=i[r];o._score=kr(o.selector,t.uri,t.getLanguageIdentifier().language,Rr(t))}this._entries.sort(e._compareByScoreAndTime)}},e._compareByScoreAndTime=function(e,t){return e._score<t._score?1:e._score>t._score?-1:e._time<t._time?1:e._time>t._time?-1:0},e}(),zr=function(){function e(){this._onDidChange=new wn,this.onDidChange=this._onDidChange.event,this._map=Object.create(null),this._colorMap=null}return e.prototype.fire=function(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})},e.prototype.register=function(e,t){var n=this;return this._map[e]=t,this.fire([e]),{dispose:function(){n._map[e]===t&&(delete n._map[e],n.fire([e]))}}},e.prototype.get=function(e){return this._map[e]||null},e.prototype.setColorMap=function(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Object.keys(this._map),changedColorMap:!0})},e.prototype.getColorMap=function(){return this._colorMap},e.prototype.getDefaultBackground=function(){return this._colorMap[2]},e}(),Wr={number:\"number\",string:\"string\",undefined:\"undefined\",object:\"object\",function:\"function\"};function Vr(e){return Array.isArray?Array.isArray(e):!(!e||typeof e.length!==Wr.number||e.constructor!==Array)}function Hr(e){return typeof e===Wr.string||e instanceof String}function Ur(e){return!(typeof e!==Wr.object||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function Yr(e){return(typeof e===Wr.number||e instanceof Number)&&!isNaN(e)}function Zr(e){return!0===e||!1===e}function Gr(e){return typeof e===Wr.undefined}function Kr(e){return Gr(e)||null===e}var qr=Object.prototype.hasOwnProperty;function Qr(e){if(!Ur(e))return!1;for(var t in e)if(qr.call(e,t))return!1;return!0}function Xr(e){return typeof e===Wr.function}function Jr(e,t){if(Hr(t)){if(typeof e!==t)throw new Error(\"argument does not match constraint: typeof \"+t)}else if(Xr(t)){if(e instanceof t)return;if(!Kr(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error(\"argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true\")}}var $r,ei,ti,ni=function(){return function(e,t){this.language=e,this.id=t}}(),ri=function(){function e(){}return e.getLanguageId=function(e){return(255&e)>>>0},e.getTokenType=function(e){return(1792&e)>>>8},e.getFontStyle=function(e){return(14336&e)>>>11},e.getForeground=function(e){return(8372224&e)>>>14},e.getBackground=function(e){return(4286578688&e)>>>23},e.getClassNameFromMetadata=function(e){var t=\"mtk\"+this.getForeground(e),n=this.getFontStyle(e);return 1&n&&(t+=\" mtki\"),2&n&&(t+=\" mtkb\"),4&n&&(t+=\" mtku\"),t},e.getInlineStyleFromMetadata=function(e,t){var n=this.getForeground(e),r=this.getFontStyle(e),i=\"color: \"+t[n]+\";\";return 1&r&&(i+=\"font-style: italic;\"),2&r&&(i+=\"font-weight: bold;\"),4&r&&(i+=\"text-decoration: underline;\"),i},e}();!function(e){e[e.Invoke=0]=\"Invoke\",e[e.TriggerCharacter=1]=\"TriggerCharacter\",e[e.TriggerForIncompleteCompletions=2]=\"TriggerForIncompleteCompletions\"}($r||($r={})),function(e){e[e.Text=0]=\"Text\",e[e.Read=1]=\"Read\",e[e.Write=2]=\"Write\"}(ei||(ei={})),function(e){e[e.File=0]=\"File\",e[e.Module=1]=\"Module\",e[e.Namespace=2]=\"Namespace\",e[e.Package=3]=\"Package\",e[e.Class=4]=\"Class\",e[e.Method=5]=\"Method\",e[e.Property=6]=\"Property\",e[e.Field=7]=\"Field\",e[e.Constructor=8]=\"Constructor\",e[e.Enum=9]=\"Enum\",e[e.Interface=10]=\"Interface\",e[e.Function=11]=\"Function\",e[e.Variable=12]=\"Variable\",e[e.Constant=13]=\"Constant\",e[e.String=14]=\"String\",e[e.Number=15]=\"Number\",e[e.Boolean=16]=\"Boolean\",e[e.Array=17]=\"Array\",e[e.Object=18]=\"Object\",e[e.Key=19]=\"Key\",e[e.Null=20]=\"Null\",e[e.EnumMember=21]=\"EnumMember\",e[e.Struct=22]=\"Struct\",e[e.Event=23]=\"Event\",e[e.Operator=24]=\"Operator\",e[e.TypeParameter=25]=\"TypeParameter\"}(ti||(ti={}));(ii=Object.create(null))[ti.File]=\"file\",ii[ti.Module]=\"module\",ii[ti.Namespace]=\"namespace\",ii[ti.Package]=\"package\",ii[ti.Class]=\"class\",ii[ti.Method]=\"method\",ii[ti.Property]=\"property\",ii[ti.Field]=\"field\",ii[ti.Constructor]=\"constructor\",ii[ti.Enum]=\"enum\",ii[ti.Interface]=\"interface\",ii[ti.Function]=\"function\",ii[ti.Variable]=\"variable\",ii[ti.Constant]=\"constant\",ii[ti.String]=\"string\",ii[ti.Number]=\"number\",ii[ti.Boolean]=\"boolean\",ii[ti.Array]=\"array\",ii[ti.Object]=\"object\",ii[ti.Key]=\"key\",ii[ti.Null]=\"null\",ii[ti.EnumMember]=\"enum-member\",ii[ti.Struct]=\"struct\",ii[ti.Event]=\"event\",ii[ti.Operator]=\"operator\",ii[ti.TypeParameter]=\"type-parameter\";var ii,oi=function(){function e(e){this.value=e}return e.Comment=new e(\"comment\"),e.Imports=new e(\"imports\"),e.Region=new e(\"region\"),e}();function si(e){return Ur(e)&&(Boolean(e.newUri)||Boolean(e.oldUri))}function ai(e){return Ur(e)&&e.resource&&Array.isArray(e.edits)}var ui,li=new jr,ci=new jr,hi=new jr,di=new jr,pi=new jr,fi=new jr,gi=new jr,mi=new jr,vi=new jr,yi=new jr,bi=new jr,_i=new jr,Ci=new jr,wi=new jr,Di=new jr,Ei=new jr,Ai=new jr,Si=new jr,xi=new zr,Mi=function(){function e(e){this.model=e,this.currentOpenStackElement=null,this.past=[],this.future=[]}return e.prototype.pushStackElement=function(){null!==this.currentOpenStackElement&&(this.past.push(this.currentOpenStackElement),this.currentOpenStackElement=null)},e.prototype.clear=function(){this.currentOpenStackElement=null,this.past=[],this.future=[]},e.prototype.pushEditOperation=function(e,t,n){this.future=[],this.currentOpenStackElement||(this.currentOpenStackElement={beforeVersionId:this.model.getAlternativeVersionId(),beforeCursorState:e,editOperations:[],afterCursorState:null,afterVersionId:-1});var r={operations:this.model.applyEdits(t)};this.currentOpenStackElement.editOperations.push(r);try{this.currentOpenStackElement.afterCursorState=n?n(r.operations):null}catch(e){pn(e),this.currentOpenStackElement.afterCursorState=null}return this.currentOpenStackElement.afterVersionId=this.model.getVersionId(),this.currentOpenStackElement.afterCursorState},e.prototype.undo=function(){if(this.pushStackElement(),this.past.length>0){var e=this.past.pop();try{for(var t=e.editOperations.length-1;t>=0;t--)e.editOperations[t]={operations:this.model.applyEdits(e.editOperations[t].operations)}}catch(e){return this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.redo=function(){if(this.future.length>0){if(this.currentOpenStackElement)throw new Error(\"How is this possible?\");var e=this.future.pop();try{for(var t=0;t<e.editOperations.length;t++)e.editOperations[t]={operations:this.model.applyEdits(e.editOperations[t].operations)}}catch(e){return this.clear(),null}return this.past.push(e),{selections:e.afterCursorState,recordedVersionId:e.afterVersionId}}return null},e}(),Ni=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){e[e.LTR=0]=\"LTR\",e[e.RTL=1]=\"RTL\"}(ui||(ui={}));var Ii=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r,i)||this;return o.selectionStartLineNumber=t,o.selectionStartColumn=n,o.positionLineNumber=r,o.positionColumn=i,o}return Ni(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return\"[\"+this.selectionStartLineNumber+\",\"+this.selectionStartColumn+\" -> \"+this.positionLineNumber+\",\"+this.positionColumn+\"]\"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?ui.LTR:ui.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===ui.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new ye(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===ui.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,r=e.length;n<r;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0},t.isISelection=function(e){return e&&\"number\"==typeof e.selectionStartLineNumber&&\"number\"==typeof e.selectionStartColumn&&\"number\"==typeof e.positionLineNumber&&\"number\"==typeof e.positionColumn},t.createWithDirection=function(e,n,r,i,o){return o===ui.LTR?new t(e,n,r,i):new t(r,i,e,n)},t}(be),Li=function(){return function(){this.changeType=1}}(),ki=function(){return function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t}}(),Ti=function(){return function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}(),Fi=function(){return function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}(),Oi=function(){return function(){this.changeType=5}}(),Pi=function(){function e(e,t,n,r){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=r}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t<n;t++){if(this.changes[t].changeType===e)return!0}return!1},e.merge=function(t,n){return new e([].concat(t.changes).concat(n.changes),n.versionId,t.isUndoing||n.isUndoing,t.isRedoing||n.isRedoing)},e}(),Bi=function(){function e(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}return e.prototype.merge=function(t){return new e(Pi.merge(this.rawContentChangedEvent,t.rawContentChangedEvent),e._mergeChangeEvents(this.contentChangedEvent,t.contentChangedEvent))},e._mergeChangeEvents=function(e,t){return{changes:[].concat(e.changes).concat(t.changes),eol:t.eol,versionId:t.versionId,isUndoing:e.isUndoing||t.isUndoing,isRedoing:e.isRedoing||t.isRedoing,isFlush:e.isFlush||t.isFlush}},e}(),Ri=\"squiggly-hint\",ji=\"squiggly-info\",zi=\"squiggly-warning\",Wi=\"squiggly-error\";function Vi(e){return(1&e.metadata)>>>0}function Hi(e,t){e.metadata=254&e.metadata|t<<0}function Ui(e){return(2&e.metadata)>>>1==1}function Yi(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function Zi(e){return(4&e.metadata)>>>2==1}function Gi(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function Ki(e){return(8&e.metadata)>>>3==1}function qi(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function Qi(e,t){e.metadata=207&e.metadata|t<<4}var Xi=function(){function e(e,t,n){this.metadata=0,this.parent=null,this.left=null,this.right=null,Hi(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,Gi(this,!1),Qi(this,1),qi(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,Yi(this,!1)}return e.prototype.reset=function(e,t,n,r){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=r},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;Gi(this,t===Wi||t===zi||t===ji),Qi(this,this.options.stickiness),qi(this,!!this.options.overviewRuler.color)},e.prototype.setCachedOffsets=function(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),Ji=new Xi(null,0,0);Ji.parent=Ji,Ji.left=Ji,Ji.right=Ji,Hi(Ji,0);var $i=function(){function e(){this.root=Ji,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,n,r,i){return this.root===Ji?[]:function(e,t,n,r,i,o){var s=e.root,a=0,u=0,l=0,c=[],h=0;for(;s!==Ji;)if(Ui(s))Yi(s.left,!1),Yi(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!Ui(s.left)){if(a+s.maxEnd<t){Yi(s,!0);continue}if(s.left!==Ji){s=s.left;continue}}if((u=a+s.start)>n)Yi(s,!0);else{if((l=a+s.end)>=t){s.setCachedOffsets(u,l,o);var d=!0;r&&s.ownerId&&s.ownerId!==r&&(d=!1),i&&Zi(s)&&(d=!1),d&&(c[h++]=s)}Yi(s,!0),s.right===Ji||Ui(s.right)||(a+=s.delta,s=s.right)}}return Yi(e.root,!1),c}(this,e,t,n,r,i)},e.prototype.search=function(e,t,n){return this.root===Ji?[]:no(this,e,t,n)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var n=e.root,r=[],i=0;for(;n!==Ji;)Ui(n)?(Yi(n.left,!1),Yi(n.right,!1),n=n.parent):n.left===Ji||Ui(n.left)?(n.ownerId===t&&(r[i++]=n),Yi(n,!0),n.right===Ji||Ui(n.right)||(n=n.right)):n=n.left;return Yi(e.root,!1),r}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,n=[],r=0;for(;t!==Ji;)Ui(t)?(Yi(t.left,!1),Yi(t.right,!1),t=t.parent):t.left===Ji||Ui(t.left)?t.right===Ji||Ui(t.right)?(n[r++]=t,Yi(t,!0)):t=t.right:t=t.left;return Yi(e.root,!1),n}(this)},e.prototype.insert=function(e){ro(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){io(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var n=e,r=0;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;var i=n.start+r,o=n.end+r;n.setCachedOffsets(i,o,t)},e.prototype.acceptReplace=function(e,t,n,r){for(var i=function(e,t,n){var r=e.root,i=0,o=0,s=0,a=[],u=0;for(;r!==Ji;)if(Ui(r))Yi(r.left,!1),Yi(r.right,!1),r===r.parent.right&&(i-=r.parent.delta),r=r.parent;else{if(!Ui(r.left)){if(i+r.maxEnd<t){Yi(r,!0);continue}if(r.left!==Ji){r=r.left;continue}}(o=i+r.start)>n?Yi(r,!0):((s=i+r.end)>=t&&(r.setCachedOffsets(o,s,0),a[u++]=r),Yi(r,!0),r.right===Ji||Ui(r.right)||(i+=r.delta,r=r.right))}return Yi(e.root,!1),a}(this,e,e+t),o=0,s=i.length;o<s;o++){io(this,a=i[o])}this._normalizeDeltaIfNecessary(),function(e,t,n,r){var i=e.root,o=0,s=r-(n-t);for(;i!==Ji;)if(Ui(i))Yi(i.left,!1),Yi(i.right,!1),i===i.parent.right&&(o-=i.parent.delta),lo(i),i=i.parent;else{if(!Ui(i.left)){if(o+i.maxEnd<t){Yi(i,!0);continue}if(i.left!==Ji){i=i.left;continue}}o+i.start>n?(i.start+=s,i.end+=s,i.delta+=s,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),Yi(i,!0)):(Yi(i,!0),i.right===Ji||Ui(i.right)||(o+=i.delta,i=i.right))}Yi(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(o=0,s=i.length;o<s;o++){var a;(a=i[o]).start=a.cachedAbsoluteStart,a.end=a.cachedAbsoluteEnd,to(a,e,e+t,n,r),a.maxEnd=a.end,ro(this,a)}this._normalizeDeltaIfNecessary()},e.prototype.getAllInOrder=function(){return no(this,0,!1,0)},e.prototype._normalizeDeltaIfNecessary=function(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){var t=e.root,n=0;for(;t!==Ji;)t.left===Ji||Ui(t.left)?t.right===Ji||Ui(t.right)?(t.start=n+t.start,t.end=n+t.end,t.delta=0,lo(t),Yi(t,!0),Yi(t.left,!1),Yi(t.right,!1),t===t.parent.right&&(n-=t.parent.delta),t=t.parent):(n+=t.delta,t=t.right):t=t.left;Yi(e.root,!1)}(this))},e}();function eo(e,t,n,r){return e<n||!(e>n)&&(1!==r&&(2===r||t))}function to(e,t,n,r,i){var o=function(e){return(48&e.metadata)>>>4}(e),s=0===o||2===o,a=1===o||2===o,u=n-t,l=r,c=Math.min(u,l),h=e.start,d=!1,p=e.end,f=!1,g=i?1:u>0?2:0;if(!d&&eo(h,s,t,g)&&(d=!0),!f&&eo(p,a,t,g)&&(f=!0),c>0&&!i){g=u>l?2:0;!d&&eo(h,s,t+c,g)&&(d=!0),!f&&eo(p,a,t+c,g)&&(f=!0)}g=i?1:0;!d&&eo(h,s,n,g)&&(e.start=t+l,d=!0),!f&&eo(p,a,n,g)&&(e.end=t+l,f=!0);var m=l-u;d||(e.start=Math.max(0,h+m),d=!0),f||(e.end=Math.max(0,p+m),f=!0),e.start>e.end&&(e.end=e.start)}function no(e,t,n,r){for(var i=e.root,o=0,s=0,a=0,u=[],l=0;i!==Ji;)if(Ui(i))Yi(i.left,!1),Yi(i.right,!1),i===i.parent.right&&(o-=i.parent.delta),i=i.parent;else if(i.left===Ji||Ui(i.left)){s=o+i.start,a=o+i.end,i.setCachedOffsets(s,a,r);var c=!0;t&&i.ownerId&&i.ownerId!==t&&(c=!1),n&&Zi(i)&&(c=!1),c&&(u[l++]=i),Yi(i,!0),i.right===Ji||Ui(i.right)||(o+=i.delta,i=i.right)}else i=i.left;return Yi(e.root,!1),u}function ro(e,t){if(e.root===Ji)return t.parent=Ji,t.left=Ji,t.right=Ji,Hi(t,0),e.root=t,e.root;!function(e,t){var n=0,r=e.root,i=t.start,o=t.end;for(;;){var s=ho(i,o,r.start+n,r.end+n);if(s<0){if(r.left===Ji){t.start-=n,t.end-=n,t.maxEnd-=n,r.left=t;break}r=r.left}else{if(r.right===Ji){t.start-=n+r.delta,t.end-=n+r.delta,t.maxEnd-=n+r.delta,r.right=t;break}n+=r.delta,r=r.right}}t.parent=r,t.left=Ji,t.right=Ji,Hi(t,1)}(e,t),co(t.parent);for(var n=t;n!==e.root&&1===Vi(n.parent);){var r;if(n.parent===n.parent.parent.left)1===Vi(r=n.parent.parent.right)?(Hi(n.parent,0),Hi(r,0),Hi(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&so(e,n=n.parent),Hi(n.parent,0),Hi(n.parent.parent,1),ao(e,n.parent.parent));else 1===Vi(r=n.parent.parent.left)?(Hi(n.parent,0),Hi(r,0),Hi(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&ao(e,n=n.parent),Hi(n.parent,0),Hi(n.parent.parent,1),so(e,n.parent.parent))}return Hi(e.root,0),t}function io(e,t){var n,r;if(t.left===Ji?(r=t,(n=t.right).delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===Ji?(n=t.left,r=t):((n=(r=function(e){for(;e.left!==Ji;)e=e.left;return e}(t.right)).right).start+=r.delta,n.end+=r.delta,n.delta+=r.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),r.start+=t.delta,r.end+=t.delta,r.delta=t.delta,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0)),r===e.root)return e.root=n,Hi(n,0),t.detach(),oo(),lo(n),void(e.root.parent=Ji);var i,o=1===Vi(r);if(r===r.parent.left?r.parent.left=n:r.parent.right=n,r===t?n.parent=r.parent:(r.parent===t?n.parent=r:n.parent=r.parent,r.left=t.left,r.right=t.right,r.parent=t.parent,Hi(r,Vi(t)),t===e.root?e.root=r:t===t.parent.left?t.parent.left=r:t.parent.right=r,r.left!==Ji&&(r.left.parent=r),r.right!==Ji&&(r.right.parent=r)),t.detach(),o)return co(n.parent),r!==t&&(co(r),co(r.parent)),void oo();for(co(n),co(n.parent),r!==t&&(co(r),co(r.parent));n!==e.root&&0===Vi(n);)n===n.parent.left?(1===Vi(i=n.parent.right)&&(Hi(i,0),Hi(n.parent,1),so(e,n.parent),i=n.parent.right),0===Vi(i.left)&&0===Vi(i.right)?(Hi(i,1),n=n.parent):(0===Vi(i.right)&&(Hi(i.left,0),Hi(i,1),ao(e,i),i=n.parent.right),Hi(i,Vi(n.parent)),Hi(n.parent,0),Hi(i.right,0),so(e,n.parent),n=e.root)):(1===Vi(i=n.parent.left)&&(Hi(i,0),Hi(n.parent,1),ao(e,n.parent),i=n.parent.left),0===Vi(i.left)&&0===Vi(i.right)?(Hi(i,1),n=n.parent):(0===Vi(i.left)&&(Hi(i.right,0),Hi(i,1),so(e,i),i=n.parent.left),Hi(i,Vi(n.parent)),Hi(n.parent,0),Hi(i.left,0),ao(e,n.parent),n=e.root));Hi(n,0),oo()}function oo(){Ji.parent=Ji,Ji.delta=0,Ji.start=0,Ji.end=0}function so(e,t){var n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==Ji&&(n.left.parent=t),n.parent=t.parent,t.parent===Ji?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,lo(t),lo(n)}function ao(e,t){var n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==Ji&&(n.right.parent=t),n.parent=t.parent,t.parent===Ji?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,lo(t),lo(n)}function uo(e){var t=e.end;if(e.left!==Ji){var n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==Ji){var r=e.right.maxEnd+e.delta;r>t&&(t=r)}return t}function lo(e){e.maxEnd=uo(e)}function co(e){for(;e!==Ji;){var t=uo(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function ho(e,t,n,r){return e===n?t-r:e-n}var po=we.b.performance&&\"function\"==typeof we.b.performance.now,fo=function(){function e(e){this._highResolution=po&&e,this._startTime=this._now(),this._stopTime=-1}return e.create=function(t){return void 0===t&&(t=!0),new e(t)},e.prototype.stop=function(){this._stopTime=this._now()},e.prototype.elapsed=function(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime},e.prototype._now=function(){return this._highResolution?we.b.performance.now():(new Date).getTime()},e}(),go=function(){function e(e,t,n){this.offset=0|e,this.type=t,this.language=n}return e.prototype.toString=function(){return\"(\"+this.offset+\", \"+this.type+\")\"},e}(),mo=function(){return function(e,t){this.tokens=e,this.endState=t}}(),vo=function(){return function(e,t){this.tokens=e,this.endState=t}}(),yo=new(function(){function e(){}return e.prototype.clone=function(){return this},e.prototype.equals=function(e){return this===e},e}()),bo=new ni(\"vs.editor.nullMode\",0);function _o(e,t,n,r){var i=new Uint32Array(2);return i[0]=r,i[1]=(16384|e<<0|2<<23)>>>0,new vo(i,n)}function Co(e,t){for(var n=e.getCount(),r=e.findTokenIndexAtOffset(t),i=e.getLanguageId(r),o=r;o+1<n&&e.getLanguageId(o+1)===i;)o++;for(var s=r;s>0&&e.getLanguageId(s-1)===i;)s--;return new wo(e,i,s,o+1,e.getStartOffset(s),e.getEndOffset(o))}var wo=function(){function e(e,t,n,r,i,o){this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=r,this.firstCharOffset=i,this._lastCharOffset=o}return e.prototype.getLineContent=function(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)},e.prototype.getTokenCount=function(){return this._lastTokenIndex-this._firstTokenIndex},e.prototype.findTokenIndexAtOffset=function(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex},e.prototype.getStandardTokenType=function(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)},e}();function Do(e){return 0!=(7&e)}var Eo=function(){return function(e,t,n,r,i){this.languageIdentifier=e,this.open=t,this.close=n,this.forwardRegex=r,this.reversedRegex=i}}(),Ao=function(){return function(e,t){var n=this;this.brackets=t.map(function(t){return new Eo(e,t[0],t[1],xo({open:t[0],close:t[1]}),Mo({open:t[0],close:t[1]}))}),this.forwardRegex=No(this.brackets),this.reversedRegex=Io(this.brackets),this.textIsBracket={},this.textIsOpenBracket={};var r=0;this.brackets.forEach(function(e){n.textIsBracket[e.open.toLowerCase()]=e,n.textIsBracket[e.close.toLowerCase()]=e,n.textIsOpenBracket[e.open.toLowerCase()]=!0,n.textIsOpenBracket[e.close.toLowerCase()]=!1,r=Math.max(r,e.open.length),r=Math.max(r,e.close.length)}),this.maxBracketLength=r}}();function So(e,t){var n={};return function(r){var i=e(r);return n.hasOwnProperty(i)||(n[i]=t(r)),n[i]}}var xo=So(function(e){return e.open+\";\"+e.close},function(e){return ko([e.open,e.close])}),Mo=So(function(e){return e.open+\";\"+e.close},function(e){return ko([Fo(e.open),Fo(e.close)])}),No=So(function(e){return e.map(function(e){return e.open+\";\"+e.close}).join(\";\")},function(e){var t=[];return e.forEach(function(e){t.push(e.open),t.push(e.close)}),ko(t)}),Io=So(function(e){return e.map(function(e){return e.open+\";\"+e.close}).join(\";\")},function(e){var t=[];return e.forEach(function(e){t.push(Fo(e.open)),t.push(Fo(e.close))}),ko(t)});function Lo(e){var t=/^[\\w]+$/.test(e);return e=tt(e),t?\"\\\\b\"+e+\"\\\\b\":e}function ko(e){return lt(\"(\"+e.map(Lo).join(\")|(\")+\")\",!0)}var To,Fo=function(){var e=null,t=null;return function(n){return e!==n&&(t=function(e){for(var t=\"\",n=e.length-1;n>=0;n--)t+=e.charAt(n);return t}(e=n)),t}}(),Oo=function(){function e(){}return e._findPrevBracketInText=function(e,t,n,r){var i=n.match(e);if(!i)return null;var o=n.length-i.index,s=i[0].length,a=r+o;return new be(t,a-s+1,t,a+1)},e.findPrevBracketInToken=function(e,t,n,r,i){var o=Fo(n).substring(n.length-i,n.length-r);return this._findPrevBracketInText(e,t,o,r)},e.findNextBracketInText=function(e,t,n,r){var i=n.match(e);if(!i)return null;var o=i.index,s=i[0].length;if(0===s)return null;var a=r+o;return new be(t,a+1,t,a+1+s)},e.findNextBracketInToken=function(e,t,n,r,i){var o=n.substring(r,i);return this.findNextBracketInText(e,t,o,r)},e}();!function(e){e[e.None=0]=\"None\",e[e.Indent=1]=\"Indent\",e[e.IndentOutdent=2]=\"IndentOutdent\",e[e.Outdent=3]=\"Outdent\"}(To||(To={}));var Po=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;t<n;t++){switch(e.notIn[t]){case\"string\":this._standardTokenMask|=2;break;case\"comment\":this._standardTokenMask|=1;break;case\"regex\":this._standardTokenMask|=4}}}return e.prototype.isOK=function(e){return 0==(this._standardTokenMask&e)},e}(),Bo=function(){function e(e){e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(function(e){return new Po(e)}):e.brackets?this._autoClosingPairs=e.brackets.map(function(e){return new Po({open:e[0],close:e[1]})}):this._autoClosingPairs=[],this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.shouldAutoClosePair=function(e,t,n){if(0===t.getTokenCount())return!0;for(var r=t.findTokenIndexAtOffset(n-2),i=t.getStandardTokenType(r),o=0;o<this._autoClosingPairs.length;++o){var s=this._autoClosingPairs[o];if(s.open===e)return s.isOK(i)}return!1},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e}(),Ro=function(){function e(e,t,n){n=n||{},this._richEditBrackets=e,this._complexAutoClosePairs=t.filter(function(e){return e.open.length>1&&!!e.close}).map(function(e){return new Po(e)}),n.docComment&&this._complexAutoClosePairs.push(new Po({open:n.docComment.open,close:n.docComment.close}))}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets.length;t<n;t++){var r=this._richEditBrackets.brackets[t],i=r.close.charAt(r.close.length-1);e.push(i)}for(var o=0,s=this._complexAutoClosePairs;o<s.length;o++){var a=s[o];e.push(a.open.charAt(a.open.length-1))}return e=e.filter(function(e,t,n){return n.indexOf(e)===t})},e.prototype.onElectricCharacter=function(e,t,n){return this._onElectricAutoClose(e,t,n)||this._onElectricAutoIndent(e,t,n)},e.prototype._onElectricAutoIndent=function(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;var r=t.findTokenIndexAtOffset(n-1);if(Do(t.getStandardTokenType(r)))return null;var i=this._richEditBrackets.reversedRegex,o=t.getLineContent().substring(0,n-1)+e,s=Oo.findPrevBracketInToken(i,1,o,0,o.length);if(!s)return null;var a=o.substring(s.startColumn-1,s.endColumn-1);if(a=a.toLowerCase(),this._richEditBrackets.textIsOpenBracket[a])return null;var u=o.substring(0,s.startColumn-1);return/^\\s*$/.test(u)?{matchOpenBracket:a}:null},e.prototype._onElectricAutoClose=function(e,t,n){if(!this._complexAutoClosePairs.length)return null;for(var r=t.getLineContent(),i=0,o=this._complexAutoClosePairs.length;i<o;i++){var s=this._complexAutoClosePairs[i];if(e===s.open.charAt(s.open.length-1))if(r.substring(r.length-s.open.length+1)+e===s.open){var a=t.findTokenIndexAtOffset(n-1),u=t.getStandardTokenType(a);if(s.isOK(u)&&!(r.indexOf(s.close,n-1)>=0))return{appendText:s.close}}}return null},e}(),jo=function(){function e(t){(t=t||{}).brackets=t.brackets||[[\"(\",\")\"],[\"{\",\"}\"],[\"[\",\"]\"]],this._brackets=t.brackets.map(function(t){return{open:t[0],openRegExp:e._createOpenBracketRegExp(t[0]),close:t[1],closeRegExp:e._createCloseBracketRegExp(t[1])}}),this._regExpRules=t.regExpRules||[]}return e.prototype.onEnter=function(e,t,n){for(var r=0,i=this._regExpRules.length;r<i;r++){var o=this._regExpRules[r];if(o.beforeText.test(t)){if(!o.afterText)return o.action;if(o.afterText.test(n))return o.action}}if(t.length>0&&n.length>0)for(r=0,i=this._brackets.length;r<i;r++){if((s=this._brackets[r]).openRegExp.test(t)&&s.closeRegExp.test(n))return{indentAction:To.IndentOutdent}}if(t.length>0)for(r=0,i=this._brackets.length;r<i;r++){var s;if((s=this._brackets[r]).openRegExp.test(t))return{indentAction:To.Indent}}return null},e._createOpenBracketRegExp=function(t){var n=tt(t);return/\\B/.test(n.charAt(0))||(n=\"\\\\b\"+n),n+=\"\\\\s*$\",e._safeRegExp(n)},e._createCloseBracketRegExp=function(t){var n=tt(t);return/\\B/.test(n.charAt(n.length-1))||(n+=\"\\\\b\"),n=\"^\\\\s*\"+n,e._safeRegExp(n)},e._safeRegExp=function(e){try{return new RegExp(e)}catch(e){return pn(e),null}},e}(),zo=function(){function e(e){this._indentationRules=e}return e.prototype.shouldIncrease=function(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(e))},e.prototype.shouldDecrease=function(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(e))},e.prototype.shouldIndentNextLine=function(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(e))},e.prototype.shouldIgnore=function(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&this._indentationRules.unIndentedLinePattern.test(e))},e.prototype.getIndentMetadata=function(e){var t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t},e}(),Wo=\"`~!@#$%^&*()-=+[{]}\\\\|;:'\\\",.<>/?\";var Vo=function(e){void 0===e&&(e=\"\");for(var t=\"(-?\\\\d*\\\\.\\\\d\\\\w*)|([^\",n=0;n<Wo.length;n++)e.indexOf(Wo[n])>=0||(t+=\"\\\\\"+Wo[n]);return t+=\"\\\\s]+)\",new RegExp(t,\"g\")}();function Ho(e){var t=Vo;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n=\"g\";e.ignoreCase&&(n+=\"i\"),e.multiline&&(n+=\"m\"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}function Uo(e,t,n,r){t.lastIndex=0;var i=t.exec(n);if(!i)return null;var o=i[0].indexOf(\" \")>=0?function(e,t,n,r){var i,o=e-1-r;for(t.lastIndex=0;i=t.exec(n);){if(i.index>o)return null;if(t.lastIndex>=o)return{word:i[0],startColumn:r+1+i.index,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r):function(e,t,n,r){var i,o=e-1-r,s=n.lastIndexOf(\" \",o-1)+1,a=n.indexOf(\" \",o);for(-1===a&&(a=n.length),t.lastIndex=s;i=t.exec(n);)if(i.index<=o&&t.lastIndex>=o)return{word:i[0],startColumn:r+1+i.index,endColumn:r+1+t.lastIndex};return null}(e,t,n,r);return t.lastIndex=0,o}var Yo=function(){function e(t,n,r){this._languageIdentifier=t,this._brackets=null,this._electricCharacter=null;var i=null;n&&(i=n._conf),this._conf=e._mergeConf(i,r),this.onEnter=e._handleOnEnter(this._conf),this.comments=e._handleComments(this._conf),this.characterPair=new Bo(this._conf),this.wordDefinition=this._conf.wordPattern||Vo,this.indentationRules=this._conf.indentationRules,this._conf.indentationRules&&(this.indentRulesSupport=new zo(this._conf.indentationRules)),this.foldingRules=this._conf.folding||{}}return Object.defineProperty(e.prototype,\"brackets\",{get:function(){return!this._brackets&&this._conf.brackets&&(this._brackets=new Ao(this._languageIdentifier,this._conf.brackets)),this._brackets},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"electricCharacter\",{get:function(){if(!this._electricCharacter){var e=[];this._conf.autoClosingPairs?e=this._conf.autoClosingPairs:this._conf.brackets&&(e=this._conf.brackets.map(function(e){return{open:e[0],close:e[1]}})),this._electricCharacter=new Ro(this.brackets,e,this._conf.__electricCharacterSupport)}return this._electricCharacter},enumerable:!0,configurable:!0}),e._mergeConf=function(e,t){return{comments:e?t.comments||e.comments:t.comments,brackets:e?t.brackets||e.brackets:t.brackets,wordPattern:e?t.wordPattern||e.wordPattern:t.wordPattern,indentationRules:e?t.indentationRules||e.indentationRules:t.indentationRules,onEnterRules:e?t.onEnterRules||e.onEnterRules:t.onEnterRules,autoClosingPairs:e?t.autoClosingPairs||e.autoClosingPairs:t.autoClosingPairs,surroundingPairs:e?t.surroundingPairs||e.surroundingPairs:t.surroundingPairs,folding:e?t.folding||e.folding:t.folding,__electricCharacterSupport:e?t.__electricCharacterSupport||e.__electricCharacterSupport:t.__electricCharacterSupport}},e._handleOnEnter=function(e){var t={},n=!0;return e.brackets&&(n=!1,t.brackets=e.brackets),e.indentationRules&&(n=!1),e.onEnterRules&&(n=!1,t.regExpRules=e.onEnterRules),n?null:new jo(t)},e._handleComments=function(e){var t=e.comments;if(!t)return null;var n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){var r=t.blockComment,i=r[0],o=r[1];n.blockCommentStartToken=i,n.blockCommentEndToken=o}return n},e}(),Zo=(function(){}(),new(function(){function e(){this._onDidChange=new wn,this.onDidChange=this._onDidChange.event,this._entries=[]}return e.prototype.register=function(e,t){var n=this,r=this._getRichEditSupport(e.id),i=new Yo(e,r,t);return this._entries[e.id]=i,this._onDidChange.fire({languageIdentifier:e}),{dispose:function(){n._entries[e.id]===i&&(n._entries[e.id]=r,n._onDidChange.fire({languageIdentifier:e}))}}},e.prototype._getRichEditSupport=function(e){return this._entries[e]||null},e.prototype.getIndentationRules=function(e){var t=this._entries[e];return t&&t.indentationRules||null},e.prototype._getElectricCharacterSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.electricCharacter||null},e.prototype.getElectricCharacters=function(e){var t=this._getElectricCharacterSupport(e);return t?t.getElectricCharacters():[]},e.prototype.onElectricCharacter=function(e,t,n){var r=Co(t,n-1),i=this._getElectricCharacterSupport(r.languageId);return i?i.onElectricCharacter(e,r,n-r.firstCharOffset):null},e.prototype.getComments=function(e){var t=this._getRichEditSupport(e);return t&&t.comments||null},e.prototype._getCharacterPairSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.characterPair||null},e.prototype.getAutoClosingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getAutoClosingPairs():[]},e.prototype.getSurroundingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getSurroundingPairs():[]},e.prototype.shouldAutoClosePair=function(e,t,n){var r=Co(t,n-1),i=this._getCharacterPairSupport(r.languageId);return!!i&&i.shouldAutoClosePair(e,r,n-r.firstCharOffset)},e.prototype.getWordDefinition=function(e){var t=this._getRichEditSupport(e);return Ho(t&&t.wordDefinition||null)},e.prototype.getFoldingRules=function(e){var t=this._getRichEditSupport(e);return t?t.foldingRules:{}},e.prototype.getIndentRulesSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.indentRulesSupport||null},e.prototype.getPrecedingValidLine=function(e,t,n){var r=e.getLanguageIdAtPosition(t,0);if(t>1){var i=t-1,o=-1;for(i=t-1;i>=1;i--){if(e.getLanguageIdAtPosition(i,0)!==r)return o;var s=e.getLineContent(i);if(!n.shouldIgnore(s)&&!/^\\s+$/.test(s)&&\"\"!==s)return i;o=i}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n){void 0===n&&(n=!0);var r=this.getIndentRulesSupport(e.getLanguageIdentifier().id);if(!r)return null;if(t<=1)return{indentation:\"\",action:null};var i=this.getPrecedingValidLine(e,t,r);if(i<0)return null;if(i<1)return{indentation:\"\",action:null};var o=e.getLineContent(i);if(r.shouldIncrease(o)||r.shouldIndentNextLine(o))return{indentation:_t(o),action:To.Indent,line:i};if(r.shouldDecrease(o))return{indentation:_t(o),action:null,line:i};if(1===i)return{indentation:_t(e.getLineContent(i)),action:null,line:i};var s=i-1,a=r.getIndentMetadata(e.getLineContent(s));if(!(3&a)&&4&a){for(var u=0,l=s-1;l>0;l--)if(!r.shouldIndentNextLine(e.getLineContent(l))){u=l;break}return{indentation:_t(e.getLineContent(u+1)),action:null,line:u+1}}if(n)return{indentation:_t(e.getLineContent(i)),action:null,line:i};for(l=i;l>0;l--){var c=e.getLineContent(l);if(r.shouldIncrease(c))return{indentation:_t(c),action:To.Indent,line:l};if(r.shouldIndentNextLine(c)){u=0;for(var h=l-1;h>0;h--)if(!r.shouldIndentNextLine(e.getLineContent(l))){u=h;break}return{indentation:_t(e.getLineContent(u+1)),action:null,line:u+1}}if(r.shouldDecrease(c))return{indentation:_t(c),action:null,line:l}}return{indentation:_t(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,r){var i=this.getIndentRulesSupport(t);if(!i)return null;var o=this.getInheritIndentForLine(e,n),s=e.getLineContent(n);if(o){var a=o.line;if(void 0!==a){var u=this._getOnEnterSupport(t),l=null;try{l=u.onEnter(\"\",e.getLineContent(a),\"\")}catch(e){pn(e)}if(l){var c=_t(e.getLineContent(a));return l.removeText&&(c=c.substring(0,c.length-l.removeText)),l.indentAction===To.Indent||l.indentAction===To.IndentOutdent?c=r.shiftIndent(c):l.indentAction===To.Outdent&&(c=r.unshiftIndent(c)),i.shouldDecrease(s)&&(c=r.unshiftIndent(c)),l.appendText&&(c+=l.appendText),_t(c)}}return i.shouldDecrease(s)?o.action===To.Indent?o.indentation:r.unshiftIndent(o.indentation):o.action===To.Indent?r.shiftIndent(o.indentation):o.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,r){e.forceTokenization(t.startLineNumber);var i,o,s=e.getLineTokens(t.startLineNumber),a=Co(s,t.startColumn-1),u=a.getLineContent(),l=!1;(a.firstCharOffset>0&&s.getLanguageId(0)!==a.languageId?(l=!0,i=u.substr(0,t.startColumn-1-a.firstCharOffset)):i=s.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?o=u.substr(t.startColumn-1-a.firstCharOffset):o=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-a.firstCharOffset);var c=this.getIndentRulesSupport(a.languageId);if(!c)return null;var h=i,d=_t(i);if(!r&&!l){var p=this.getInheritIndentForLine(e,t.startLineNumber);c.shouldDecrease(i)&&p&&(d=p.indentation,p.action!==To.Indent&&(d=n.unshiftIndent(d))),h=d+rt(rt(i,\" \"),\"\\t\")}var f={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:function(n){return n===t.startLineNumber?h:e.getLineContent(n)}},g=_t(s.getLineContent()),m=this.getInheritIndentForLine(f,t.startLineNumber+1);if(!m){var v=l?g:d;return{beforeEnter:v,afterEnter:v}}var y=l?g:m.indentation;return m.action===To.Indent&&(y=n.shiftIndent(y)),c.shouldDecrease(o)&&(y=n.unshiftIndent(y)),{beforeEnter:l?g:d,afterEnter:y}},e.prototype.getIndentActionForType=function(e,t,n,r){var i=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),o=this.getIndentRulesSupport(i.languageId);if(!o)return null;var s,a=i.getLineContent(),u=a.substr(0,t.startColumn-1-i.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-i.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-i.firstCharOffset);if(!o.shouldDecrease(u+s)&&o.shouldDecrease(u+n+s)){var l=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!l)return null;var c=l.indentation;return l.action!==To.Indent&&(c=r.unshiftIndent(c)),c}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null},e.prototype._getOnEnterSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.onEnter||null},e.prototype.getRawEnterActionAtPosition=function(e,t,n){var r=this.getEnterAction(e,new be(t,n,t,n));return r?r.enterAction:null},e.prototype.getEnterAction=function(e,t){var n=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),i=this._getOnEnterSupport(r.languageId);if(!i)return null;var o,s=r.getLineContent(),a=s.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?o=s.substr(t.startColumn-1-r.firstCharOffset):o=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);var u=t.startLineNumber,l=\"\";if(u>1&&0===r.firstCharOffset){var c=this.getScopedLineTokens(e,u-1);c.languageId===r.languageId&&(l=c.getLineContent())}var h=null;try{h=i.onEnter(l,a,o)}catch(e){pn(e)}return h?(h.appendText||(h.indentAction===To.Indent||h.indentAction===To.IndentOutdent?h.appendText=\"\\t\":h.appendText=\"\"),h.removeText&&(n=n.substring(0,n.length-h.removeText)),{enterAction:h,indentation:n}):null},e.prototype.getIndentationAtPosition=function(e,t,n){var r=_t(e.getLineContent(t));return r.length>n-1&&(r=r.substring(0,n-1)),r},e.prototype.getScopedLineTokens=function(e,t,n){return e.forceTokenization(t),Co(e.getLineTokens(t),isNaN(n)?e.getLineMaxColumn(t)-1:n-1)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())),Go=function(){function e(e,t){this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t}return e.prototype.equals=function(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)},e.prototype.slicedEquals=function(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var r=t<<1,i=r+(n<<1),o=r;o<i;o++)if(this._tokens[o]!==e._tokens[o])return!1;return!0},e.prototype.getLineContent=function(){return this._text},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getStartOffset=function(e){return e>0?this._tokens[e-1<<1]:0},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return ri.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return ri.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return ri.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return ri.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var n=this._tokens[1+(e<<1)];return ri.getInlineStyleFromMetadata(n,t)},e.prototype.getEndOffset=function(e){return this._tokens[e<<1]},e.prototype.findTokenIndexAtOffset=function(t){return e.findIndexInTokensArray(this._tokens,t)},e.prototype.inflate=function(){return this},e.prototype.sliceAndInflate=function(e,t,n){return new Ko(this,e,t,n)},e.convertToEndOffset=function(e,t){for(var n=(e.length>>>1)-1,r=0;r<n;r++)e[r<<1]=e[r+1<<1];e[n<<1]=t},e.findIndexInTokensArray=function(e,t){if(e.length<=2)return 0;for(var n=0,r=(e.length>>>1)-1;n<r;){var i=n+Math.floor((r-n)/2),o=e[i<<1];if(o===t)return i+1;o<t?n=i+1:o>t&&(r=i)}return n},e}(),Ko=function(){function e(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var i=this._firstTokenIndex,o=e.getCount();i<o;i++){if(e.getStartOffset(i)>=n)break;this._tokensCount++}}return e.prototype.equals=function(t){return t instanceof e&&(this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount))},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getForeground=function(e){return this._source.getForeground(this._firstTokenIndex+e)},e.prototype.getEndOffset=function(e){var t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset},e.prototype.getClassName=function(e){return this._source.getClassName(this._firstTokenIndex+e)},e.prototype.getInlineStyle=function(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)},e.prototype.findTokenIndexAtOffset=function(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex},e}();function qo(e){return(16384|e<<0|2<<23)>>>0}var Qo=new Uint32Array(0).buffer,Xo=function(){function e(e){this._state=e,this._lineTokens=null,this._invalid=!0}return e.prototype.deleteBeginning=function(e){null!==this._lineTokens&&this._lineTokens!==Qo&&this.delete(0,e)},e.prototype.deleteEnding=function(e){if(null!==this._lineTokens&&this._lineTokens!==Qo){var t=new Uint32Array(this._lineTokens),n=t[t.length-2];this.delete(e,n)}},e.prototype.delete=function(e,t){if(null!==this._lineTokens&&this._lineTokens!==Qo&&e!==t){var n=new Uint32Array(this._lineTokens),r=n.length>>>1;if(0!==e||n[n.length-2]!==t){var i=Go.findIndexInTokensArray(n,e),o=i>0?n[i-1<<1]:0;if(t<n[i<<1])for(var s=t-e,a=i;a<r;a++)n[a<<1]-=s;else{var u,l;o!==e?(n[i<<1]=e,u=i+1<<1,l=e):(u=i<<1,l=o);for(var c=t-e,h=i+1;h<r;h++){var d=n[h<<1]-c;d>l&&(n[u++]=d,n[u++]=n[1+(h<<1)],l=d)}if(u!==n.length){var p=new Uint32Array(u);p.set(n.subarray(0,u),0),this._lineTokens=p.buffer}}}else this._lineTokens=Qo}},e.prototype.append=function(e){if(e!==Qo)if(this._lineTokens!==Qo){if(null!==this._lineTokens)if(null!==e){var t=new Uint32Array(this._lineTokens),n=new Uint32Array(e),r=n.length>>>1,i=new Uint32Array(t.length+n.length);i.set(t,0);for(var o=t.length,s=t[t.length-2],a=0;a<r;a++)i[o++]=n[a<<1]+s,i[o++]=n[1+(a<<1)];this._lineTokens=i.buffer}else this._lineTokens=null}else this._lineTokens=e},e.prototype.insert=function(e,t){if(this._lineTokens){var n=new Uint32Array(this._lineTokens),r=n.length>>>1,i=Go.findIndexInTokensArray(n,e);if(i>0)(i>0?n[i-1<<1]:0)===e&&i--;for(var o=i;o<r;o++)n[o<<1]+=t}},e}(),Jo=function(){function e(e,t){if(this.languageIdentifier=e,this.tokenizationSupport=t,this._tokens=[],this.tokenizationSupport){var n=null;try{n=this.tokenizationSupport.getInitialState()}catch(e){pn(e),this.tokenizationSupport=null}n&&(this._tokens[0]=new Xo(n))}this._invalidLineStartIndex=0,this._lastState=null}return Object.defineProperty(e.prototype,\"inValidLineStartIndex\",{get:function(){return this._invalidLineStartIndex},enumerable:!0,configurable:!0}),e.prototype.getTokens=function(e,t,n){var r=null;if(t<this._tokens.length&&this._tokens[t]&&(r=this._tokens[t]._lineTokens),null!==r&&r!==Qo)return new Go(new Uint32Array(r),n);var i=new Uint32Array(2);return i[0]=n.length,i[1]=qo(e),new Go(i,n)},e.prototype.isCheapToTokenize=function(e){return this._invalidLineStartIndex+1>=e},e.prototype.hasLinesToTokenize=function(e){return this._invalidLineStartIndex<e.getLineCount()},e.prototype.invalidateLine=function(e){this._setIsInvalid(e,!0),e<this._invalidLineStartIndex&&(this._setIsInvalid(this._invalidLineStartIndex,!0),this._invalidLineStartIndex=e)},e.prototype._setIsInvalid=function(e,t){e<this._tokens.length&&this._tokens[e]&&(this._tokens[e]._invalid=t)},e.prototype._isInvalid=function(e){return!(e<this._tokens.length&&this._tokens[e])||this._tokens[e]._invalid},e.prototype._getState=function(e){return e<this._tokens.length&&this._tokens[e]?this._tokens[e]._state:null},e.prototype._setTokens=function(e,t,n,r){var i;t<this._tokens.length&&this._tokens[t]?i=this._tokens[t]:(i=new Xo(null),this._tokens[t]=i),0!==n?(r&&0!==r.length||((r=new Uint32Array(2))[0]=0,r[1]=qo(e)),Go.convertToEndOffset(r,n),i._lineTokens=r.buffer):i._lineTokens=Qo},e.prototype._setState=function(e,t){if(e<this._tokens.length&&this._tokens[e])this._tokens[e]._state=t;else{var n=new Xo(t);this._tokens[e]=n}},e.prototype.applyEdits=function(e,t,n){for(var r=e.endLineNumber-e.startLineNumber,i=t,o=Math.min(r,i);o>=0;o--)this.invalidateLine(e.startLineNumber+o-1);this._acceptDeleteRange(e),this._acceptInsertText(new ye(e.startLineNumber,e.startColumn),t,n)},e.prototype._acceptDeleteRange=function(e){var t=e.startLineNumber-1;if(!(t>=this._tokens.length))if(e.startLineNumber!==e.endLineNumber){var n=this._tokens[t];n.deleteEnding(e.startColumn-1);var r=e.endLineNumber-1,i=null;if(r<this._tokens.length){var o=this._tokens[r];o.deleteBeginning(e.endColumn-1),i=o._lineTokens}n.append(i),this._tokens.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber)}else{if(e.startColumn===e.endColumn)return;this._tokens[t].delete(e.startColumn-1,e.endColumn-1)}},e.prototype._acceptInsertText=function(e,t,n){if(0!==t||0!==n){var r=e.lineNumber-1;if(!(r>=this._tokens.length))if(0!==t){var i=this._tokens[r];i.deleteEnding(e.column-1),i.insert(e.column-1,n);for(var o,s,a,u,l,c=new Array(t),h=t-1;h>=0;h--)c[h]=new Xo(null);this._tokens=(o=this._tokens,s=e.lineNumber,a=c,u=o.slice(0,s),l=o.slice(s),u.concat(a,l))}else this._tokens[r].insert(e.column-1,n)}},e.prototype._tokenizeOneLine=function(e,t){if(!this.hasLinesToTokenize(e))return e.getLineCount()+1;var n=this._invalidLineStartIndex+1;return this._updateTokensUntilLine(e,t,n),n},e.prototype._tokenizeText=function(e,t,n){var r=null;try{r=this.tokenizationSupport.tokenize2(t,n,0)}catch(e){pn(e)}return r||(r=_o(this.languageIdentifier.id,0,n,0)),r},e.prototype._updateTokensUntilLine=function(e,t,n){if(this.tokenizationSupport){for(var r=e.getLineCount(),i=n-1,o=this._invalidLineStartIndex;o<=i;o++){var s=o+1,a=null,u=e.getLineContent(o+1);try{var l=this._getState(o).clone();a=this.tokenizationSupport.tokenize2(u,l,0)}catch(e){pn(e)}if(a||(a=_o(this.languageIdentifier.id,0,this._getState(o),0)),this._setTokens(this.languageIdentifier.id,o,u.length,a.tokens),t.registerChangedTokens(o+1),this._setIsInvalid(o,!1),s<r)if(null!==this._getState(s)&&a.endState.equals(this._getState(s))){for(var c=o+1;c<r&&!this._isInvalid(c);){if(c+1<r){if(null===this._getState(c+1))break}else if(null===this._lastState)break;c++}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,c),o=c-1}else this._setState(s,a.endState);else this._lastState=a.endState}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,i+1)}else this._invalidLineStartIndex=e.getLineCount()},e}(),$o=function(){function e(){this._ranges=[]}return e.prototype.registerChangedTokens=function(e){var t=this._ranges,n=t.length,r=n>0?t[n-1]:null;r&&r.toLineNumber===e-1?r.toLineNumber++:t[n]={fromLineNumber:e,toLineNumber:e}},e.prototype.build=function(){return 0===this._ranges.length?null:{ranges:this._ranges}},e}();function es(e,t,n,r){var i;for(i=0;i<t&&i<r;i++){if(e.charCodeAt(i)!==n.charCodeAt(i))break}for(var o=0,s=0,a=i;a<t;a++){32===e.charCodeAt(a)?o++:s++}var u=0,l=0;for(a=i;a<r;a++){32===n.charCodeAt(a)?u++:l++}if(o>0&&s>0)return 0;if(u>0&&l>0)return 0;var c=Math.abs(s-l),h=Math.abs(o-u);return 0===c?h:h%c==0?h/c:0}function ts(e,t,n){for(var r=Math.min(e.getLineCount(),1e4),i=0,o=0,s=\"\",a=0,u=[0,0,0,0,0,0,0,0,0],l=function(t){var n=e.getLineLength(t),r=e.getLineContent(t),l=void 0;l=n>65536?function(n){return e.getLineCharCode(t,n)}:function(e){return r.charCodeAt(e)};for(var c=!1,h=0,d=0,p=0,f=0,g=n;f<g;f++){var m=l(f);if(9===m)p++;else{if(32!==m){c=!0,h=f;break}d++}}if(!c)return\"continue\";p>0?i++:d>1&&o++;var v=es(s,a,r,h);v<=8&&u[v]++,s=r,a=h},c=1;c<=r;c++)l(c);var h=es(s,a,\"\",0);h<=8&&u[h]++;var d=n;i!==o&&(d=i<o);var p=t,f=d?0:.1*r;return[2,4,6,8].forEach(function(e){var t=u[e];t>f&&(f=t,p=e)}),{insertSpaces:d,tabSize:p}}function ns(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return function(e,t){return 0===t.length?e:e.replace(/\\{(\\d+)\\}/g,function(e,n){var r=n[0];return void 0!==t[r]?t[r]:e})}(t,n)}var rs,is=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){e[e.Auto=1]=\"Auto\",e[e.Hidden=2]=\"Hidden\",e[e.Visible=3]=\"Visible\"}(rs||(rs={}));var os=function(){function e(e,t,n,r,i,o){t|=0,n|=0,r|=0,i|=0,o|=0,(e|=0)<0&&(e=0),n+e>t&&(n=t-e),n<0&&(n=0),r<0&&(r=0),o+r>i&&(o=i-r),o<0&&(o=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=r,this.scrollHeight=i,this.scrollTop=o}return e.prototype.equals=function(e){return this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop},e.prototype.withScrollDimensions=function(t){return new e(void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,this.scrollTop)},e.prototype.withScrollPosition=function(t){return new e(this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.scrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.scrollTop)},e.prototype.createScrollEvent=function(e){var t=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,r=this.scrollLeft!==e.scrollLeft,i=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:t,scrollWidthChanged:n,scrollLeftChanged:r,heightChanged:i,scrollHeightChanged:o,scrollTopChanged:s}},e}(),ss=function(e){function t(t,n){var r=e.call(this)||this;return r._onScroll=r._register(new wn),r.onScroll=r._onScroll.event,r._smoothScrollDuration=t,r._scheduleAtNextAnimationFrame=n,r._state=new os(0,0,0,0,0,0),r._smoothScrolling=null,r}return is(t,e),t.prototype.dispose=function(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),e.prototype.dispose.call(this)},t.prototype.setSmoothScrollDuration=function(e){this._smoothScrollDuration=e},t.prototype.validateScrollPosition=function(e){return this._state.withScrollPosition(e)},t.prototype.getScrollDimensions=function(){return this._state},t.prototype.setScrollDimensions=function(e){var t=this._state.withScrollDimensions(e);this._setState(t),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)},t.prototype.getFutureScrollPosition=function(){return this._smoothScrolling?this._smoothScrolling.to:this._state},t.prototype.getCurrentScrollPosition=function(){return this._state},t.prototype.setScrollPositionNow=function(e){var t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t)},t.prototype.setScrollPositionSmooth=function(e){var t=this;if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};var n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;var r=this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=r}else{n=this._state.withScrollPosition(e);this._smoothScrolling=ls.start(this._state,n,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())})},t.prototype._performSmoothScrolling=function(){var e=this,t=this._smoothScrolling.tick(),n=this._state.withScrollPosition(t);if(this._setState(n),t.isDone)return this._smoothScrolling.dispose(),void(this._smoothScrolling=null);this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){e._smoothScrolling&&(e._smoothScrolling.animationFrameDisposable=null,e._performSmoothScrolling())})},t.prototype._setState=function(e){var t=this._state;t.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(t)))},t}(un),as=function(){return function(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}();function us(e,t){var n=t-e;return function(t){return e+n*(1-function(e){return Math.pow(e,3)}(1-t))}}var ls=function(){function e(e,t,n,r){this.from=e,this.to=t,this.duration=r,this._startTime=n,this.animationFrameDisposable=null,this._initAnimations()}return e.prototype._initAnimations=function(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)},e.prototype._initAnimation=function(e,t,n){var r,i,o;if(Math.abs(e-t)>2.5*n){var s=void 0,a=void 0;return e<t?(s=e+.75*n,a=t-.75*n):(s=e-.75*n,a=t+.75*n),r=us(e,s),i=us(a,t),o=.33,function(e){return e<o?r(e/o):i((e-o)/(1-o))}}return us(e,t)},e.prototype.dispose=function(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)},e.prototype.acceptScrollDimensions=function(e){this.to=e.withScrollPosition(this.to),this._initAnimations()},e.prototype.tick=function(){return this._tick(Date.now())},e.prototype._tick=function(e){var t=(e-this._startTime)/this.duration;if(t<1){var n=this.scrollLeft(t),r=this.scrollTop(t);return new as(n,r,!1)}return new as(this.to.scrollLeft,this.to.scrollTop,!0)},e.prototype.combine=function(t,n,r){return e.start(t,n,r)},e.start=function(t,n,r){return r+=10,new e(t,n,Date.now()-10,r)},e}();function cs(e){if(!e||\"object\"!=typeof e)return e;if(e instanceof RegExp)return e;var t=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(n){e[n]&&\"object\"==typeof e[n]?t[n]=cs(e[n]):t[n]=e[n]}),t}var hs=Object.prototype.hasOwnProperty;function ds(e,t,n){return void 0===n&&(n=!0),Ur(e)?(Ur(t)&&Object.keys(t).forEach(function(r){r in e?n&&(Ur(e[r])&&Ur(t[r])?ds(e[r],t[r],n):e[r]=t[r]):e[r]=t[r]}),e):t}function ps(e,t){if(e===t)return!0;if(null===e||void 0===e||null===t||void 0===t)return!1;if(typeof e!=typeof t)return!1;if(\"object\"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;var n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!ps(e[n],t[n]))return!1}else{var i=[];for(r in e)i.push(r);i.sort();var o=[];for(r in t)o.push(r);if(o.sort(),!ps(i,o))return!1;for(n=0;n<i.length;n++)if(!ps(e[i[n]],t[i[n]]))return!1}return!0}function fs(e,t){void 0===t&&(t=!1),t&&(e=e.map(function(e){return e.toLowerCase()}));var n=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=!0;return t}(e);return t?function(e){return void 0!==n[e.toLowerCase()]&&n.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==n[e]&&n.hasOwnProperty(e)}}function gs(e,t,n){void 0===n&&(n=null);var r=t(e);return void 0===r?n:r}var ms,vs,ys,bs,_s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};!function(e){e[e.None=0]=\"None\",e[e.Small=1]=\"Small\",e[e.Large=2]=\"Large\",e[e.SmallBlocks=3]=\"SmallBlocks\",e[e.LargeBlocks=4]=\"LargeBlocks\"}(ms||(ms={})),function(e){e[e.None=0]=\"None\",e[e.Same=1]=\"Same\",e[e.Indent=2]=\"Indent\"}(vs||(vs={})),function(e){e[e.Hidden=0]=\"Hidden\",e[e.Blink=1]=\"Blink\",e[e.Smooth=2]=\"Smooth\",e[e.Phase=3]=\"Phase\",e[e.Expand=4]=\"Expand\",e[e.Solid=5]=\"Solid\"}(ys||(ys={})),function(e){e[e.Line=1]=\"Line\",e[e.Block=2]=\"Block\",e[e.Underline=3]=\"Underline\",e[e.LineThin=4]=\"LineThin\",e[e.BlockOutline=5]=\"BlockOutline\",e[e.UnderlineThin=6]=\"UnderlineThin\"}(bs||(bs={}));var Cs=function(){function e(e){this.canUseLayerHinting=e.canUseLayerHinting,this.pixelRatio=e.pixelRatio,this.editorClassName=e.editorClassName,this.lineHeight=0|e.lineHeight,this.readOnly=e.readOnly,this.accessibilitySupport=e.accessibilitySupport,this.multiCursorModifier=e.multiCursorModifier,this.multiCursorMergeOverlapping=e.multiCursorMergeOverlapping,this.wordSeparators=e.wordSeparators,this.autoClosingBrackets=e.autoClosingBrackets,this.autoIndent=e.autoIndent,this.useTabStops=e.useTabStops,this.tabFocusMode=e.tabFocusMode,this.dragAndDrop=e.dragAndDrop,this.emptySelectionClipboard=e.emptySelectionClipboard,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo,this.contribInfo=e.contribInfo}return e.prototype.equals=function(t){return this.canUseLayerHinting===t.canUseLayerHinting&&this.pixelRatio===t.pixelRatio&&this.editorClassName===t.editorClassName&&this.lineHeight===t.lineHeight&&this.readOnly===t.readOnly&&this.accessibilitySupport===t.accessibilitySupport&&this.multiCursorModifier===t.multiCursorModifier&&this.multiCursorMergeOverlapping===t.multiCursorMergeOverlapping&&this.wordSeparators===t.wordSeparators&&this.autoClosingBrackets===t.autoClosingBrackets&&this.autoIndent===t.autoIndent&&this.useTabStops===t.useTabStops&&this.tabFocusMode===t.tabFocusMode&&this.dragAndDrop===t.dragAndDrop&&this.emptySelectionClipboard===t.emptySelectionClipboard&&e._equalsLayoutInfo(this.layoutInfo,t.layoutInfo)&&this.fontInfo.equals(t.fontInfo)&&e._equalsViewOptions(this.viewInfo,t.viewInfo)&&e._equalsWrappingInfo(this.wrappingInfo,t.wrappingInfo)&&e._equalsContribOptions(this.contribInfo,t.contribInfo)},e.prototype.createChangeEvent=function(t){return{canUseLayerHinting:this.canUseLayerHinting!==t.canUseLayerHinting,pixelRatio:this.pixelRatio!==t.pixelRatio,editorClassName:this.editorClassName!==t.editorClassName,lineHeight:this.lineHeight!==t.lineHeight,readOnly:this.readOnly!==t.readOnly,accessibilitySupport:this.accessibilitySupport!==t.accessibilitySupport,multiCursorModifier:this.multiCursorModifier!==t.multiCursorModifier,multiCursorMergeOverlapping:this.multiCursorMergeOverlapping!==t.multiCursorMergeOverlapping,wordSeparators:this.wordSeparators!==t.wordSeparators,autoClosingBrackets:this.autoClosingBrackets!==t.autoClosingBrackets,autoIndent:this.autoIndent!==t.autoIndent,useTabStops:this.useTabStops!==t.useTabStops,tabFocusMode:this.tabFocusMode!==t.tabFocusMode,dragAndDrop:this.dragAndDrop!==t.dragAndDrop,emptySelectionClipboard:this.emptySelectionClipboard!==t.emptySelectionClipboard,layoutInfo:!e._equalsLayoutInfo(this.layoutInfo,t.layoutInfo),fontInfo:!this.fontInfo.equals(t.fontInfo),viewInfo:!e._equalsViewOptions(this.viewInfo,t.viewInfo),wrappingInfo:!e._equalsWrappingInfo(this.wrappingInfo,t.wrappingInfo),contribInfo:!e._equalsContribOptions(this.contribInfo,t.contribInfo)}},e._equalsLayoutInfo=function(e,t){return e.width===t.width&&e.height===t.height&&e.glyphMarginLeft===t.glyphMarginLeft&&e.glyphMarginWidth===t.glyphMarginWidth&&e.glyphMarginHeight===t.glyphMarginHeight&&e.lineNumbersLeft===t.lineNumbersLeft&&e.lineNumbersWidth===t.lineNumbersWidth&&e.lineNumbersHeight===t.lineNumbersHeight&&e.decorationsLeft===t.decorationsLeft&&e.decorationsWidth===t.decorationsWidth&&e.decorationsHeight===t.decorationsHeight&&e.contentLeft===t.contentLeft&&e.contentWidth===t.contentWidth&&e.contentHeight===t.contentHeight&&e.renderMinimap===t.renderMinimap&&e.minimapLeft===t.minimapLeft&&e.minimapWidth===t.minimapWidth&&e.viewportColumn===t.viewportColumn&&e.verticalScrollbarWidth===t.verticalScrollbarWidth&&e.horizontalScrollbarHeight===t.horizontalScrollbarHeight&&this._equalsOverviewRuler(e.overviewRuler,t.overviewRuler)},e._equalsOverviewRuler=function(e,t){return e.width===t.width&&e.height===t.height&&e.top===t.top&&e.right===t.right},e._equalsViewOptions=function(e,t){return e.extraEditorClassName===t.extraEditorClassName&&e.disableMonospaceOptimizations===t.disableMonospaceOptimizations&&Wn(e.rulers,t.rulers)&&e.ariaLabel===t.ariaLabel&&e.renderLineNumbers===t.renderLineNumbers&&e.renderCustomLineNumbers===t.renderCustomLineNumbers&&e.selectOnLineNumbers===t.selectOnLineNumbers&&e.glyphMargin===t.glyphMargin&&e.revealHorizontalRightPadding===t.revealHorizontalRightPadding&&e.roundedSelection===t.roundedSelection&&e.overviewRulerLanes===t.overviewRulerLanes&&e.overviewRulerBorder===t.overviewRulerBorder&&e.cursorBlinking===t.cursorBlinking&&e.mouseWheelZoom===t.mouseWheelZoom&&e.cursorStyle===t.cursorStyle&&e.cursorWidth===t.cursorWidth&&e.hideCursorInOverviewRuler===t.hideCursorInOverviewRuler&&e.scrollBeyondLastLine===t.scrollBeyondLastLine&&e.smoothScrolling===t.smoothScrolling&&e.stopRenderingLineAfter===t.stopRenderingLineAfter&&e.renderWhitespace===t.renderWhitespace&&e.renderControlCharacters===t.renderControlCharacters&&e.fontLigatures===t.fontLigatures&&e.renderIndentGuides===t.renderIndentGuides&&e.renderLineHighlight===t.renderLineHighlight&&this._equalsScrollbarOptions(e.scrollbar,t.scrollbar)&&this._equalsMinimapOptions(e.minimap,t.minimap)&&e.fixedOverflowWidgets===t.fixedOverflowWidgets},e._equalsScrollbarOptions=function(e,t){return e.arrowSize===t.arrowSize&&e.vertical===t.vertical&&e.horizontal===t.horizontal&&e.useShadows===t.useShadows&&e.verticalHasArrows===t.verticalHasArrows&&e.horizontalHasArrows===t.horizontalHasArrows&&e.handleMouseWheel===t.handleMouseWheel&&e.horizontalScrollbarSize===t.horizontalScrollbarSize&&e.horizontalSliderSize===t.horizontalSliderSize&&e.verticalScrollbarSize===t.verticalScrollbarSize&&e.verticalSliderSize===t.verticalSliderSize&&e.mouseWheelScrollSensitivity===t.mouseWheelScrollSensitivity},e._equalsMinimapOptions=function(e,t){return e.enabled===t.enabled&&e.side===t.side&&e.showSlider===t.showSlider&&e.renderCharacters===t.renderCharacters&&e.maxColumn===t.maxColumn},e._equalFindOptions=function(e,t){return e.seedSearchStringFromSelection===t.seedSearchStringFromSelection&&e.autoFindInSelection===t.autoFindInSelection&&e.globalFindClipboard===t.globalFindClipboard},e._equalsWrappingInfo=function(e,t){return e.inDiffEditor===t.inDiffEditor&&e.isDominatedByLongLines===t.isDominatedByLongLines&&e.isWordWrapMinified===t.isWordWrapMinified&&e.isViewportWrapping===t.isViewportWrapping&&e.wrappingColumn===t.wrappingColumn&&e.wrappingIndent===t.wrappingIndent&&e.wordWrapBreakBeforeCharacters===t.wordWrapBreakBeforeCharacters&&e.wordWrapBreakAfterCharacters===t.wordWrapBreakAfterCharacters&&e.wordWrapBreakObtrusiveCharacters===t.wordWrapBreakObtrusiveCharacters},e._equalsContribOptions=function(t,n){return t.selectionClipboard===n.selectionClipboard&&t.hover===n.hover&&t.links===n.links&&t.contextmenu===n.contextmenu&&e._equalsQuickSuggestions(t.quickSuggestions,n.quickSuggestions)&&t.quickSuggestionsDelay===n.quickSuggestionsDelay&&t.parameterHints===n.parameterHints&&t.iconsInSuggestions===n.iconsInSuggestions&&t.formatOnType===n.formatOnType&&t.formatOnPaste===n.formatOnPaste&&t.suggestOnTriggerCharacters===n.suggestOnTriggerCharacters&&t.acceptSuggestionOnEnter===n.acceptSuggestionOnEnter&&t.acceptSuggestionOnCommitCharacter===n.acceptSuggestionOnCommitCharacter&&t.snippetSuggestions===n.snippetSuggestions&&t.wordBasedSuggestions===n.wordBasedSuggestions&&t.suggestSelection===n.suggestSelection&&t.suggestFontSize===n.suggestFontSize&&t.suggestLineHeight===n.suggestLineHeight&&t.selectionHighlight===n.selectionHighlight&&t.occurrencesHighlight===n.occurrencesHighlight&&t.codeLens===n.codeLens&&t.folding===n.folding&&t.foldingStrategy===n.foldingStrategy&&t.showFoldingControls===n.showFoldingControls&&t.matchBrackets===n.matchBrackets&&this._equalFindOptions(t.find,n.find)&&t.colorDecorators===n.colorDecorators&&ps(t.codeActionsOnSave,n.codeActionsOnSave)&&t.codeActionsOnSaveTimeout===n.codeActionsOnSaveTimeout&&t.lightbulbEnabled===n.lightbulbEnabled},e._equalsQuickSuggestions=function(e,t){return\"boolean\"==typeof e?\"boolean\"==typeof t&&e===t:\"boolean\"!=typeof t&&(e.comments===t.comments&&e.other===t.other&&e.strings===t.strings)},e}();function ws(e,t){return void 0===e?t:\"false\"!==e&&Boolean(e)}function Ds(e,t){return\"string\"!=typeof e?t:e}function Es(e,t,n){return\"string\"!=typeof e?t:-1===n.indexOf(e)?t:e}function As(e,t,n,r){var i;return void 0===e?i=t:(i=parseInt(e,10),isNaN(i)&&(i=t)),i=Math.max(n,i),0|(i=Math.min(r,i))}function Ss(e,t){if(\"string\"!=typeof e)return t;switch(e){case\"hidden\":return rs.Hidden;case\"visible\":return rs.Visible;default:return rs.Auto}}var xs=function(){function e(){}return e.validate=function(e,t){var n=e.wordWrap;!0===n?n=\"on\":!1===n&&(n=\"off\"),n=Es(n,t.wordWrap,[\"off\",\"on\",\"wordWrapColumn\",\"bounded\"]);var r,i=this._sanitizeViewInfo(e,t.viewInfo),o=this._sanitizeContribInfo(e,t.contribInfo);\"string\"==typeof e.multiCursorModifier&&(r=\"ctrlCmd\"===e.multiCursorModifier?we.d?\"metaKey\":\"ctrlKey\":\"altKey\");var s,a,u=Es(r,t.multiCursorModifier,[\"altKey\",\"metaKey\",\"ctrlKey\"]);return{inDiffEditor:ws(e.inDiffEditor,t.inDiffEditor),wordSeparators:Ds(e.wordSeparators,t.wordSeparators),lineNumbersMinChars:As(e.lineNumbersMinChars,t.lineNumbersMinChars,1,10),lineDecorationsWidth:void 0===e.lineDecorationsWidth?t.lineDecorationsWidth:e.lineDecorationsWidth,readOnly:ws(e.readOnly,t.readOnly),mouseStyle:Es(e.mouseStyle,t.mouseStyle,[\"text\",\"default\",\"copy\"]),disableLayerHinting:ws(e.disableLayerHinting,t.disableLayerHinting),automaticLayout:ws(e.automaticLayout,t.automaticLayout),wordWrap:n,wordWrapColumn:As(e.wordWrapColumn,t.wordWrapColumn,1,1073741824),wordWrapMinified:ws(e.wordWrapMinified,t.wordWrapMinified),wrappingIndent:(s=e.wrappingIndent,a=t.wrappingIndent,\"string\"!=typeof s?a:\"indent\"===s?vs.Indent:\"same\"===s?vs.Same:vs.None),wordWrapBreakBeforeCharacters:Ds(e.wordWrapBreakBeforeCharacters,t.wordWrapBreakBeforeCharacters),wordWrapBreakAfterCharacters:Ds(e.wordWrapBreakAfterCharacters,t.wordWrapBreakAfterCharacters),wordWrapBreakObtrusiveCharacters:Ds(e.wordWrapBreakObtrusiveCharacters,t.wordWrapBreakObtrusiveCharacters),autoClosingBrackets:ws(e.autoClosingBrackets,t.autoClosingBrackets),autoIndent:ws(e.autoIndent,t.autoIndent),dragAndDrop:ws(e.dragAndDrop,t.dragAndDrop),emptySelectionClipboard:ws(e.emptySelectionClipboard,t.emptySelectionClipboard),useTabStops:ws(e.useTabStops,t.useTabStops),multiCursorModifier:u,multiCursorMergeOverlapping:ws(e.multiCursorMergeOverlapping,t.multiCursorMergeOverlapping),accessibilitySupport:Es(e.accessibilitySupport,t.accessibilitySupport,[\"auto\",\"on\",\"off\"]),viewInfo:i,contribInfo:o}},e._sanitizeScrollbarOpts=function(e,t,n){if(\"object\"!=typeof e)return t;var r=As(e.horizontalScrollbarSize,t.horizontalScrollbarSize,0,1e3),i=As(e.verticalScrollbarSize,t.verticalScrollbarSize,0,1e3);return{vertical:Ss(e.vertical,t.vertical),horizontal:Ss(e.horizontal,t.horizontal),arrowSize:As(e.arrowSize,t.arrowSize,0,1e3),useShadows:ws(e.useShadows,t.useShadows),verticalHasArrows:ws(e.verticalHasArrows,t.verticalHasArrows),horizontalHasArrows:ws(e.horizontalHasArrows,t.horizontalHasArrows),horizontalScrollbarSize:r,horizontalSliderSize:As(e.horizontalSliderSize,r,0,1e3),verticalScrollbarSize:i,verticalSliderSize:As(e.verticalSliderSize,i,0,1e3),handleMouseWheel:ws(e.handleMouseWheel,t.handleMouseWheel),mouseWheelScrollSensitivity:n}},e._sanitizeMinimapOpts=function(e,t){return\"object\"!=typeof e?t:{enabled:ws(e.enabled,t.enabled),side:Es(e.side,t.side,[\"right\",\"left\"]),showSlider:Es(e.showSlider,t.showSlider,[\"always\",\"mouseover\"]),renderCharacters:ws(e.renderCharacters,t.renderCharacters),maxColumn:As(e.maxColumn,t.maxColumn,1,1e4)}},e._santizeFindOpts=function(e,t){return\"object\"!=typeof e?t:{seedSearchStringFromSelection:ws(e.seedSearchStringFromSelection,t.seedSearchStringFromSelection),autoFindInSelection:ws(e.autoFindInSelection,t.autoFindInSelection),globalFindClipboard:ws(e.globalFindClipboard,t.globalFindClipboard)}},e._sanitizeViewInfo=function(e,t){var n=[];if(Array.isArray(e.rulers)){for(var r=0,i=e.rulers.length;r<i;r++)n.push(As(e.rulers[r],0,0,1e4));n.sort()}var o=t.renderLineNumbers,s=t.renderCustomLineNumbers;if(void 0!==e.lineNumbers){var a=e.lineNumbers;!0===a?a=\"on\":!1===a&&(a=\"off\"),\"function\"==typeof a?(o=4,s=a):o=\"interval\"===a?3:\"relative\"===a?2:\"on\"===a?1:0}var u=ws(e.fontLigatures,t.fontLigatures),l=ws(e.disableMonospaceOptimizations,t.disableMonospaceOptimizations)||u,c=e.renderWhitespace;!0===c?c=\"boundary\":!1===c&&(c=\"none\"),c=Es(e.renderWhitespace,t.renderWhitespace,[\"none\",\"boundary\",\"all\"]);var h=e.renderLineHighlight;!0===h?h=\"line\":!1===h&&(h=\"none\"),h=Es(e.renderLineHighlight,t.renderLineHighlight,[\"none\",\"gutter\",\"line\",\"all\"]);var d,p,f,g=(d=e.mouseWheelScrollSensitivity,p=t.scrollbar.mouseWheelScrollSensitivity,f=parseFloat(d),isNaN(f)&&(f=p),f);0===g&&(g=1);var m=this._sanitizeScrollbarOpts(e.scrollbar,t.scrollbar,g),v=this._sanitizeMinimapOpts(e.minimap,t.minimap);return{extraEditorClassName:Ds(e.extraEditorClassName,t.extraEditorClassName),disableMonospaceOptimizations:l,rulers:n,ariaLabel:Ds(e.ariaLabel,t.ariaLabel),renderLineNumbers:o,renderCustomLineNumbers:s,selectOnLineNumbers:ws(e.selectOnLineNumbers,t.selectOnLineNumbers),glyphMargin:ws(e.glyphMargin,t.glyphMargin),revealHorizontalRightPadding:As(e.revealHorizontalRightPadding,t.revealHorizontalRightPadding,0,1e3),roundedSelection:ws(e.roundedSelection,t.roundedSelection),overviewRulerLanes:As(e.overviewRulerLanes,t.overviewRulerLanes,0,3),overviewRulerBorder:ws(e.overviewRulerBorder,t.overviewRulerBorder),cursorBlinking:function(e,t){if(\"string\"!=typeof e)return t;switch(e){case\"blink\":return ys.Blink;case\"smooth\":return ys.Smooth;case\"phase\":return ys.Phase;case\"expand\":return ys.Expand;case\"visible\":case\"solid\":return ys.Solid}return ys.Blink}(e.cursorBlinking,t.cursorBlinking),mouseWheelZoom:ws(e.mouseWheelZoom,t.mouseWheelZoom),cursorStyle:function(e,t){return\"string\"!=typeof e?t:\"line\"===e?bs.Line:\"block\"===e?bs.Block:\"underline\"===e?bs.Underline:\"line-thin\"===e?bs.LineThin:\"block-outline\"===e?bs.BlockOutline:\"underline-thin\"===e?bs.UnderlineThin:bs.Line}(e.cursorStyle,t.cursorStyle),cursorWidth:As(e.cursorWidth,t.cursorWidth,0,Number.MAX_VALUE),hideCursorInOverviewRuler:ws(e.hideCursorInOverviewRuler,t.hideCursorInOverviewRuler),scrollBeyondLastLine:ws(e.scrollBeyondLastLine,t.scrollBeyondLastLine),smoothScrolling:ws(e.smoothScrolling,t.smoothScrolling),stopRenderingLineAfter:As(e.stopRenderingLineAfter,t.stopRenderingLineAfter,-1,1073741824),renderWhitespace:c,renderControlCharacters:ws(e.renderControlCharacters,t.renderControlCharacters),fontLigatures:u,renderIndentGuides:ws(e.renderIndentGuides,t.renderIndentGuides),renderLineHighlight:h,scrollbar:m,minimap:v,fixedOverflowWidgets:ws(e.fixedOverflowWidgets,t.fixedOverflowWidgets)}},e._sanitizeContribInfo=function(e,t){var n;n=\"object\"==typeof e.quickSuggestions?_s({other:!0},e.quickSuggestions):ws(e.quickSuggestions,t.quickSuggestions),\"boolean\"==typeof e.acceptSuggestionOnEnter&&(e.acceptSuggestionOnEnter=e.acceptSuggestionOnEnter?\"on\":\"off\");var r=this._santizeFindOpts(e.find,t.find);return{selectionClipboard:ws(e.selectionClipboard,t.selectionClipboard),hover:ws(e.hover,t.hover),links:ws(e.links,t.links),contextmenu:ws(e.contextmenu,t.contextmenu),quickSuggestions:n,quickSuggestionsDelay:As(e.quickSuggestionsDelay,t.quickSuggestionsDelay,-1073741824,1073741824),parameterHints:ws(e.parameterHints,t.parameterHints),iconsInSuggestions:ws(e.iconsInSuggestions,t.iconsInSuggestions),formatOnType:ws(e.formatOnType,t.formatOnType),formatOnPaste:ws(e.formatOnPaste,t.formatOnPaste),suggestOnTriggerCharacters:ws(e.suggestOnTriggerCharacters,t.suggestOnTriggerCharacters),acceptSuggestionOnEnter:Es(e.acceptSuggestionOnEnter,t.acceptSuggestionOnEnter,[\"on\",\"smart\",\"off\"]),acceptSuggestionOnCommitCharacter:ws(e.acceptSuggestionOnCommitCharacter,t.acceptSuggestionOnCommitCharacter),snippetSuggestions:Es(e.snippetSuggestions,t.snippetSuggestions,[\"top\",\"bottom\",\"inline\",\"none\"]),wordBasedSuggestions:ws(e.wordBasedSuggestions,t.wordBasedSuggestions),suggestSelection:Es(e.suggestSelection,t.suggestSelection,[\"first\",\"recentlyUsed\",\"recentlyUsedByPrefix\"]),suggestFontSize:As(e.suggestFontSize,t.suggestFontSize,0,1e3),suggestLineHeight:As(e.suggestLineHeight,t.suggestLineHeight,0,1e3),selectionHighlight:ws(e.selectionHighlight,t.selectionHighlight),occurrencesHighlight:ws(e.occurrencesHighlight,t.occurrencesHighlight),codeLens:ws(e.codeLens,t.codeLens),folding:ws(e.folding,t.folding),foldingStrategy:Es(e.foldingStrategy,t.foldingStrategy,[\"auto\",\"indentation\"]),showFoldingControls:Es(e.showFoldingControls,t.showFoldingControls,[\"always\",\"mouseover\"]),matchBrackets:ws(e.matchBrackets,t.matchBrackets),find:r,colorDecorators:ws(e.colorDecorators,t.colorDecorators),lightbulbEnabled:ws(!!e.lightbulb&&e.lightbulb.enabled,t.lightbulbEnabled),codeActionsOnSave:function(e,t){if(!e)return t;for(var n=Object.create(null),r=0,i=Object.keys(e);r<i.length;r++){var o=i[r],s=e[o];\"boolean\"==typeof s&&(n[o]=s)}return n}(e.codeActionsOnSave,{}),codeActionsOnSaveTimeout:As(e.codeActionsOnSaveTimeout,t.codeActionsOnSaveTimeout,1,1e4)}},e}(),Ms=function(){function e(){}return e._tweakValidatedOptions=function(e,t){var n=2===t,r=1===t;return{inDiffEditor:e.inDiffEditor,wordSeparators:e.wordSeparators,lineNumbersMinChars:e.lineNumbersMinChars,lineDecorationsWidth:e.lineDecorationsWidth,readOnly:e.readOnly,mouseStyle:e.mouseStyle,disableLayerHinting:e.disableLayerHinting,automaticLayout:e.automaticLayout,wordWrap:e.wordWrap,wordWrapColumn:e.wordWrapColumn,wordWrapMinified:e.wordWrapMinified,wrappingIndent:e.wrappingIndent,wordWrapBreakBeforeCharacters:e.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:e.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:e.wordWrapBreakObtrusiveCharacters,autoClosingBrackets:e.autoClosingBrackets,autoIndent:e.autoIndent,dragAndDrop:e.dragAndDrop,emptySelectionClipboard:e.emptySelectionClipboard,useTabStops:e.useTabStops,multiCursorModifier:e.multiCursorModifier,multiCursorMergeOverlapping:e.multiCursorMergeOverlapping,accessibilitySupport:e.accessibilitySupport,viewInfo:{extraEditorClassName:e.viewInfo.extraEditorClassName,disableMonospaceOptimizations:e.viewInfo.disableMonospaceOptimizations,rulers:e.viewInfo.rulers,ariaLabel:r?ns(\"accessibilityOffAriaLabel\",\"The editor is not accessible at this time. Press Alt+F1 for options.\"):e.viewInfo.ariaLabel,renderLineNumbers:e.viewInfo.renderLineNumbers,renderCustomLineNumbers:e.viewInfo.renderCustomLineNumbers,selectOnLineNumbers:e.viewInfo.selectOnLineNumbers,glyphMargin:e.viewInfo.glyphMargin,revealHorizontalRightPadding:e.viewInfo.revealHorizontalRightPadding,roundedSelection:!n&&e.viewInfo.roundedSelection,overviewRulerLanes:e.viewInfo.overviewRulerLanes,overviewRulerBorder:e.viewInfo.overviewRulerBorder,cursorBlinking:e.viewInfo.cursorBlinking,mouseWheelZoom:e.viewInfo.mouseWheelZoom,cursorStyle:e.viewInfo.cursorStyle,cursorWidth:e.viewInfo.cursorWidth,hideCursorInOverviewRuler:e.viewInfo.hideCursorInOverviewRuler,scrollBeyondLastLine:e.viewInfo.scrollBeyondLastLine,smoothScrolling:e.viewInfo.smoothScrolling,stopRenderingLineAfter:e.viewInfo.stopRenderingLineAfter,renderWhitespace:n?\"none\":e.viewInfo.renderWhitespace,renderControlCharacters:!n&&e.viewInfo.renderControlCharacters,fontLigatures:!n&&e.viewInfo.fontLigatures,renderIndentGuides:!n&&e.viewInfo.renderIndentGuides,renderLineHighlight:e.viewInfo.renderLineHighlight,scrollbar:e.viewInfo.scrollbar,minimap:{enabled:!n&&e.viewInfo.minimap.enabled,side:e.viewInfo.minimap.side,renderCharacters:e.viewInfo.minimap.renderCharacters,showSlider:e.viewInfo.minimap.showSlider,maxColumn:e.viewInfo.minimap.maxColumn},fixedOverflowWidgets:e.viewInfo.fixedOverflowWidgets},contribInfo:{selectionClipboard:e.contribInfo.selectionClipboard,hover:e.contribInfo.hover,links:!n&&e.contribInfo.links,contextmenu:e.contribInfo.contextmenu,quickSuggestions:e.contribInfo.quickSuggestions,quickSuggestionsDelay:e.contribInfo.quickSuggestionsDelay,parameterHints:e.contribInfo.parameterHints,iconsInSuggestions:e.contribInfo.iconsInSuggestions,formatOnType:e.contribInfo.formatOnType,formatOnPaste:e.contribInfo.formatOnPaste,suggestOnTriggerCharacters:e.contribInfo.suggestOnTriggerCharacters,acceptSuggestionOnEnter:e.contribInfo.acceptSuggestionOnEnter,acceptSuggestionOnCommitCharacter:e.contribInfo.acceptSuggestionOnCommitCharacter,snippetSuggestions:e.contribInfo.snippetSuggestions,wordBasedSuggestions:e.contribInfo.wordBasedSuggestions,suggestSelection:e.contribInfo.suggestSelection,suggestFontSize:e.contribInfo.suggestFontSize,suggestLineHeight:e.contribInfo.suggestLineHeight,selectionHighlight:!n&&e.contribInfo.selectionHighlight,occurrencesHighlight:!n&&e.contribInfo.occurrencesHighlight,codeLens:!n&&e.contribInfo.codeLens,folding:!n&&e.contribInfo.folding,foldingStrategy:e.contribInfo.foldingStrategy,showFoldingControls:e.contribInfo.showFoldingControls,matchBrackets:!n&&e.contribInfo.matchBrackets,find:e.contribInfo.find,colorDecorators:e.contribInfo.colorDecorators,lightbulbEnabled:e.contribInfo.lightbulbEnabled,codeActionsOnSave:e.contribInfo.codeActionsOnSave,codeActionsOnSaveTimeout:e.contribInfo.codeActionsOnSaveTimeout}}},e.createInternalEditorOptions=function(e,t){var n;n=\"auto\"===t.accessibilitySupport?e.accessibilitySupport:\"on\"===t.accessibilitySupport?2:1;var r,i=this._tweakValidatedOptions(t,n);\"string\"==typeof i.lineDecorationsWidth&&/^\\d+(\\.\\d+)?ch$/.test(i.lineDecorationsWidth)?r=parseFloat(i.lineDecorationsWidth.substr(0,i.lineDecorationsWidth.length-2))*e.fontInfo.typicalHalfwidthCharacterWidth:r=As(i.lineDecorationsWidth,0,0,1e3);i.contribInfo.folding&&(r+=16);var o=Ns.compute({outerWidth:e.outerWidth,outerHeight:e.outerHeight,showGlyphMargin:i.viewInfo.glyphMargin,lineHeight:e.fontInfo.lineHeight,showLineNumbers:0!==i.viewInfo.renderLineNumbers,lineNumbersMinChars:i.lineNumbersMinChars,lineNumbersDigitCount:e.lineNumbersDigitCount,lineDecorationsWidth:r,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,verticalScrollbarWidth:i.viewInfo.scrollbar.verticalScrollbarSize,horizontalScrollbarHeight:i.viewInfo.scrollbar.horizontalScrollbarSize,scrollbarArrowSize:i.viewInfo.scrollbar.arrowSize,verticalScrollbarHasArrows:i.viewInfo.scrollbar.verticalHasArrows,minimap:i.viewInfo.minimap.enabled,minimapSide:i.viewInfo.minimap.side,minimapRenderCharacters:i.viewInfo.minimap.renderCharacters,minimapMaxColumn:i.viewInfo.minimap.maxColumn,pixelRatio:e.pixelRatio}),s=null,a=i.wordWrap,u=i.wordWrapColumn,l=i.wordWrapMinified;s=2===n?{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1}:l&&e.isDominatedByLongLines?{isWordWrapMinified:!0,isViewportWrapping:!0,wrappingColumn:Math.max(1,o.viewportColumn)}:\"on\"===a?{isWordWrapMinified:!1,isViewportWrapping:!0,wrappingColumn:Math.max(1,o.viewportColumn)}:\"bounded\"===a?{isWordWrapMinified:!1,isViewportWrapping:!0,wrappingColumn:Math.min(Math.max(1,o.viewportColumn),u)}:\"wordWrapColumn\"===a?{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:u}:{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1};var c={inDiffEditor:i.inDiffEditor,isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn,wrappingIndent:i.wrappingIndent,wordWrapBreakBeforeCharacters:i.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:i.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:i.wordWrapBreakObtrusiveCharacters},h=\"monaco-editor\";return i.viewInfo.extraEditorClassName&&(h+=\" \"+i.viewInfo.extraEditorClassName),e.extraEditorClassName&&(h+=\" \"+e.extraEditorClassName),i.viewInfo.fontLigatures&&(h+=\" enable-ligatures\"),\"default\"===i.mouseStyle?h+=\" mouse-default\":\"copy\"===i.mouseStyle&&(h+=\" mouse-copy\"),new Cs({canUseLayerHinting:!i.disableLayerHinting,pixelRatio:e.pixelRatio,editorClassName:h,lineHeight:e.fontInfo.lineHeight,readOnly:i.readOnly,accessibilitySupport:n,multiCursorModifier:i.multiCursorModifier,multiCursorMergeOverlapping:i.multiCursorMergeOverlapping,wordSeparators:i.wordSeparators,autoClosingBrackets:i.autoClosingBrackets,autoIndent:i.autoIndent,useTabStops:i.useTabStops,tabFocusMode:!!i.readOnly||e.tabFocusMode,dragAndDrop:i.dragAndDrop,emptySelectionClipboard:i.emptySelectionClipboard&&e.emptySelectionClipboard,layoutInfo:o,fontInfo:e.fontInfo,viewInfo:i.viewInfo,wrappingInfo:c,contribInfo:i.contribInfo})},e}(),Ns=function(){function e(){}return e.compute=function(e){var t=0|e.outerWidth,n=0|e.outerHeight,r=e.showGlyphMargin,i=0|e.lineHeight,o=e.showLineNumbers,s=0|e.lineNumbersMinChars,a=0|e.lineNumbersDigitCount,u=0|e.lineDecorationsWidth,l=e.typicalHalfwidthCharacterWidth,c=e.maxDigitWidth,h=0|e.verticalScrollbarWidth,d=e.verticalScrollbarHasArrows,p=0|e.scrollbarArrowSize,f=0|e.horizontalScrollbarHeight,g=e.minimap,m=e.minimapSide,v=e.minimapRenderCharacters,y=0|e.minimapMaxColumn,b=e.pixelRatio,_=0;if(o){var C=Math.max(a,s);_=Math.round(C*c)}var w=0;r&&(w=i);var D,E,A,S,x=0,M=x+w,N=M+_,I=N+u,L=t-w-_-u;if(g){var k=void 0;b>=2?(D=v?ms.Large:ms.LargeBlocks,k=2/b):(D=v?ms.Small:ms.SmallBlocks,k=1/b),(A=Math.max(0,Math.floor((L-h-2)*k/(l+k))))/k>y&&(A=Math.floor(y*k)),S=L-A,\"left\"===m?(E=0,x+=A,M+=A,N+=A,I+=A):E=t-A-h}else E=0,A=0,D=ms.None,S=L;var T=Math.max(1,Math.floor((S-h-2)/l)),F=d?p:0;return{width:t,height:n,glyphMarginLeft:x,glyphMarginWidth:w,glyphMarginHeight:n,lineNumbersLeft:M,lineNumbersWidth:_,lineNumbersHeight:n,decorationsLeft:N,decorationsWidth:u,decorationsHeight:n,contentLeft:I,contentWidth:S,contentHeight:n,renderMinimap:D,minimapLeft:E,minimapWidth:A,viewportColumn:T,verticalScrollbarWidth:h,horizontalScrollbarHeight:f,overviewRuler:{top:F,width:h,height:n-2*F,right:0}}},e}(),Is={fontFamily:we.d?\"Menlo, Monaco, 'Courier New', monospace\":we.c?\"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'\":\"Consolas, 'Courier New', monospace\",fontWeight:\"normal\",fontSize:we.d?12:14,lineHeight:0,letterSpacing:0},Ls={tabSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},ks={inDiffEditor:!1,wordSeparators:Wo,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:\"text\",disableLayerHinting:!1,automaticLayout:!1,wordWrap:\"off\",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:vs.Same,wordWrapBreakBeforeCharacters:\"([{‘“〈《「『【〔（［｛｢£¥＄￡￥+＋\",wordWrapBreakAfterCharacters:\" \\t})]?|&,;¢°′″‰℃、。｡､￠，．：；？！％・･ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ｧｨｩｪｫｬｭｮｯｰ”〉》」』】〕）］｝｣\",wordWrapBreakObtrusiveCharacters:\".\",autoClosingBrackets:!0,autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,useTabStops:!0,multiCursorModifier:\"altKey\",multiCursorMergeOverlapping:!0,accessibilitySupport:\"auto\",viewInfo:{extraEditorClassName:\"\",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:ns(\"editorViewAccessibleLabel\",\"Editor content\"),renderLineNumbers:1,renderCustomLineNumbers:null,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:ys.Blink,mouseWheelZoom:!1,cursorStyle:bs.Line,cursorWidth:0,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,smoothScrolling:!1,stopRenderingLineAfter:1e4,renderWhitespace:\"none\",renderControlCharacters:!1,fontLigatures:!1,renderIndentGuides:!0,renderLineHighlight:\"line\",scrollbar:{vertical:rs.Auto,horizontal:rs.Auto,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1},minimap:{enabled:!0,side:\"right\",showSlider:\"mouseover\",renderCharacters:!0,maxColumn:120},fixedOverflowWidgets:!1},contribInfo:{selectionClipboard:!0,hover:!0,links:!0,contextmenu:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},quickSuggestionsDelay:10,parameterHints:!0,iconsInSuggestions:!0,formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:\"on\",acceptSuggestionOnCommitCharacter:!0,snippetSuggestions:\"inline\",wordBasedSuggestions:!0,suggestSelection:\"recentlyUsed\",suggestFontSize:0,suggestLineHeight:0,selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:\"auto\",showFoldingControls:\"mouseover\",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1},colorDecorators:!0,lightbulbEnabled:!0,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}},Ts=function(){function e(e,t,n){for(var r=new Uint8Array(e*t),i=0,o=e*t;i<o;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}return e.prototype.get=function(e,t){return this._data[e*this.cols+t]},e.prototype.set=function(e,t,n){this._data[e*this.cols+t]=n},e}();function Fs(e){return e<0?0:e>255?255:0|e}function Os(e){return e<0?0:e>4294967295?4294967295:0|e}var Ps=function(){function e(t){var n=Fs(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=Fs(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),Bs=function(){function e(){this._actual=new Ps(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}(),Rs=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),js=function(e){function t(t){for(var n=e.call(this,0)||this,r=0,i=t.length;r<i;r++)n.set(t.charCodeAt(r),2);return n.set(32,1),n.set(9,1),n}return Rs(t,e),t}(Ps);var zs,Ws,Vs=(zs=function(e){return new js(e)},Ws={},function(e){return Ws.hasOwnProperty(e)||(Ws[e]=zs(e)),Ws[e]}),Hs=function(){function e(e,t,n,r){this.searchString=e,this.isRegex=t,this.matchCase=n,this.wordSeparators=r}return e._isMultilineRegexSource=function(e){if(!e||0===e.length)return!1;for(var t=0,n=e.length;t<n;t++){if(92===e.charCodeAt(t)){if(++t>=n)break;var r=e.charCodeAt(t);if(110===r||114===r)return!0}}return!1},e.prototype.parseSearchRequest=function(){if(\"\"===this.searchString)return null;var t;t=this.isRegex?e._isMultilineRegexSource(this.searchString):this.searchString.indexOf(\"\\n\")>=0;var n=null;try{n=lt(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0})}catch(e){return null}if(!n)return null;var r=!this.isRegex&&!t;return r&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(r=this.matchCase),new Us(n,this.wordSeparators?Vs(this.wordSeparators):null,r?this.searchString:null)},e}(),Us=function(){return function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}();function Ys(e,t,n){if(!n)return new Rn(e,null);for(var r=[],i=0,o=t.length;i<o;i++)r[i]=t[i];return new Rn(e,r)}var Zs=function(){function e(){}return e.findMatches=function(e,t,n,r,i){var o=t.parseSearchRequest();if(!o)return[];if(o.regex.multiline){if(\"\\\\n\"===o.regex.source){for(var s=[],a=0,u=1,l=e.getLineCount();u<l;u++){var c=new be(u,e.getLineMaxColumn(u),u+1,1);if(s[a++]=new Rn(c,r?null:[\"\\n\"]),a>=i)break}return s}return this._doFindMatchesMultiline(e,n,new Ks(o.wordSeparators,o.regex),r,i)}return this._doFindMatchesLineByLine(e,n,o,r,i)},e._getMultilineMatchRange=function(e,t,n,r,i){var o,s;if(\"\\r\\n\"===e.getEOL()){for(var a=0,u=0;u<r;u++){10===n.charCodeAt(u)&&a++}o=t+r+a}else o=t+r;if(\"\\r\\n\"===e.getEOL()){for(var l=0,c=(u=0,i.length);u<c;u++){10===n.charCodeAt(u+r)&&l++}s=o+i.length+l}else s=o+i.length;var h=e.getPositionAt(o),d=e.getPositionAt(s);return new be(h.lineNumber,h.column,d.lineNumber,d.column)},e._doFindMatchesMultiline=function(e,t,n,r,i){var o,s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,kn.LF),u=[],l=0;for(n.reset(0);o=n.next(a);)if(u[l++]=Ys(this._getMultilineMatchRange(e,s,a,o.index,o[0]),o,r),l>=i)return u;return u},e._doFindMatchesLineByLine=function(e,t,n,r,i){var o=[],s=0;if(t.startLineNumber===t.endLineNumber){var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,s,o,r,i),o}var u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,u,t.startLineNumber,t.startColumn-1,s,o,r,i);for(var l=t.startLineNumber+1;l<t.endLineNumber&&s<i;l++)s=this._findMatchesInLine(n,e.getLineContent(l),l,0,s,o,r,i);if(s<i){var c=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);s=this._findMatchesInLine(n,c,t.endLineNumber,0,s,o,r,i)}return o},e._findMatchesInLine=function(e,t,n,r,i,o,s,a){var u=e.wordSeparators;if(!s&&e.simpleSearch){for(var l=e.simpleSearch,c=l.length,h=t.length,d=-c;-1!==(d=t.indexOf(l,d+c));)if((!u||Gs(u,t,h,d,c))&&(o[i++]=new Rn(new be(n,d+1+r,n,d+1+c+r),null),i>=a))return i;return i}var p,f=new Ks(e.wordSeparators,e.regex);f.reset(0);do{if((p=f.next(t))&&(o[i++]=Ys(new be(n,p.index+1+r,n,p.index+1+p[0].length+r),p,s),i>=a))return i}while(p);return i},e.findNextMatch=function(e,t,n,r){var i=t.parseSearchRequest();if(!i)return null;var o=new Ks(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindNextMatchMultiline(e,n,o,r):this._doFindNextMatchLineByLine(e,n,o,r)},e._doFindNextMatchMultiline=function(e,t,n,r){var i=new ye(t.lineNumber,1),o=e.getOffsetAt(i),s=e.getLineCount(),a=e.getValueInRange(new be(i.lineNumber,i.column,s,e.getLineMaxColumn(s)),kn.LF);n.reset(t.column-1);var u=n.next(a);return u?Ys(this._getMultilineMatchRange(e,o,a,u.index,u[0]),u,r):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new ye(1,1),n,r):null},e._doFindNextMatchLineByLine=function(e,t,n,r){var i=e.getLineCount(),o=t.lineNumber,s=e.getLineContent(o),a=this._findFirstMatchInLine(n,s,o,t.column,r);if(a)return a;for(var u=1;u<=i;u++){var l=(o+u-1)%i,c=e.getLineContent(l+1),h=this._findFirstMatchInLine(n,c,l+1,1,r);if(h)return h}return null},e._findFirstMatchInLine=function(e,t,n,r,i){e.reset(r-1);var o=e.next(t);return o?Ys(new be(n,o.index+1,n,o.index+1+o[0].length),o,i):null},e.findPreviousMatch=function(e,t,n,r){var i=t.parseSearchRequest();if(!i)return null;var o=new Ks(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindPreviousMatchMultiline(e,n,o,r):this._doFindPreviousMatchLineByLine(e,n,o,r)},e._doFindPreviousMatchMultiline=function(e,t,n,r){var i=this._doFindMatchesMultiline(e,new be(1,1,t.lineNumber,t.column),n,r,9990);if(i.length>0)return i[i.length-1];var o=e.getLineCount();return t.lineNumber!==o||t.column!==e.getLineMaxColumn(o)?this._doFindPreviousMatchMultiline(e,new ye(o,e.getLineMaxColumn(o)),n,r):null},e._doFindPreviousMatchLineByLine=function(e,t,n,r){var i=e.getLineCount(),o=t.lineNumber,s=e.getLineContent(o).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,o,r);if(a)return a;for(var u=1;u<=i;u++){var l=(i+o-u-1)%i,c=e.getLineContent(l+1),h=this._findLastMatchInLine(n,c,l+1,r);if(h)return h}return null},e._findLastMatchInLine=function(e,t,n,r){var i,o=null;for(e.reset(0);i=e.next(t);)o=Ys(new be(n,i.index+1,n,i.index+1+i[0].length),i,r);return o},e}();function Gs(e,t,n,r,i){return function(e,t,n,r,i){if(0===r)return!0;var o=t.charCodeAt(r-1);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(i>0){var s=t.charCodeAt(r);if(0!==e.get(s))return!0}return!1}(e,t,0,r,i)&&function(e,t,n,r,i){if(r+i===n)return!0;var o=t.charCodeAt(r+i);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(i>0){var s=t.charCodeAt(r+i-1);if(0!==e.get(s))return!0}return!1}(e,t,n,r,i)}var Ks=function(){function e(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}return e.prototype.reset=function(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0},e.prototype.next=function(e){var t,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var r=t.index,i=t[0].length;if(r===this._prevMatchStartIndex&&i===this._prevMatchLength)return null;if(this._prevMatchStartIndex=r,this._prevMatchLength=i,!this._wordSeparators||Gs(this._wordSeparators,e,n,r,i))return t}while(t);return null},e}(),qs=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=null,this.left=null,this.right=null}return e.prototype.next=function(){if(this.right!==Qs)return Xs(this.right);for(var e=this;e.parent!==Qs&&e.parent.left!==e;)e=e.parent;return e.parent===Qs?Qs:e.parent},e.prototype.prev=function(){if(this.left!==Qs)return Js(this.left);for(var e=this;e.parent!==Qs&&e.parent.right!==e;)e=e.parent;return e.parent===Qs?Qs:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),Qs=new qs(null,0);function Xs(e){for(;e.left!==Qs;)e=e.left;return e}function Js(e){for(;e.right!==Qs;)e=e.right;return e}function $s(e){return e===Qs?0:e.size_left+e.piece.length+$s(e.right)}function ea(e){return e===Qs?0:e.lf_left+e.piece.lineFeedCnt+ea(e.right)}function ta(){Qs.parent=Qs}function na(e,t){var n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==Qs&&(n.left.parent=t),n.parent=t.parent,t.parent===Qs?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function ra(e,t){var n=t.left;t.left=n.right,n.right!==Qs&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===Qs?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function ia(e,t){var n,r;if(n=t.left===Qs?(r=t).right:t.right===Qs?(r=t).left:(r=Xs(t.right)).right,r===e.root)return e.root=n,n.color=0,t.detach(),ta(),void(e.root.parent=Qs);var i=1===r.color;if(r===r.parent.left?r.parent.left=n:r.parent.right=n,r===t?(n.parent=r.parent,aa(e,n)):(r.parent===t?n.parent=r:n.parent=r.parent,aa(e,n),r.left=t.left,r.right=t.right,r.parent=t.parent,r.color=t.color,t===e.root?e.root=r:t===t.parent.left?t.parent.left=r:t.parent.right=r,r.left!==Qs&&(r.left.parent=r),r.right!==Qs&&(r.right.parent=r),r.size_left=t.size_left,r.lf_left=t.lf_left,aa(e,r)),t.detach(),n.parent.left===n){var o=$s(n),s=ea(n);if(o!==n.parent.size_left||s!==n.parent.lf_left){var a=o-n.parent.size_left,u=s-n.parent.lf_left;n.parent.size_left=o,n.parent.lf_left=s,sa(e,n.parent,a,u)}}if(aa(e,n.parent),i)ta();else{for(var l;n!==e.root&&0===n.color;)n===n.parent.left?(1===(l=n.parent.right).color&&(l.color=0,n.parent.color=1,na(e,n.parent),l=n.parent.right),0===l.left.color&&0===l.right.color?(l.color=1,n=n.parent):(0===l.right.color&&(l.left.color=0,l.color=1,ra(e,l),l=n.parent.right),l.color=n.parent.color,n.parent.color=0,l.right.color=0,na(e,n.parent),n=e.root)):(1===(l=n.parent.left).color&&(l.color=0,n.parent.color=1,ra(e,n.parent),l=n.parent.left),0===l.left.color&&0===l.right.color?(l.color=1,n=n.parent):(0===l.left.color&&(l.right.color=0,l.color=1,na(e,l),l=n.parent.left),l.color=n.parent.color,n.parent.color=0,l.left.color=0,ra(e,n.parent),n=e.root));n.color=0,ta()}}function oa(e,t){for(aa(e,t);t!==e.root&&1===t.parent.color;){var n;if(t.parent===t.parent.parent.left)1===(n=t.parent.parent.right).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&na(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,ra(e,t.parent.parent));else 1===(n=t.parent.parent.left).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&ra(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,na(e,t.parent.parent))}e.root.color=0}function sa(e,t,n,r){for(;t!==e.root&&t!==Qs;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=r),t=t.parent}function aa(e,t){var n=0,r=0;if(t!==e.root){if(0===n){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;n=$s((t=t.parent).left)-t.size_left,r=ea(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=r}for(;t!==e.root&&(0!==n||0!==r);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=r),t=t.parent}}Qs.parent=Qs,Qs.left=Qs,Qs.right=Qs,Qs.color=0;function ua(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var la=function(){return function(e,t,n,r,i){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=r,this.isBasicASCII=i}}();function ca(e,t){void 0===t&&(t=!0);for(var n=[0],r=1,i=0,o=e.length;i<o;i++){var s=e.charCodeAt(i);13===s?i+1<o&&10===e.charCodeAt(i+1)?(n[r++]=i+2,i++):n[r++]=i+1:10===s&&(n[r++]=i+1)}return t?ua(n):n}var ha=function(){return function(e,t,n,r,i){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=r,this.length=i}}(),da=function(){return function(e,t){this.buffer=e,this.lineStarts=t}}(),pa=function(){function e(e,t){var n=this;this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==Qs&&e.iterate(e.root,function(e){return e!==Qs&&n._pieces.push(e.piece),!0})}return e.prototype.read=function(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])},e}(),fa=function(){function e(e){this._limit=e,this._cache=[]}return e.prototype.get=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<e&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=e)return n}return null},e.prototype.set=function(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)},e.prototype.valdiate=function(e){for(var t=!1,n=0;n<this._cache.length;n++){var r=this._cache[n];(null===r.node.parent||r.nodeStartOffset>=e)&&(this._cache[n]=null,t=!0)}if(t){var i=[];for(n=0;n<this._cache.length;n++)null!==this._cache[n]&&i.push(this._cache[n]);this._cache=i}},e}(),ga=function(){function e(e,t,n){this.create(e,t,n)}return e.prototype.create=function(e,t,n){this._buffers=[new da(\"\",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Qs,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;for(var r=null,i=0,o=e.length;i<o;i++)if(e[i].buffer.length>0){e[i].lineStarts||(e[i].lineStarts=ca(e[i].buffer));var s=new ha(i+1,{line:0,column:0},{line:e[i].lineStarts.length-1,column:e[i].buffer.length-e[i].lineStarts[e[i].lineStarts.length-1]},e[i].lineStarts.length-1,e[i].buffer.length);this._buffers.push(e[i]),r=this.rbInsertRight(r,s)}this._searchCache=new fa(1),this._lastVisitedLine={lineNumber:0,value:null},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,n=65535-Math.floor(21845),r=2*n,i=\"\",o=0,s=[];if(this.iterate(this.root,function(a){var u=t.getNodeContent(a),l=u.length;if(o<=n||o+l<r)return i+=u,o+=l,!0;var c=i.replace(/\\r\\n|\\r|\\n/g,e);return s.push(new da(c,ca(c))),i=u,o=l,!0}),o>0){var a=i.replace(/\\r\\n|\\r|\\n/g,e);s.push(new da(a,ca(a)))}this.create(s,e,!0)},e.prototype.getEOL=function(){return this._EOL},e.prototype.setEOL=function(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)},e.prototype.createSnapshot=function(e){return new pa(this,e)},e.prototype.equal=function(e){var t=this;if(this.getLength()!==e.getLength())return!1;if(this.getLineCount()!==e.getLineCount())return!1;return this.iterate(this.root,function(n){if(n===Qs)return!0;var r=t.getNodeContent(n),i=r.length,o=e.nodeAt(0),s=e.nodeAt(0+i);return r===e.getValueInRange2(o,s)})},e.prototype.getOffsetAt=function(e,t){for(var n=0,r=this.root;r!==Qs;)if(r.left!==Qs&&r.lf_left+1>=e)r=r.left;else{if(r.lf_left+r.piece.lineFeedCnt+1>=e)return(n+=r.size_left)+(this.getAccumulatedValue(r,e-r.lf_left-2)+t-1);e-=r.lf_left+r.piece.lineFeedCnt,n+=r.size_left+r.piece.length,r=r.right}return n},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,n=0,r=e;t!==Qs;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var i=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+i.index,0===i.index){var o=this.getOffsetAt(n+1,1);return new ye(n+1,r-o+1)}return new ye(n+1,i.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===Qs){o=this.getOffsetAt(n+1,1);return new ye(n+1,r-e-o+1)}t=t.right}return new ye(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return\"\";var n=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),i=this.getValueInRange2(n,r);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?i:i.replace(/\\r\\n|\\r|\\n/g,t):i},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var n=e.node,r=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r.substring(i+e.remainder,i+t.remainder)}var o=e.node,s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start),u=s.substring(a+e.remainder,a+o.piece.length);for(o=o.next();o!==Qs;){var l=this._buffers[o.piece.bufferIndex].buffer,c=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);if(o===t.node){u+=l.substring(c,c+t.remainder);break}u+=l.substr(c,o.piece.length),o=o.next()}return u},e.prototype.getLinesContent=function(){return this.getContentOfSubTree(this.root).split(/\\r\\n|\\r|\\n/)},e.prototype.getLength=function(){return this._length},e.prototype.getLineCount=function(){return this._lineCnt},e.prototype.getLineContent=function(e){return this._lastVisitedLine.lineNumber===e?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\\r\\n|\\r|\\n)$/,\"\"),this._lastVisitedLine.value)},e.prototype.getLineCharCode=function(e,t){var n=this.nodeAt2(e,t+1);if(n.remainder===n.node.piece.length){var r=n.node.next();if(!r)return 0;var i=this._buffers[r.piece.bufferIndex],o=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);return i.buffer.charCodeAt(o)}i=this._buffers[n.node.piece.bufferIndex];var s=(o=this.offsetInBuffer(n.node.piece.bufferIndex,n.node.piece.start))+n.remainder;return i.buffer.charCodeAt(s)},e.prototype.getLineLength=function(e){if(e===this.getLineCount()){var t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength},e.prototype.findMatchesInNode=function(e,t,n,r,i,o,s,a,u,l,c){var h,d=this._buffers[e.piece.bufferIndex],p=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),f=this.offsetInBuffer(e.piece.bufferIndex,i),g=this.offsetInBuffer(e.piece.bufferIndex,o);t.reset(f);var m={line:0,column:0};do{if(h=t.next(d.buffer)){if(h.index>=g)return l;this.positionInBuffer(e,h.index-p,m);var v=this.getLineFeedCnt(e.piece.bufferIndex,i,m),y=m.line===i.line?m.column-i.column+r:m.column+1,b=y+h[0].length;if(c[l++]=Ys(new be(n+v,y,n+v,b),h,a),h.index+h[0].length>=g)return l;if(l>=u)return l}}while(h);return l},e.prototype.findMatchesLineByLine=function(e,t,n,r){var i=[],o=0,s=new Ks(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var u=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===u)return[];var l=this.positionInBuffer(a.node,a.remainder),c=this.positionInBuffer(u.node,u.remainder);if(a.node===u.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,l,c,t,n,r,o,i),i;for(var h=e.startLineNumber,d=a.node;d!==u.node;){var p=this.getLineFeedCnt(d.piece.bufferIndex,l,d.piece.end);if(p>=1){var f=this._buffers[d.piece.bufferIndex].lineStarts,g=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),m=f[l.line+p],v=h===e.startLineNumber?e.startColumn:1;if((o=this.findMatchesInNode(d,s,h,v,l,this.positionInBuffer(d,m-g),t,n,r,o,i))>=r)return i;h+=p}var y=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){var b=this.getLineContent(h).substring(y,e.endColumn-1);return o=this._findMatchesInLine(t,s,b,e.endLineNumber,y,o,i,n,r),i}if((o=this._findMatchesInLine(t,s,this.getLineContent(h).substr(y),h,y,o,i,n,r))>=r)return i;h++,d=(a=this.nodeAt2(h,1)).node,l=this.positionInBuffer(a.node,a.remainder)}if(h===e.endLineNumber){var _=h===e.startLineNumber?e.startColumn-1:0;b=this.getLineContent(h).substring(_,e.endColumn-1);return o=this._findMatchesInLine(t,s,b,e.endLineNumber,_,o,i,n,r),i}var C=h===e.startLineNumber?e.startColumn:1;return o=this.findMatchesInNode(u.node,s,h,C,l,c,t,n,r,o,i),i},e.prototype._findMatchesInLine=function(e,t,n,r,i,o,s,a,u){var l,c=e.wordSeparators;if(!a&&e.simpleSearch){for(var h=e.simpleSearch,d=h.length,p=n.length,f=-d;-1!==(f=n.indexOf(h,f+d));)if((!c||Gs(c,n,p,f,d))&&(s[o++]=new Rn(new be(r,f+1+i,r,f+1+d+i),null),o>=u))return o;return o}t.reset(0);do{if((l=t.next(n))&&(s[o++]=Ys(new be(r,l.index+1+i,r,l.index+1+l[0].length+i),l,a),o>=u))return o}while(l);return o},e.prototype.insert=function(e,t,n){if(void 0===n&&(n=!1),this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=null,this.root!==Qs){var r=this.nodeAt(e),i=r.node,o=r.remainder,s=r.nodeStartOffset,a=i.piece,u=a.bufferIndex,l=this.positionInBuffer(i,o);if(0===i.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(i,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,i),this._searchCache.valdiate(e);else if(s+i.piece.length>e){var c=[],h=new ha(a.bufferIndex,l,a.end,this.getLineFeedCnt(a.bufferIndex,l,a.end),this.offsetInBuffer(u,a.end)-this.offsetInBuffer(u,l));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(i,o)){var d={line:h.start.line+1,column:0};h=new ha(h.bufferIndex,d,h.end,this.getLineFeedCnt(h.bufferIndex,d,h.end),h.length-1),t+=\"\\n\"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(i,o-1)){var p=this.positionInBuffer(i,o-1);this.deleteNodeTail(i,p),t=\"\\r\"+t,0===i.piece.length&&c.push(i)}else this.deleteNodeTail(i,l);else this.deleteNodeTail(i,l);var f=this.createNewPieces(t);h.length>0&&this.rbInsertRight(i,h);for(var g=i,m=0;m<f.length;m++)g=this.rbInsertRight(g,f[m]);this.deleteNodes(c)}else this.insertContentToNodeRight(t,i)}else{var v=this.createNewPieces(t);for(i=this.rbInsertLeft(null,v[0]),m=1;m<v.length;m++)i=this.rbInsertRight(i,v[m])}this.computeBufferMetadata()},e.prototype.delete=function(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=null,!(t<=0||this.root===Qs)){var n=this.nodeAt(e),r=this.nodeAt(e+t),i=n.node,o=r.node;if(i===o){var s=this.positionInBuffer(i,n.remainder),a=this.positionInBuffer(i,r.remainder);if(n.nodeStartOffset===e){if(t===i.piece.length){var u=i.next();return ia(this,i),this.validateCRLFWithPrevNode(u),void this.computeBufferMetadata()}return this.deleteNodeHead(i,a),this._searchCache.valdiate(e),this.validateCRLFWithPrevNode(i),void this.computeBufferMetadata()}return n.nodeStartOffset+i.piece.length===e+t?(this.deleteNodeTail(i,s),this.validateCRLFWithNextNode(i),void this.computeBufferMetadata()):(this.shrinkNode(i,s,a),void this.computeBufferMetadata())}var l=[],c=this.positionInBuffer(i,n.remainder);this.deleteNodeTail(i,c),this._searchCache.valdiate(e),0===i.piece.length&&l.push(i);var h=this.positionInBuffer(o,r.remainder);this.deleteNodeHead(o,h),0===o.piece.length&&l.push(o);for(var d=i.next();d!==Qs&&d!==o;d=d.next())l.push(d);var p=0===i.piece.length?i.prev():i;this.deleteNodes(l),this.validateCRLFWithNextNode(p),this.computeBufferMetadata()}},e.prototype.insertContentToNodeLeft=function(e,t){var n=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){var r=t.piece,i={line:r.start.line+1,column:0},o=new ha(r.bufferIndex,i,r.end,this.getLineFeedCnt(r.bufferIndex,i,r.end),r.length-1);t.piece=o,e+=\"\\n\",sa(this,t,-1,-1),0===t.piece.length&&n.push(t)}for(var s=this.createNewPieces(e),a=this.rbInsertLeft(t,s[s.length-1]),u=s.length-2;u>=0;u--)a=this.rbInsertLeft(a,s[u]);this.validateCRLFWithPrevNode(a),this.deleteNodes(n)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+=\"\\n\");for(var n=this.createNewPieces(e),r=this.rbInsertRight(t,n[0]),i=r,o=1;o<n.length;o++)i=this.rbInsertRight(i,n[o]);this.validateCRLFWithPrevNode(r)},e.prototype.positionInBuffer=function(e,t,n){for(var r,i,o,s=e.piece,a=e.piece.bufferIndex,u=this._buffers[a].lineStarts,l=u[s.start.line]+s.start.column+t,c=s.start.line,h=s.end.line;c<=h&&(o=u[r=c+(h-c)/2|0],r!==h);)if(i=u[r+1],l<o)h=r-1;else{if(!(l>=i))break;c=r+1}return n?(n.line=r,n.column=l-o,null):{line:r,column:l-o}},e.prototype.getLineFeedCnt=function(e,t,n){if(0===n.column)return n.line-t.line;var r=this._buffers[e].lineStarts;if(n.line===r.length-1)return n.line-t.line;var i=r[n.line+1],o=r[n.line]+n.column;if(i>o+1)return n.line-t.line;var s=o-1;return 13===this._buffers[e].buffer.charCodeAt(s)?n.line-t.line+1:n.line-t.line},e.prototype.offsetInBuffer=function(e,t){return this._buffers[e].lineStarts[t.line]+t.column},e.prototype.deleteNodes=function(e){for(var t=0;t<e.length;t++)ia(this,e[t])},e.prototype.createNewPieces=function(e){if(e.length>65535){for(var t=[];e.length>65535;){var n=e.charCodeAt(65534),r=void 0;13===n||n>=55296&&n<=56319?(r=e.substring(0,65534),e=e.substring(65534)):(r=e.substring(0,65535),e=e.substring(65535));var i=ca(r);t.push(new ha(this._buffers.length,{line:0,column:0},{line:i.length-1,column:r.length-i[i.length-1]},i.length-1,r.length)),this._buffers.push(new da(r,i))}var o=ca(e);return t.push(new ha(this._buffers.length,{line:0,column:0},{line:o.length-1,column:e.length-o[o.length-1]},o.length-1,e.length)),this._buffers.push(new da(e,o)),t}var s=this._buffers[0].buffer.length,a=ca(e,!1),u=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===s&&0!==s&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},u=this._lastChangeBufferPos;for(var l=0;l<a.length;l++)a[l]+=s+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+=\"_\"+e,s+=1}else{if(0!==s)for(l=0;l<a.length;l++)a[l]+=s;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+=e}var c=this._buffers[0].buffer.length,h=this._buffers[0].lineStarts.length-1,d={line:h,column:c-this._buffers[0].lineStarts[h]},p=new ha(0,u,d,this.getLineFeedCnt(0,u,d),c-s);return this._lastChangeBufferPos=d,[p]},e.prototype.getLinesRawContent=function(){return this.getContentOfSubTree(this.root)},e.prototype.getLineRawContent=function(e,t){void 0===t&&(t=0);var n=this.root,r=\"\",i=this._searchCache.get2(e);if(i){n=i.node;var o=this.getAccumulatedValue(n,e-i.nodeStartLineNumber-1),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(i.nodeStartLineNumber+n.piece.lineFeedCnt!==e){var u=this.getAccumulatedValue(n,e-i.nodeStartLineNumber);return s.substring(a+o,a+u-t)}r=s.substring(a+o,a+n.piece.length)}else for(var l=0,c=e;n!==Qs;)if(n.left!==Qs&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){o=this.getAccumulatedValue(n,e-n.lf_left-2),u=this.getAccumulatedValue(n,e-n.lf_left-1),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return l+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:l,nodeStartLineNumber:c-(e-1-n.lf_left)}),s.substring(a+o,a+u-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){o=this.getAccumulatedValue(n,e-n.lf_left-2),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);r=s.substring(a+o,a+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,l+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Qs;){s=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){u=this.getAccumulatedValue(n,0),a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r+=s.substring(a,a+u-t)}a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);r+=s.substr(a,n.piece.length),n=n.next()}return r},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,n=0;e!==Qs;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var n=e.piece,r=this.positionInBuffer(e,t),i=r.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){var o=this.getLineFeedCnt(e.piece.bufferIndex,n.start,r);if(o!==i)return{index:o,remainder:0}}return{index:i,remainder:r.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var n=e.piece,r=this._buffers[n.bufferIndex].lineStarts,i=n.start.line+t+1;return i>n.end.line?r[n.end.line]+n.end.column-r[n.start.line]-n.start.column:r[i]-r[n.start.line]-n.start.column},e.prototype.deleteNodeTail=function(e,t){var n=e.piece,r=n.lineFeedCnt,i=this.offsetInBuffer(n.bufferIndex,n.end),o=t,s=this.offsetInBuffer(n.bufferIndex,o),a=this.getLineFeedCnt(n.bufferIndex,n.start,o),u=a-r,l=s-i,c=n.length+l;e.piece=new ha(n.bufferIndex,n.start,o,a,c),sa(this,e,l,u)},e.prototype.deleteNodeHead=function(e,t){var n=e.piece,r=n.lineFeedCnt,i=this.offsetInBuffer(n.bufferIndex,n.start),o=t,s=this.getLineFeedCnt(n.bufferIndex,o,n.end),a=s-r,u=i-this.offsetInBuffer(n.bufferIndex,o),l=n.length+u;e.piece=new ha(n.bufferIndex,o,n.end,s,l),sa(this,e,u,a)},e.prototype.shrinkNode=function(e,t,n){var r=e.piece,i=r.start,o=r.end,s=r.length,a=r.lineFeedCnt,u=t,l=this.getLineFeedCnt(r.bufferIndex,r.start,u),c=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,i);e.piece=new ha(r.bufferIndex,r.start,u,l,c),sa(this,e,c-s,l-a);var h=new ha(r.bufferIndex,n,o,this.getLineFeedCnt(r.bufferIndex,n,o),this.offsetInBuffer(r.bufferIndex,o)-this.offsetInBuffer(r.bufferIndex,n)),d=this.rbInsertRight(e,h);this.validateCRLFWithPrevNode(d)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+=\"\\n\");var n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var i=ca(t,!1),o=0;o<i.length;o++)i[o]+=r;if(n){var s=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:r-s}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1));var a=this._buffers[0].lineStarts.length-1,u={line:a,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[a]},l=e.piece.length+t.length,c=e.piece.lineFeedCnt,h=this.getLineFeedCnt(0,e.piece.start,u),d=h-c;e.piece=new ha(e.piece.bufferIndex,e.piece.start,u,h,l),this._lastChangeBufferPos=u,sa(this,e,t.length,d)},e.prototype.nodeAt=function(e){var t=this.root,n=this._searchCache.get(e);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:e-n.nodeStartOffset};for(var r=0;t!==Qs;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){r+=t.size_left;var i={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var n=this.root,r=0;n!==Qs;)if(n.left!==Qs&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){var i=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1);return r+=n.size_left,{node:n,remainder:Math.min(i+t-1,o),nodeStartOffset:r}}if(n.lf_left+n.piece.lineFeedCnt===e-1){if((i=this.getAccumulatedValue(n,e-n.lf_left-2))+t-1<=n.piece.length)return{node:n,remainder:i+t-1,nodeStartOffset:r};t-=n.piece.length-i;break}e-=n.lf_left+n.piece.lineFeedCnt,r+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Qs;){if(n.piece.lineFeedCnt>0){o=this.getAccumulatedValue(n,0);var s=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,o),nodeStartOffset:s}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var n=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(r)},e.prototype.offsetOfNode=function(e){if(!e)return 0;for(var t=e.size_left;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t},e.prototype.shouldCheckCRLF=function(){return!(this._EOLNormalized&&\"\\n\"===this._EOL)},e.prototype.startWithLF=function(e){if(\"string\"==typeof e)return 10===e.charCodeAt(0);if(e===Qs||0===e.piece.lineFeedCnt)return!1;var t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,i=n[r]+t.start.column;return r!==n.length-1&&(!(n[r+1]>i+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(i))},e.prototype.endWithCR=function(e){return\"string\"==typeof e?13===e.charCodeAt(e.length-1):e!==Qs&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)},e.prototype.validateCRLFWithPrevNode=function(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){var t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}},e.prototype.validateCRLFWithNextNode=function(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}},e.prototype.fixCRLF=function(e,t){var n,r=[],i=this._buffers[e.piece.bufferIndex].lineStarts;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};var o=e.piece.length-1,s=e.piece.lineFeedCnt-1;e.piece=new ha(e.piece.bufferIndex,e.piece.start,n,s,o),sa(this,e,-1,-1),0===e.piece.length&&r.push(e);var a={line:t.piece.start.line+1,column:0},u=t.piece.length-1,l=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new ha(t.piece.bufferIndex,a,t.piece.end,l,u),sa(this,t,-1,-1),0===t.piece.length&&r.push(t);var c=this.createNewPieces(\"\\r\\n\");this.rbInsertRight(e,c[0]);for(var h=0;h<r.length;h++)ia(this,r[h])},e.prototype.adjustCarriageReturnFromNext=function(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var n=t.next();if(this.startWithLF(n)){if(e+=\"\\n\",1===n.piece.length)ia(this,n);else{var r=n.piece,i={line:r.start.line+1,column:0},o=r.length-1,s=this.getLineFeedCnt(r.bufferIndex,i,r.end);n.piece=new ha(r.bufferIndex,i,r.end,s,o),sa(this,n,-1,-1)}return!0}}return!1},e.prototype.iterate=function(e,t){if(e===Qs)return t(Qs);var n=this.iterate(e.left,t);return n?t(e)&&this.iterate(e.right,t):n},e.prototype.getNodeContent=function(e){if(e===Qs)return\"\";var t=this._buffers[e.piece.bufferIndex],n=e.piece,r=this.offsetInBuffer(n.bufferIndex,n.start),i=this.offsetInBuffer(n.bufferIndex,n.end);return t.buffer.substring(r,i)},e.prototype.getPieceContent=function(e){var t=this._buffers[e.bufferIndex],n=this.offsetInBuffer(e.bufferIndex,e.start),r=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(n,r)},e.prototype.rbInsertRight=function(e,t){var n=new qs(t,1);if(n.left=Qs,n.right=Qs,n.parent=Qs,n.size_left=0,n.lf_left=0,this.root===Qs)this.root=n,n.color=0;else if(e.right===Qs)e.right=n,n.parent=e;else{var r=Xs(e.right);r.left=n,n.parent=r}return oa(this,n),n},e.prototype.rbInsertLeft=function(e,t){var n=new qs(t,1);if(n.left=Qs,n.right=Qs,n.parent=Qs,n.size_left=0,n.lf_left=0,this.root===Qs)this.root=n,n.color=0;else if(e.left===Qs)e.left=n,n.parent=e;else{var r=Js(e.left);r.right=n,n.parent=r}return oa(this,n),n},e.prototype.getContentOfSubTree=function(e){var t=this,n=\"\";return this.iterate(e,function(e){return n+=t.getNodeContent(e),!0}),n},e}(),ma=function(){function e(e,t,n,r,i,o){this._BOM=t,this._mightContainNonBasicASCII=!i,this._mightContainRTL=r,this._pieceTree=new ga(e,n,o)}return e.prototype.equals=function(t){return t instanceof e&&(this._BOM===t._BOM&&(this.getEOL()===t.getEOL()&&this._pieceTree.equal(t._pieceTree)))},e.prototype.mightContainRTL=function(){return this._mightContainRTL},e.prototype.mightContainNonBasicASCII=function(){return this._mightContainNonBasicASCII},e.prototype.getBOM=function(){return this._BOM},e.prototype.getEOL=function(){return this._pieceTree.getEOL()},e.prototype.createSnapshot=function(e){return this._pieceTree.createSnapshot(e?this._BOM:\"\")},e.prototype.getOffsetAt=function(e,t){return this._pieceTree.getOffsetAt(e,t)},e.prototype.getPositionAt=function(e){return this._pieceTree.getPositionAt(e)},e.prototype.getRangeAt=function(e,t){var n=e+t,r=this.getPositionAt(e),i=this.getPositionAt(n);return new be(r.lineNumber,r.column,i.lineNumber,i.column)},e.prototype.getValueInRange=function(e,t){if(void 0===t&&(t=kn.TextDefined),e.isEmpty())return\"\";var n=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,n)},e.prototype.getValueLengthInRange=function(e,t){if(void 0===t&&(t=kn.TextDefined),e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;var n=this.getOffsetAt(e.startLineNumber,e.startColumn);return this.getOffsetAt(e.endLineNumber,e.endColumn)-n},e.prototype.getLength=function(){return this._pieceTree.getLength()},e.prototype.getLineCount=function(){return this._pieceTree.getLineCount()},e.prototype.getLinesContent=function(){return this._pieceTree.getLinesContent()},e.prototype.getLineContent=function(e){return this._pieceTree.getLineContent(e)},e.prototype.getLineCharCode=function(e,t){return this._pieceTree.getLineCharCode(e,t)},e.prototype.getLineLength=function(e){return this._pieceTree.getLineLength(e)},e.prototype.getLineMinColumn=function(e){return 1},e.prototype.getLineMaxColumn=function(e){return this.getLineLength(e)+1},e.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=bt(this.getLineContent(e));return-1===t?0:t+1},e.prototype.getLineLastNonWhitespaceColumn=function(e){var t=Ct(this.getLineContent(e));return-1===t?0:t+2},e.prototype._getEndOfLine=function(e){switch(e){case kn.LF:return\"\\n\";case kn.CRLF:return\"\\r\\n\";case kn.TextDefined:return this.getEOL()}throw new Error(\"Unknown EOL preference\")},e.prototype.setEOL=function(e){this._pieceTree.setEOL(e)},e.prototype.applyEdits=function(t,n){for(var r=this._mightContainRTL,i=this._mightContainNonBasicASCII,o=!0,s=[],a=0;a<t.length;a++){var u=t[a];o&&u._isTracked&&(o=!1);var l=u.range;!r&&u.text&&(r=Bt(u.text)),!i&&u.text&&(i=!Wt(u.text)),s[a]={sortIndex:a,identifier:u.identifier,range:l,rangeOffset:this.getOffsetAt(l.startLineNumber,l.startColumn),rangeLength:this.getValueLengthInRange(l),lines:u.text?u.text.split(/\\r\\n|\\r|\\n/):null,forceMoveMarkers:u.forceMoveMarkers,isAutoWhitespaceEdit:u.isAutoWhitespaceEdit||!1}}s.sort(e._sortOpsAscending);for(var c=!1,h=(a=0,s.length-1);a<h;a++){var d=s[a].range.getEndPosition(),p=s[a+1].range.getStartPosition();if(p.isBeforeOrEqual(d)){if(p.isBefore(d))throw new Error(\"Overlapping ranges are not allowed!\");c=!0}}o&&(s=this._reduceOperations(s));var f=e._getInverseEditRanges(s),g=[];for(a=0;a<s.length;a++){u=s[a];var m=f[a];if(n&&u.isAutoWhitespaceEdit&&u.range.isEmpty())for(var v=m.startLineNumber;v<=m.endLineNumber;v++){var y=\"\";v===m.startLineNumber&&-1!==bt(y=this.getLineContent(u.range.startLineNumber))||g.push({lineNumber:v,oldContent:y})}}var b=[];for(a=0;a<s.length;a++){u=s[a],m=f[a];b[a]={sortIndex:u.sortIndex,identifier:u.identifier,range:m,text:this.getValueInRange(u.range),forceMoveMarkers:u.forceMoveMarkers}}c||b.sort(function(e,t){return e.sortIndex-t.sortIndex}),this._mightContainRTL=r,this._mightContainNonBasicASCII=i;var _=this._doApplyEdits(s),C=null;if(n&&g.length>0){g.sort(function(e,t){return t.lineNumber-e.lineNumber}),C=[];a=0;for(var w=g.length;a<w;a++){v=g[a].lineNumber;if(!(a>0&&g[a-1].lineNumber===v)){var D=g[a].oldContent,E=this.getLineContent(v);0!==E.length&&E!==D&&-1===bt(E)&&C.push(v)}}}return new jn(b,_,C)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,n=e[0].range,r=e[e.length-1].range,i=new be(n.startLineNumber,n.startColumn,r.endLineNumber,r.endColumn),o=n.startLineNumber,s=n.startColumn,a=[],u=0,l=e.length;u<l;u++){var c=e[u],h=c.range;t=t||c.forceMoveMarkers;for(var d=o;d<h.startLineNumber;d++)d===o?a.push(this.getLineContent(d).substring(s-1)):(a.push(\"\\n\"),a.push(this.getLineContent(d)));if(h.startLineNumber===o?a.push(this.getLineContent(h.startLineNumber).substring(s-1,h.startColumn-1)):(a.push(\"\\n\"),a.push(this.getLineContent(h.startLineNumber).substring(0,h.startColumn-1))),c.lines)for(var p=0,f=c.lines.length;p<f;p++)0!==p&&a.push(\"\\n\"),a.push(c.lines[p]);o=c.range.endLineNumber,s=c.range.endColumn}return{sortIndex:0,identifier:e[0].identifier,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i,kn.TextDefined),lines:a.join(\"\").split(\"\\n\"),forceMoveMarkers:t,isAutoWhitespaceEdit:!1}},e.prototype._doApplyEdits=function(t){t.sort(e._sortOpsDescending);for(var n=[],r=0;r<t.length;r++){var i=t[r],o=i.range.startLineNumber,s=i.range.startColumn,a=i.range.endLineNumber,u=i.range.endColumn;if(o!==a||s!==u||i.lines&&0!==i.lines.length){var l=a-o,c=i.lines?i.lines.length-1:0,h=Math.min(l,c),d=i.lines?i.lines.join(this.getEOL()):\"\";if(d?(this._pieceTree.delete(i.rangeOffset,i.rangeLength),this._pieceTree.insert(i.rangeOffset,d,!0)):this._pieceTree.delete(i.rangeOffset,i.rangeLength),h<c){for(var p=[],f=h+1;f<=c;f++)p.push(i.lines[f]);p[p.length-1]=this.getLineContent(o+c-1)}var g=new be(o,s,a,u);n.push({range:g,rangeLength:i.rangeLength,text:d,rangeOffset:i.rangeOffset,forceMoveMarkers:i.forceMoveMarkers})}}return n},e.prototype.findMatchesLineByLine=function(e,t,n,r){return this._pieceTree.findMatchesLineByLine(e,t,n,r)},e.prototype.getPieceTree=function(){return this._pieceTree},e._getInverseEditRanges=function(e){for(var t,n,r=[],i=null,o=0,s=e.length;o<s;o++){var a=e[o],u=void 0,l=void 0;i?i.range.endLineNumber===a.range.startLineNumber?(u=t,l=n+(a.range.startColumn-i.range.endColumn)):(u=t+(a.range.startLineNumber-i.range.endLineNumber),l=a.range.startColumn):(u=a.range.startLineNumber,l=a.range.startColumn);var c=void 0;if(a.lines&&a.lines.length>0){var h=a.lines.length,d=a.lines[0],p=a.lines[h-1];c=1===h?new be(u,l,u,l+d.length):new be(u,l,u+h-1,p.length+1)}else c=new be(u,l,u,l);t=c.endLineNumber,n=c.endColumn,r.push(c),i=a}return r},e._sortOpsAscending=function(e,t){var n=be.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n},e._sortOpsDescending=function(e,t){var n=be.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n},e}(),va=function(){function e(e,t,n,r,i,o,s,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=r,this._crlf=i,this._containsRTL=o,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?e===Tn.LF?\"\\n\":\"\\r\\n\":n>t/2?\"\\r\\n\":\"\\n\"},e.prototype.create=function(e){var t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&(\"\\r\\n\"===t&&(this._cr>0||this._lf>0)||\"\\n\"===t&&(this._cr>0||this._crlf>0)))for(var r=0,i=n.length;r<i;r++){var o=n[r].buffer.replace(/\\r\\n|\\r|\\n/g,t),s=ca(o);n[r]=new da(o,s)}return new ma(n,this._bom,t,this._containsRTL,this._isBasicASCII,this._normalizeEOL)},e.prototype.getFirstLineText=function(e){return this._chunks[0].buffer.substr(0,100).split(/\\r\\n|\\r|\\n/)[0]},e}(),ya=function(){function e(){this.chunks=[],this.BOM=\"\",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.isBasicASCII=!0}return e.prototype.acceptChunk=function(e){if(0!==e.length){0===this.chunks.length&&Qt(e)&&(this.BOM=qt,e=e.substr(1));var t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}},e.prototype._acceptChunk1=function(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))},e.prototype._acceptChunk2=function(e){var t=function(e,t){e.length=0,e[0]=0;for(var n=1,r=0,i=0,o=0,s=!0,a=0,u=t.length;a<u;a++){var l=t.charCodeAt(a);13===l?a+1<u&&10===t.charCodeAt(a+1)?(o++,e[n++]=a+2,a++):(r++,e[n++]=a+1):10===l?(i++,e[n++]=a+1):s&&9!==l&&(l<32||l>126)&&(s=!1)}var c=new la(ua(e),r,i,o,s);return e.length=0,c}(this._tmpLineStarts,e);this.chunks.push(new da(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,this.isBasicASCII&&(this.isBasicASCII=t.isBasicASCII),this.isBasicASCII||this.containsRTL||(this.containsRTL=Bt(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new va(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.isBasicASCII,e)},e.prototype._finish=function(){if(0===this.chunks.length&&this._acceptChunk1(\"\",!0),this._hasPreviousChar){this._hasPreviousChar=!1;var e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);var t=ca(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}(),ba=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function _a(){return new ya}function Ca(e,t){var n,r;return(\"string\"==typeof e?(n=e,(r=_a()).acceptChunk(n),r.finish()):e).create(t)}var wa=0;var Da=function(){function e(e){this._source=e,this._eos=!1}return e.prototype.read=function(){if(this._eos)return null;for(var e=[],t=0,n=0;;){var r=this._source.read();if(null===r)return this._eos=!0,0===t?null:e.join(\"\");if(r.length>0&&(e[t++]=r,n+=r.length),n>=65536)return e.join(\"\")}},e}(),Ea=function(e){function t(n,r,i,o){void 0===o&&(o=null);var s=e.call(this)||this;s._onWillDispose=s._register(new wn),s.onWillDispose=s._onWillDispose.event,s._onDidChangeDecorations=s._register(new ka),s.onDidChangeDecorations=s._onDidChangeDecorations.event,s._onDidChangeLanguage=s._register(new wn),s.onDidChangeLanguage=s._onDidChangeLanguage.event,s._onDidChangeLanguageConfiguration=s._register(new wn),s.onDidChangeLanguageConfiguration=s._onDidChangeLanguageConfiguration.event,s._onDidChangeTokens=s._register(new wn),s.onDidChangeTokens=s._onDidChangeTokens.event,s._onDidChangeOptions=s._register(new wn),s.onDidChangeOptions=s._onDidChangeOptions.event,s._eventEmitter=s._register(new Ta),wa++,s.id=\"$model\"+wa,s.isForSimpleWidget=r.isForSimpleWidget,s._associatedResource=void 0===o||null===o?Be.parse(\"inmemory://model/\"+wa):o,s._attachedEditorCount=0,s._buffer=Ca(n,r.defaultEOL),s._options=t.resolveOptions(s._buffer,r);var a,u=s._buffer.getLineCount(),l=s._buffer.getValueLengthInRange(new be(1,1,u,s._buffer.getLineLength(u)+1),kn.TextDefined);return r.largeFileOptimizations?s._isTooLargeForTokenization=l>t.LARGE_FILE_SIZE_THRESHOLD||u>t.LARGE_FILE_LINE_COUNT_THRESHOLD:s._isTooLargeForTokenization=!1,s._isTooLargeForSyncing=l>t.MODEL_SYNC_LIMIT,s._setVersionId(1),s._isDisposed=!1,s._isDisposing=!1,s._languageIdentifier=i||bo,s._tokenizationListener=xi.onDidChange(function(e){-1!==e.changedLanguages.indexOf(s._languageIdentifier.language)&&(s._resetTokenizationState(),s.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:s.getLineCount()}]}),s._shouldAutoTokenize()&&s._warmUpTokens())}),s._revalidateTokensTimeout=-1,s._languageRegistryListener=Zo.onDidChange(function(e){e.languageIdentifier.id===s._languageIdentifier.id&&s._onDidChangeLanguageConfiguration.fire({})}),s._resetTokenizationState(),s._instanceId=(a=wa,(a%=52)<26?String.fromCharCode(97+a):String.fromCharCode(65+a-26)),s._lastDecorationId=0,s._decorations=Object.create(null),s._decorationsTree=new Aa,s._commandManager=new Mi(s),s._isUndoing=!1,s._isRedoing=!1,s._trimAutoWhitespaceLines=null,s}return ba(t,e),t.createFromString=function(e,n,r,i){return void 0===n&&(n=t.DEFAULT_CREATION_OPTIONS),void 0===r&&(r=null),void 0===i&&(i=null),new t(e,n,r,i)},t.resolveOptions=function(e,t){if(t.detectIndentation){var n=ts(e,t.tabSize,t.insertSpaces);return new Bn({tabSize:n.tabSize,insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new Bn({tabSize:t.tabSize,insertSpaces:t.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})},t.prototype.onDidChangeRawContentFast=function(e){return this._eventEmitter.fastEvent(function(t){return e(t.rawContentChangedEvent)})},t.prototype.onDidChangeRawContent=function(e){return this._eventEmitter.slowEvent(function(t){return e(t.rawContentChangedEvent)})},t.prototype.onDidChangeContent=function(e){return this._eventEmitter.slowEvent(function(t){return e(t.contentChangedEvent)})},t.prototype.dispose=function(){this._isDisposing=!0,this._onWillDispose.fire(),this._commandManager=null,this._decorations=null,this._decorationsTree=null,this._tokenizationListener.dispose(),this._languageRegistryListener.dispose(),this._clearTimers(),this._tokens=null,this._isDisposed=!0,this._buffer=null,e.prototype.dispose.call(this),this._isDisposing=!1},t.prototype._assertNotDisposed=function(){if(this._isDisposed)throw new Error(\"Model is disposed!\")},t.prototype.equalsTextBuffer=function(e){return this._assertNotDisposed(),this._buffer.equals(e)},t.prototype._emitContentChangedEvent=function(e,t){this._isDisposing||this._eventEmitter.fire(new Bi(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=Ca(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,n,r,i,o,s){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:r}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:i,isRedoing:o,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),n=this.getValueLengthInRange(t),r=this.getLineCount(),i=this.getLineMaxColumn(r);this._buffer=e,this._increaseVersionId(),this._resetTokenizationState(),this._decorations=Object.create(null),this._decorationsTree=new Aa,this._commandManager=new Mi(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Pi([new Li],this._versionId,!1,!1),this._createContentChanged2(new be(1,1,r,i),0,n,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=e===Fn.CRLF?\"\\r\\n\":\"\\n\";if(this._buffer.getEOL()!==t){var n=this.getFullModelRange(),r=this.getValueLengthInRange(n),i=this.getLineCount(),o=this.getLineMaxColumn(i);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Pi([new Oi],this._versionId,!1,!1),this._createContentChanged2(new be(1,1,i,o),0,r,this.getValue(),!1,!1,!1))}},t.prototype._onBeforeEOLChange=function(){var e=this.getVersionId(),t=this._decorationsTree.search(0,!1,!1,e);this._ensureNodesHaveRanges(t)},t.prototype._onAfterEOLChange=function(){for(var e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder(),n=0,r=t.length;n<r;n++){var i=t[n],o=i.cachedAbsoluteStart-i.start,s=this._buffer.getOffsetAt(i.range.startLineNumber,i.range.startColumn),a=this._buffer.getOffsetAt(i.range.endLineNumber,i.range.endColumn);i.cachedAbsoluteStart=s,i.cachedAbsoluteEnd=a,i.cachedVersionId=e,i.start=s-o,i.end=a-o,lo(i)}},t.prototype._resetTokenizationState=function(){this._clearTimers();var e=this._isTooLargeForTokenization?null:xi.get(this._languageIdentifier.language);this._tokens=new Jo(this._languageIdentifier,e),this._beginBackgroundTokenization()},t.prototype._clearTimers=function(){-1!==this._revalidateTokensTimeout&&(clearTimeout(this._revalidateTokensTimeout),this._revalidateTokensTimeout=-1)},t.prototype.onBeforeAttached=function(){this._attachedEditorCount++,this._warmUpTokens()},t.prototype.onBeforeDetached=function(){this._attachedEditorCount--},t.prototype._shouldAutoTokenize=function(){return this.isAttachedToEditor()},t.prototype.isAttachedToEditor=function(){return this._attachedEditorCount>0},t.prototype.getAttachedEditorCount=function(){return this._attachedEditorCount},t.prototype.isTooLargeForSyncing=function(){return this._isTooLargeForSyncing},t.prototype.isTooLargeForTokenization=function(){return this._isTooLargeForTokenization},t.prototype.isDisposed=function(){return this._isDisposed},t.prototype.isDominatedByLongLines=function(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;for(var e=0,t=0,n=this._buffer.getLineCount(),r=1;r<=n;r++){var i=this._buffer.getLineLength(r);i>=1e4?t+=i:e+=i}return t>e},Object.defineProperty(t.prototype,\"uri\",{get:function(){return this._associatedResource},enumerable:!0,configurable:!0}),t.prototype.getOptions=function(){return this._assertNotDisposed(),this._options},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,i=new Bn({tabSize:t,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r});if(!this._options.equals(i)){var o=this._options.createChangeEvent(i);this._options=i,this._onDidChangeOptions.fire(o)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var n=ts(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,n){for(var r=0,i=0;i<e.length;i++)\"\\t\"===e.charAt(i)?r+=t:r++;var o=\"\";if(!n){var s=Math.floor(r/t);r%=t;for(i=0;i<s;i++)o+=\"\\t\"}for(i=0;i<r;i++)o+=\" \";return o},t.normalizeIndentation=function(e,n,r){var i=bt(e);return-1===i&&(i=e.length),t._normalizeIndentationFromWhitespace(e.substring(0,i),n,r)+e.substring(i)},t.prototype.normalizeIndentation=function(e){return this._assertNotDisposed(),t.normalizeIndentation(e,this._options.tabSize,this._options.insertSpaces)},t.prototype.getOneIndent=function(){this._assertNotDisposed();var e=this._options.tabSize;if(this._options.insertSpaces){for(var t=\"\",n=0;n<e;n++)t+=\" \";return t}return\"\\t\"},t.prototype.getVersionId=function(){return this._assertNotDisposed(),this._versionId},t.prototype.mightContainRTL=function(){return this._buffer.mightContainRTL()},t.prototype.mightContainNonBasicASCII=function(){return this._buffer.mightContainNonBasicASCII()},t.prototype.getAlternativeVersionId=function(){return this._assertNotDisposed(),this._alternativeVersionId},t.prototype.getOffsetAt=function(e){this._assertNotDisposed();var t=this._validatePosition(e.lineNumber,e.column,!1);return this._buffer.getOffsetAt(t.lineNumber,t.column)},t.prototype.getPositionAt=function(e){this._assertNotDisposed();var t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)},t.prototype._increaseVersionId=function(){this._setVersionId(this._versionId+1)},t.prototype._setVersionId=function(e){this._versionId=e,this._alternativeVersionId=this._versionId},t.prototype._overwriteAlternativeVersionId=function(e){this._alternativeVersionId=e},t.prototype.getValue=function(e,t){void 0===t&&(t=!1),this._assertNotDisposed();var n=this.getFullModelRange(),r=this.getValueInRange(n,e);return t?this._buffer.getBOM()+r:r},t.prototype.createSnapshot=function(e){return void 0===e&&(e=!1),new Da(this._buffer.createSnapshot(e))},t.prototype.getValueLength=function(e,t){void 0===t&&(t=!1),this._assertNotDisposed();var n=this.getFullModelRange(),r=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+r:r},t.prototype.getValueInRange=function(e,t){return void 0===t&&(t=kn.TextDefined),this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)},t.prototype.getValueLengthInRange=function(e,t){return void 0===t&&(t=kn.TextDefined),this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)},t.prototype.getLineCount=function(){return this._assertNotDisposed(),this._buffer.getLineCount()},t.prototype.getLineContent=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");return this._buffer.getLineContent(e)},t.prototype.getLineLength=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");return this._buffer.getLineLength(e)},t.prototype.getLinesContent=function(){return this._assertNotDisposed(),this._buffer.getLinesContent()},t.prototype.getEOL=function(){return this._assertNotDisposed(),this._buffer.getEOL()},t.prototype.getLineMinColumn=function(e){return this._assertNotDisposed(),1},t.prototype.getLineMaxColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");return this._buffer.getLineLength(e)+1},t.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");return this._buffer.getLineFirstNonWhitespaceColumn(e)},t.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");return this._buffer.getLineLastNonWhitespaceColumn(e)},t.prototype._validateRangeRelaxedNoAllocations=function(e){var t,n,r=this._buffer.getLineCount(),i=e.startLineNumber,o=e.startColumn;if(i<1)t=1,n=1;else if(i>r)t=r,n=this.getLineMaxColumn(t);else{if(t=0|i,o<=1)n=1;else n=o>=(c=this.getLineMaxColumn(t))?c:0|o}var s,a,u=e.endLineNumber,l=e.endColumn;if(u<1)s=1,a=1;else if(u>r)s=r,a=this.getLineMaxColumn(s);else{var c;if(s=0|u,l<=1)a=1;else a=l>=(c=this.getLineMaxColumn(s))?c:0|l}return i===t&&o===n&&u===s&&l===a&&e instanceof be&&!(e instanceof Ii)?e:new be(t,n,s,a)},t.prototype._isValidPosition=function(e,t,n){if(e<1)return!1;if(e>this._buffer.getLineCount())return!1;if(t<1)return!1;if(t>this.getLineMaxColumn(e))return!1;if(n&&(t>1&&Ft(this._buffer.getLineCharCode(e,t-2))))return!1;return!0},t.prototype._validatePosition=function(e,t,n){var r=Math.floor(\"number\"==typeof e?e:1),i=Math.floor(\"number\"==typeof t?t:1),o=this._buffer.getLineCount();if(r<1)return new ye(1,1);if(r>o)return new ye(o,this.getLineMaxColumn(o));if(i<=1)return new ye(r,1);var s=this.getLineMaxColumn(r);if(i>=s)return new ye(r,s);if(n&&Ft(this._buffer.getLineCharCode(r,i-2)))return new ye(r,i-1);return new ye(r,i)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof ye&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,o=e.endColumn;if(!this._isValidPosition(n,r,!1))return!1;if(!this._isValidPosition(i,o,!1))return!1;if(t){var s=r>1?this._buffer.getLineCharCode(n,r-2):0,a=o>1&&o<=this._buffer.getLineLength(i)?this._buffer.getLineCharCode(i,o-2):0,u=Ft(s),l=Ft(a);return!u&&!l}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof be&&!(e instanceof Ii)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),r=t.lineNumber,i=t.column,o=n.lineNumber,s=n.column,a=i>1?this._buffer.getLineCharCode(r,i-2):0,u=s>1&&s<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,s-2):0,l=Ft(a),c=Ft(u);return l||c?r===o&&i===s?new be(r,i-1,o,s-1):l&&c?new be(r,i-1,o,s+1):l?new be(r,i-1,o,s):new be(r,i,o,s+1):new be(r,i,o,s)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new be(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,n,r){return this._buffer.findMatchesLineByLine(e,t,n,r)},t.prototype.findMatches=function(e,t,n,r,i,o,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=be.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!n&&e.indexOf(\"\\n\")<0){var u=new Hs(e,n,r,i).parseSearchRequest();return u?this.findMatchesLineByLine(a,u,o,s):[]}return Zs.findMatches(this,new Hs(e,n,r,i),a,o,s)},t.prototype.findNextMatch=function(e,t,n,r,i,o){this._assertNotDisposed();var s=this.validatePosition(t);if(!n&&e.indexOf(\"\\n\")<0){var a=new Hs(e,n,r,i).parseSearchRequest(),u=this.getLineCount(),l=new be(s.lineNumber,s.column,u,this.getLineMaxColumn(u)),c=this.findMatchesLineByLine(l,a,o,1);return Zs.findNextMatch(this,new Hs(e,n,r,i),s,o),c.length>0?c[0]:(l=new be(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(c=this.findMatchesLineByLine(l,a,o,1)).length>0?c[0]:null)}return Zs.findNextMatch(this,new Hs(e,n,r,i),s,o)},t.prototype.findPreviousMatch=function(e,t,n,r,i,o){this._assertNotDisposed();var s=this.validatePosition(t);return Zs.findPreviousMatch(this,new Hs(e,n,r,i),s,o)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEditOperations=function(e,t,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,n){var r=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var i=t.map(function(e){return{range:r.validateRange(e.range),text:e.text}}),o=!0,s=0,a=e.length;s<a;s++){for(var u=e[s],l=!1,c=0,h=i.length;c<h;c++){var d=(v=i[c].range).startLineNumber>u.endLineNumber,p=u.startLineNumber>v.endLineNumber;if(!d&&!p){l=!0;break}}if(!l){o=!1;break}}if(o)for(s=0,a=this._trimAutoWhitespaceLines.length;s<a;s++){var f=this._trimAutoWhitespaceLines[s],g=this.getLineMaxColumn(f),m=!0;for(c=0,h=i.length;c<h;c++){var v=i[c].range,y=i[c].text;if(!(f<v.startLineNumber||f>v.endLineNumber)&&!(f===v.startLineNumber&&v.startColumn===g&&v.isEmpty()&&y&&y.length>0&&\"\\n\"===y.charAt(0))){m=!1;break}}m&&t.push({range:new be(f,1,f,g),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,n)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t._eolCount=function(e){for(var t=0,n=0,r=0,i=e.length;r<i;r++){var o=e.charCodeAt(r);13===o?(0===t&&(n=r),t++,r+1<i&&10===e.charCodeAt(r+1)&&r++):10===o&&(0===t&&(n=r),t++)}return 0===t&&(n=e.length),[t,n]},t.prototype._applyEdits=function(e){for(var n=0,r=e.length;n<r;n++)e[n].range=this.validateRange(e[n].range);var i=this._buffer.getLineCount(),o=this._buffer.applyEdits(e,this._options.trimAutoWhitespace),s=this._buffer.getLineCount(),a=o.changes;if(this._trimAutoWhitespaceLines=o.trimAutoWhitespaceLineNumbers,0!==a.length){var u=[],l=i;for(n=0,r=a.length;n<r;n++){var c=a[n],h=t._eolCount(c.text),d=h[0],p=h[1];this._tokens.applyEdits(c.range,d,p),this._onDidChangeDecorations.fire(),this._decorationsTree.acceptReplace(c.rangeOffset,c.rangeLength,c.text.length,c.forceMoveMarkers);for(var f=c.range.startLineNumber,g=c.range.endLineNumber,m=g-f,v=d,y=Math.min(m,v),b=v-m,_=y;_>=0;_--){var C=f+_,w=s-l-b+C;u.push(new ki(C,this.getLineContent(w)))}if(y<m){var D=f+y;u.push(new Ti(D+1,g))}if(y<v){for(var E=f+y,A=v-y,S=s-l-A+E+1,x=[],M=0;M<A;M++){var N=S+M;x[N-S]=this.getLineContent(N)}u.push(new Fi(E+1,f+v,x))}l+=b}this._increaseVersionId(),this._emitContentChangedEvent(new Pi(u,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:a,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization(),o.reverseEdits},t.prototype._undo=function(){this._isUndoing=!0;var e=this._commandManager.undo();return this._isUndoing=!1,e?(this._overwriteAlternativeVersionId(e.recordedVersionId),e.selections):null},t.prototype.undo=function(){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._undo()}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._redo=function(){this._isRedoing=!0;var e=this._commandManager.redo();return this._isRedoing=!1,e?(this._overwriteAlternativeVersionId(e.recordedVersionId),e.selections):null},t.prototype.redo=function(){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._redo()}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.changeDecorations=function(e,t){void 0===t&&(t=0),this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._changeDecorations=function(e,t){var n=this,r={addDecoration:function(t,r){return n._onDidChangeDecorations.fire(),n._deltaDecorationsImpl(e,[],[{range:t,options:r}])[0]},changeDecoration:function(e,t){n._onDidChangeDecorations.fire(),n._changeDecorationImpl(e,t)},changeDecorationOptions:function(e,t){n._onDidChangeDecorations.fire(),n._changeDecorationOptionsImpl(e,Ia(t))},removeDecoration:function(t){n._onDidChangeDecorations.fire(),n._deltaDecorationsImpl(e,[t],[])},deltaDecorations:function(t,r){return 0===t.length&&0===r.length?[]:(n._onDidChangeDecorations.fire(),n._deltaDecorationsImpl(e,t,r))}},i=null;try{i=t(r)}catch(e){pn(e)}return r.addDecoration=null,r.changeDecoration=null,r.removeDecoration=null,r.deltaDecorations=null,i},t.prototype.deltaDecorations=function(e,t,n){if(void 0===n&&(n=0),this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._getTrackedRange=function(e){return this.getDecorationRange(e)},t.prototype._setTrackedRange=function(e,t,n){var r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Na[n]}])[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;var i=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),o,s,i),r.setOptions(Na[n]),this._decorationsTree.insert(r),r.id},t.prototype.removeAllDecorationsWithOwnerId=function(e){if(!this._isDisposed)for(var t=this._decorationsTree.collectNodesFromOwner(e),n=0,r=t.length;n<r;n++){var i=t[n];this._decorationsTree.delete(i),delete this._decorations[i.id]}},t.prototype.getDecorationOptions=function(e){var t=this._decorations[e];return t?t.options:null},t.prototype.getDecorationRange=function(e){var t=this._decorations[e];if(!t)return null;var n=this.getVersionId();return t.cachedVersionId!==n&&this._decorationsTree.resolveNode(t,n),null===t.range&&(t.range=this._getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range},t.prototype.getLineDecorations=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=!1),e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype.getLinesDecorations=function(e,t,n,r){void 0===n&&(n=0),void 0===r&&(r=!1);var i=this.getLineCount(),o=Math.min(i,Math.max(1,e)),s=Math.min(i,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new be(o,1,s,a),n,r)},t.prototype.getDecorationsInRange=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var r=this.validateRange(e);return this._getDecorationsInRange(r,t,n)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),r=this._decorationsTree.search(e,t,!0,n);return this._ensureNodesHaveRanges(r)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),r=this._decorationsTree.search(e,t,!1,n);return this._ensureNodesHaveRanges(r)},t.prototype._getDecorationsInRange=function(e,t,n){var r=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),i=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),o=this.getVersionId(),s=this._decorationsTree.intervalSearch(r,i,t,n,o);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,n=e.length;t<n;t++){var r=e[t];null===r.range&&(r.range=this._getRangeAt(r.cachedAbsoluteStart,r.cachedAbsoluteEnd))}return e},t.prototype._getRangeAt=function(e,t){return this._buffer.getRangeAt(e,t-e)},t.prototype._changeDecorationImpl=function(e,t){var n=this._decorations[e];if(n){var r=this._validateRangeRelaxedNoAllocations(t),i=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),o=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),i,o,r),this._decorationsTree.insert(n)}},t.prototype._changeDecorationOptionsImpl=function(e,t){var n=this._decorations[e];n&&(!!n.options.overviewRuler.color!==!!t.overviewRuler.color?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t))},t.prototype._deltaDecorationsImpl=function(e,t,n){for(var r=this.getVersionId(),i=t.length,o=0,s=n.length,a=0,u=new Array(s);o<i||a<s;){var l=null;if(o<i){do{l=this._decorations[t[o++]]}while(!l&&o<i);l&&this._decorationsTree.delete(l)}if(a<s){if(!l){var c=++this._lastDecorationId,h=this._instanceId+\";\"+c;l=new Xi(h,0,0),this._decorations[h]=l}var d=n[a],p=this._validateRangeRelaxedNoAllocations(d.range),f=Ia(d.options),g=this._buffer.getOffsetAt(p.startLineNumber,p.startColumn),m=this._buffer.getOffsetAt(p.endLineNumber,p.endColumn);l.ownerId=e,l.reset(r,g,m,p),l.setOptions(f),this._decorationsTree.insert(l),u[a]=l.id,a++}else l&&delete this._decorations[l.id]}return u},t.prototype.tokenizeViewport=function(e,t){if(this._tokens.tokenizationSupport){var n=Math.floor(.3*this._tokens.inValidLineStartIndex);if((e=Math.max(1,e-n))<=this._tokens.inValidLineStartIndex)this.forceTokenization(t);else{var r=new $o,i=this.getLineFirstNonWhitespaceColumn(e),o=[],s=e-1,a=null;if(i>0)for(;i>0&&s>=1;){var u=this.getLineFirstNonWhitespaceColumn(s);if(0!==u){if(u<i){if(a=this._tokens._getState(s-1))break;o.push(this.getLineContent(s)),i=u}s--}else s--}a||(a=this._tokens.tokenizationSupport.getInitialState());for(var l=a.clone(),c=o.length-1;c>=0;c--){l=(p=this._tokens._tokenizeText(this._buffer,o[c],l))?p.endState.clone():a.clone()}var h=Math.floor(.4*this._tokens.inValidLineStartIndex);t=Math.min(this.getLineCount(),t+h);for(var d=e;d<=t;d++){var p,f=this.getLineContent(d);(p=this._tokens._tokenizeText(this._buffer,f,l))?(this._tokens._setTokens(this._tokens.languageIdentifier.id,d-1,f.length,p.tokens),this._tokens._setIsInvalid(d-1,!1),this._tokens._setState(d-1,l),l=p.endState.clone(),r.registerChangedTokens(d)):l=a.clone()}var g=r.build();g&&this._onDidChangeTokens.fire(g)}}},t.prototype.forceTokenization=function(e){if(e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");var t=new $o;this._tokens._updateTokensUntilLine(this._buffer,t,e);var n=t.build();n&&this._onDidChangeTokens.fire(n)},t.prototype.isCheapToTokenize=function(e){return this._tokens.isCheapToTokenize(e)},t.prototype.tokenizeIfCheap=function(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)},t.prototype.getLineTokens=function(e){if(e<1||e>this.getLineCount())throw new Error(\"Illegal value for lineNumber\");return this._getLineTokens(e)},t.prototype._getLineTokens=function(e){var t=this._buffer.getLineContent(e);return this._tokens.getTokens(this._languageIdentifier.id,e-1,t)},t.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},t.prototype.getModeId=function(){return this._languageIdentifier.language},t.prototype.setMode=function(e){if(this._languageIdentifier.id!==e.id){var t={oldLanguage:this._languageIdentifier.language,newLanguage:e.language};this._languageIdentifier=e,this._resetTokenizationState(),this.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]}),this._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){if(!this._tokens.tokenizationSupport)return this._languageIdentifier.id;var n=this.validatePosition({lineNumber:e,column:t}),r=n.lineNumber,i=n.column,o=this._getLineTokens(r);return o.getLanguageId(o.findTokenIndexAtOffset(i-1))},t.prototype._beginBackgroundTokenization=function(){var e=this;this._shouldAutoTokenize()&&-1===this._revalidateTokensTimeout&&(this._revalidateTokensTimeout=setTimeout(function(){e._revalidateTokensTimeout=-1,e._revalidateTokensNow()},0))},t.prototype._warmUpTokens=function(){var e=Math.min(100,this.getLineCount());this._revalidateTokensNow(e),this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization()},t.prototype._revalidateTokensNow=function(e){void 0===e&&(e=this._buffer.getLineCount());for(var t=new $o,n=fo.create(!1);this._tokens.hasLinesToTokenize(this._buffer)&&!(n.elapsed()>20);){if(this._tokens._tokenizeOneLine(this._buffer,t)>=e)break}this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization();var r=t.build();r&&this._onDidChangeTokens.fire(r)},t.prototype.emitModelTokensChangedEvent=function(e){this._isDisposing||this._onDidChangeTokens.fire(e)},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var n=this.validatePosition(e),r=this.getLineContent(n.lineNumber),i=this._getLineTokens(n.lineNumber),o=i.findTokenIndexAtOffset(n.column-1),s=t._findLanguageBoundaries(i,o),a=s[0],u=s[1],l=Uo(n.column,Zo.getWordDefinition(i.getLanguageId(o)),r.substring(a,u),a);if(l)return l;if(o>0&&a===n.column-1){var c=t._findLanguageBoundaries(i,o-1),h=c[0],d=c[1],p=Uo(n.column,Zo.getWordDefinition(i.getLanguageId(o-1)),r.substring(h,d),h);if(p)return p}return null},t._findLanguageBoundaries=function(e,t){for(var n,r,i=e.getLanguageId(t),o=t;o>=0&&e.getLanguageId(o)===i;o--)n=e.getStartOffset(o);o=t;for(var s=e.getCount();o<s&&e.getLanguageId(o)===i;o++)r=e.getEndOffset(o);return[n,r]},t.prototype.getWordUntilPosition=function(e){var t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:\"\",startColumn:e.column,endColumn:e.column}},t.prototype.findMatchingBracketUp=function(e,t){var n=e.toLowerCase(),r=this.validatePosition(t),i=this._getLineTokens(r.lineNumber),o=i.getLanguageId(i.findTokenIndexAtOffset(r.column-1)),s=Zo.getBracketsSupport(o);if(!s)return null;var a=s.textIsBracket[n];return a?this._findMatchingBracketUp(a,r):null},t.prototype.matchBracket=function(e){return this._matchBracket(this.validatePosition(e))},t.prototype._matchBracket=function(e){var t=e.lineNumber,n=this._getLineTokens(t),r=this._buffer.getLineContent(t),i=n.findTokenIndexAtOffset(e.column-1);if(i<0)return null;var o=Zo.getBracketsSupport(n.getLanguageId(i));if(o&&!Do(n.getStandardTokenType(i))){for(var s=Math.max(n.getStartOffset(i),e.column-1-o.maxBracketLength),a=Math.min(n.getEndOffset(i),e.column-1+o.maxBracketLength),u=null;;){if(!(c=Oo.findNextBracketInToken(o.forwardRegex,t,r,s,a)))break;if(c.startColumn<=e.column&&e.column<=c.endColumn)h=(h=r.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),(d=this._matchFoundBracket(c,o.textIsBracket[h],o.textIsOpenBracket[h]))&&(u=d);s=c.endColumn-1}if(u)return u}if(i>0&&n.getStartOffset(i)===e.column-1){a=n.getStartOffset(i);i--;var l=Zo.getBracketsSupport(n.getLanguageId(i));if(l&&!Do(n.getStandardTokenType(i))){var c,h,d;s=Math.max(n.getStartOffset(i),e.column-1-l.maxBracketLength);if((c=Oo.findPrevBracketInToken(l.reversedRegex,t,r,s,a))&&c.startColumn<=e.column&&e.column<=c.endColumn)if(h=(h=r.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),d=this._matchFoundBracket(c,l.textIsBracket[h],l.textIsOpenBracket[h]))return d}}return null},t.prototype._matchFoundBracket=function(e,t,n){if(!t)return null;var r;if(n){if(r=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,r]}else if(r=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,r];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var n=e.languageIdentifier.id,r=e.reversedRegex,i=-1,o=t.lineNumber;o>=1;o--){var s=this._getLineTokens(o),a=s.getCount(),u=this._buffer.getLineContent(o),l=a-1,c=-1;for(o===t.lineNumber&&(l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);l>=0;l--){var h=s.getLanguageId(l),d=s.getStandardTokenType(l),p=s.getStartOffset(l),f=s.getEndOffset(l);if(-1===c&&(c=f),h===n&&!Do(d))for(;;){var g=Oo.findPrevBracketInToken(r,o,u,p,c);if(!g)break;var m=u.substring(g.startColumn-1,g.endColumn-1);if((m=m.toLowerCase())===e.open?i++:m===e.close&&i--,0===i)return g;c=g.startColumn-1}c=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,r=e.forwardRegex,i=1,o=t.lineNumber,s=this.getLineCount();o<=s;o++){var a=this._getLineTokens(o),u=a.getCount(),l=this._buffer.getLineContent(o),c=0,h=0;for(o===t.lineNumber&&(c=a.findTokenIndexAtOffset(t.column-1),h=t.column-1);c<u;c++){var d=a.getLanguageId(c),p=a.getStandardTokenType(c),f=a.getStartOffset(c),g=a.getEndOffset(c);if(0===h&&(h=f),d===n&&!Do(p))for(;;){var m=Oo.findNextBracketInToken(r,o,l,h,g);if(!m)break;var v=l.substring(m.startColumn-1,m.endColumn-1);if((v=v.toLowerCase())===e.open?i++:v===e.close&&i--,0===i)return m;h=m.endColumn-1}h=0}}return null},t.prototype.findPrevBracket=function(e){for(var t=this.validatePosition(e),n=-1,r=null,i=t.lineNumber;i>=1;i--){var o=this._getLineTokens(i),s=o.getCount(),a=this._buffer.getLineContent(i),u=s-1,l=-1;for(i===t.lineNumber&&(u=o.findTokenIndexAtOffset(t.column-1),l=t.column-1);u>=0;u--){var c=o.getLanguageId(u),h=o.getStandardTokenType(u),d=o.getStartOffset(u),p=o.getEndOffset(u);if(-1===l&&(l=p),n!==c&&(n=c,r=Zo.getBracketsSupport(n)),r&&!Do(h)){var f=Oo.findPrevBracketInToken(r.reversedRegex,i,a,d,l);if(f)return this._toFoundBracket(r,f)}l=-1}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),n=-1,r=null,i=t.lineNumber,o=this.getLineCount();i<=o;i++){var s=this._getLineTokens(i),a=s.getCount(),u=this._buffer.getLineContent(i),l=0,c=0;for(i===t.lineNumber&&(l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);l<a;l++){var h=s.getLanguageId(l),d=s.getStandardTokenType(l),p=s.getStartOffset(l),f=s.getEndOffset(l);if(0===c&&(c=p),n!==h&&(n=h,r=Zo.getBracketsSupport(n)),r&&!Do(d)){var g=Oo.findNextBracketInToken(r.forwardRegex,i,u,c,f);if(g)return this._toFoundBracket(r,g)}c=0}}return null},t.prototype._toFoundBracket=function(e,t){if(!t)return null;var n=this.getValueInRange(t);n=n.toLowerCase();var r=e.textIsBracket[n];return r?{range:t,open:r.open,close:r.close,isOpen:e.textIsOpenBracket[n]}:null},t.computeIndentLevel=function(e,t){for(var n=0,r=0,i=e.length;r<i;){var o=e.charCodeAt(r);if(32===o)n++;else{if(9!==o)break;n=n-n%t+t}r++}return r===i?-1:n},t.prototype._computeIndentLevel=function(e){return t.computeIndentLevel(this._buffer.getLineContent(e+1),this._options.tabSize)},t.prototype.getActiveIndentGuide=function(e,t,n){var r=this;this._assertNotDisposed();var i=this.getLineCount();if(e<1||e>i)throw new Error(\"Illegal value for lineNumber\");for(var o=Zo.getFoldingRules(this._languageIdentifier.id),s=o&&o.offSide,a=-2,u=-1,l=-2,c=-1,h=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,u=-1;for(var t=e-2;t>=0;t--){var n=r._computeIndentLevel(t);if(n>=0){a=t,u=n;break}}}if(-2===l){l=-1,c=-1;for(t=e;t<i;t++){var o=r._computeIndentLevel(t);if(o>=0){l=t,c=o;break}}}},d=-2,p=-1,f=-2,g=-1,m=function(e){if(-2===d){d=-1,p=-1;for(var t=e-2;t>=0;t--){var n=r._computeIndentLevel(t);if(n>=0){d=t,p=n;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,g=-1;for(t=e;t<i;t++){var o=r._computeIndentLevel(t);if(o>=0){f=t,g=o;break}}}},v=0,y=!0,b=0,_=!0,C=0,w=0;y||_;w++){var D=e-w,E=e+w;if((D<1||D<t)&&(y=!1),(E>i||E>n)&&(_=!1),w>5e4&&(y=!1,_=!1),y){var A=void 0;if((S=this._computeIndentLevel(D-1))>=0?(l=D-1,c=S,A=Math.ceil(S/this._options.tabSize)):(h(D),A=this._getIndentLevelForWhitespaceLine(s,u,c)),0===w){if(v=D,b=E,0===(C=A))return{startLineNumber:v,endLineNumber:b,indent:C};continue}A>=C?v=D:y=!1}if(_){var S,x=void 0;(S=this._computeIndentLevel(E-1))>=0?(d=E-1,p=S,x=Math.ceil(S/this._options.tabSize)):(m(E),x=this._getIndentLevelForWhitespaceLine(s,p,g)),x>=C?b=E:_=!1}}return{startLineNumber:v,endLineNumber:b,indent:C}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var n=this.getLineCount();if(e<1||e>n)throw new Error(\"Illegal value for startLineNumber\");if(t<1||t>n)throw new Error(\"Illegal value for endLineNumber\");for(var r=Zo.getFoldingRules(this._languageIdentifier.id),i=r&&r.offSide,o=new Array(t-e+1),s=-2,a=-1,u=-2,l=-1,c=e;c<=t;c++){var h=c-e,d=this._computeIndentLevel(c-1);if(d>=0)s=c-1,a=d,o[h]=Math.ceil(d/this._options.tabSize);else{if(-2===s){s=-1,a=-1;for(var p=c-2;p>=0;p--){if((f=this._computeIndentLevel(p))>=0){s=p,a=f;break}}}if(-1!==u&&(-2===u||u<c-1)){u=-1,l=-1;for(p=c;p<n;p++){var f;if((f=this._computeIndentLevel(p))>=0){u=p,l=f;break}}}o[h]=this._getIndentLevelForWhitespaceLine(i,a,l)}}return o},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,n){return-1===t||-1===n?0:t<n?1+Math.floor(t/this._options.tabSize):t===n?Math.ceil(n/this._options.tabSize):e?Math.ceil(n/this._options.tabSize):1+Math.floor(n/this._options.tabSize)},t.MODEL_SYNC_LIMIT=52428800,t.LARGE_FILE_SIZE_THRESHOLD=20971520,t.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,t.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:Ls.tabSize,insertSpaces:Ls.insertSpaces,detectIndentation:!1,defaultEOL:Tn.LF,trimAutoWhitespace:Ls.trimAutoWhitespace,largeFileOptimizations:Ls.largeFileOptimizations},t}(un),Aa=function(){function e(){this._decorationsTree0=new $i,this._decorationsTree1=new $i}return e.prototype.intervalSearch=function(e,t,n,r,i){var o=this._decorationsTree0.intervalSearch(e,t,n,r,i),s=this._decorationsTree1.intervalSearch(e,t,n,r,i);return o.concat(s)},e.prototype.search=function(e,t,n,r){if(n)return this._decorationsTree1.search(e,t,r);var i=this._decorationsTree0.search(e,t,r),o=this._decorationsTree1.search(e,t,r);return i.concat(o)},e.prototype.collectNodesFromOwner=function(e){var t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e);return t.concat(n)},e.prototype.collectNodesPostOrder=function(){var e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder();return e.concat(t)},e.prototype.insert=function(e){Ki(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)},e.prototype.delete=function(e){Ki(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)},e.prototype.resolveNode=function(e,t){Ki(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)},e.prototype.acceptReplace=function(e,t,n,r){this._decorationsTree0.acceptReplace(e,t,n,r),this._decorationsTree1.acceptReplace(e,t,n,r)},e}();function Sa(e){return e.replace(/[^a-z0-9\\-]/gi,\" \")}var xa=function(){return function(e){this.color=qe,this.darkColor=qe,this.hcColor=qe,this.position=Ln.Center,this._resolvedColor=null,e&&e.color&&(this.color=e.color),e&&e.darkColor&&(this.darkColor=e.darkColor,this.hcColor=e.darkColor),e&&e.hcColor&&(this.hcColor=e.hcColor),e&&e.hasOwnProperty(\"position\")&&(this.position=e.position)}}(),Ma=function(){function e(e){this.stickiness=e.stickiness||Pn.AlwaysGrowsWhenTypingAtEdges,this.zIndex=e.zIndex||0,this.className=e.className?Sa(e.className):qe,this.hoverMessage=e.hoverMessage||[],this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||[],this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.overviewRuler=new xa(e.overviewRuler),this.glyphMarginClassName=e.glyphMarginClassName?Sa(e.glyphMarginClassName):qe,this.linesDecorationsClassName=e.linesDecorationsClassName?Sa(e.linesDecorationsClassName):qe,this.marginClassName=e.marginClassName?Sa(e.marginClassName):qe,this.inlineClassName=e.inlineClassName?Sa(e.inlineClassName):qe,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Sa(e.beforeContentClassName):qe,this.afterContentClassName=e.afterContentClassName?Sa(e.afterContentClassName):qe}return e.register=function(t){return new e(t)},e.createDynamic=function(t){return new e(t)},e}();Ma.EMPTY=Ma.register({});var Na=[Ma.register({stickiness:Pn.AlwaysGrowsWhenTypingAtEdges}),Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges}),Ma.register({stickiness:Pn.GrowsOnlyWhenTypingBefore}),Ma.register({stickiness:Pn.GrowsOnlyWhenTypingAfter})];function Ia(e){return e instanceof Ma?e:Ma.createDynamic(e)}var La,ka=function(e){function t(){var t=e.call(this)||this;return t._actual=t._register(new wn),t.event=t._actual.event,t._deferredCnt=0,t._shouldFire=!1,t}return ba(t,e),t.prototype.beginDeferredEmit=function(){this._deferredCnt++},t.prototype.endDeferredEmit=function(){this._deferredCnt--,0===this._deferredCnt&&this._shouldFire&&(this._shouldFire=!1,this._actual.fire({}))},t.prototype.fire=function(){this._shouldFire=!0},t}(un),Ta=function(e){function t(){var t=e.call(this)||this;return t._fastEmitter=t._register(new wn),t.fastEvent=t._fastEmitter.event,t._slowEmitter=t._register(new wn),t.slowEvent=t._slowEmitter.event,t._deferredCnt=0,t._deferredEvent=null,t}return ba(t,e),t.prototype.beginDeferredEmit=function(){this._deferredCnt++},t.prototype.endDeferredEmit=function(){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){var e=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(e),this._slowEmitter.fire(e)}},t.prototype.fire=function(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(un),Fa=function(){function e(t,n,r,i){this._languageIdentifier=t;var o=i.editor;this.readOnly=o.readOnly,this.tabSize=r.tabSize,this.insertSpaces=r.insertSpaces,this.oneIndent=n,this.pageSize=Math.floor(o.layoutInfo.height/o.fontInfo.lineHeight)-2,this.lineHeight=o.lineHeight,this.useTabStops=o.useTabStops,this.wordSeparators=o.wordSeparators,this.emptySelectionClipboard=o.emptySelectionClipboard,this.multiCursorMergeOverlapping=o.multiCursorMergeOverlapping,this.autoClosingBrackets=o.autoClosingBrackets,this.autoIndent=o.autoIndent,this.autoClosingPairsOpen={},this.autoClosingPairsClose={},this.surroundingPairs={},this._electricChars=null;var s=e._getAutoClosingPairs(t);if(s)for(var a=0;a<s.length;a++)this.autoClosingPairsOpen[s[a].open]=s[a].close,this.autoClosingPairsClose[s[a].close]=s[a].open;var u=e._getSurroundingPairs(t);if(u)for(a=0;a<u.length;a++)this.surroundingPairs[u[a].open]=u[a].close}return e.shouldRecreate=function(e){return e.layoutInfo||e.wordSeparators||e.emptySelectionClipboard||e.multiCursorMergeOverlapping||e.autoClosingBrackets||e.useTabStops||e.lineHeight||e.readOnly},Object.defineProperty(e.prototype,\"electricChars\",{get:function(){if(!this._electricChars){this._electricChars={};var t=e._getElectricCharacters(this._languageIdentifier);if(t)for(var n=0;n<t.length;n++)this._electricChars[t[n]]=!0}return this._electricChars},enumerable:!0,configurable:!0}),e.prototype.normalizeIndentation=function(e){return Ea.normalizeIndentation(e,this.tabSize,this.insertSpaces)},e._getElectricCharacters=function(e){try{return Zo.getElectricCharacters(e.id)}catch(e){return pn(e),null}},e._getAutoClosingPairs=function(e){try{return Zo.getAutoClosingPairs(e.id)}catch(e){return pn(e),null}},e._getSurroundingPairs=function(e){try{return Zo.getSurroundingPairs(e.id)}catch(e){return pn(e),null}},e}(),Oa=function(){function e(t,n,r,i){this.selectionStart=t,this.selectionStartLeftoverVisibleColumns=n,this.position=r,this.leftoverVisibleColumns=i,this.selection=e._computeSelection(this.selectionStart,this.position)}return e.prototype.equals=function(e){return this.selectionStartLeftoverVisibleColumns===e.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===e.leftoverVisibleColumns&&this.position.equals(e.position)&&this.selectionStart.equalsRange(e.selectionStart)},e.prototype.hasSelection=function(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()},e.prototype.move=function(t,n,r,i){return t?new e(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new ye(n,r),i):new e(new be(n,r,n,r),i,new ye(n,r),i)},e._computeSelection=function(e,t){var n,r,i,o;return e.isEmpty()?(n=e.startLineNumber,r=e.startColumn,i=t.lineNumber,o=t.column):t.isBeforeOrEqual(e.getStartPosition())?(n=e.endLineNumber,r=e.endColumn,i=t.lineNumber,o=t.column):(n=e.startLineNumber,r=e.startColumn,i=t.lineNumber,o=t.column),new Ii(n,r,i,o)},e}(),Pa=function(){function e(e,t,n){this.model=t,this.viewModel=n,this.config=new Fa(this.model.getLanguageIdentifier(),this.model.getOneIndent(),this.model.getOptions(),e)}return e.prototype.validateViewPosition=function(e,t){return this.viewModel.coordinatesConverter.validateViewPosition(e,t)},e.prototype.validateViewRange=function(e,t){return this.viewModel.coordinatesConverter.validateViewRange(e,t)},e.prototype.convertViewRangeToModelRange=function(e){return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},e.prototype.convertViewPositionToModelPosition=function(e,t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ye(e,t))},e.prototype.convertModelPositionToViewPosition=function(e){return this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this.viewModel.coordinatesConverter.convertModelRangeToViewRange(e)},e.prototype.getCurrentScrollTop=function(){return this.viewModel.viewLayout.getCurrentScrollTop()},e.prototype.getCompletelyVisibleViewRange=function(){return this.viewModel.getCompletelyVisibleViewRange()},e.prototype.getCompletelyVisibleModelRange=function(){var e=this.viewModel.getCompletelyVisibleViewRange();return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},e.prototype.getCompletelyVisibleViewRangeAtScrollTop=function(e){return this.viewModel.getCompletelyVisibleViewRangeAtScrollTop(e)},e.prototype.getVerticalOffsetForViewLine=function(e){return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(e)},e}(),Ba=function(){function e(e,t){this.modelState=e,this.viewState=t}return e.fromModelState=function(t){return new e(t,null)},e.fromViewState=function(t){return new e(null,t)},e.fromModelSelection=function(t){var n=t.selectionStartLineNumber,r=t.selectionStartColumn,i=t.positionLineNumber,o=t.positionColumn,s=new Oa(new be(n,r,n,r),0,new ye(i,o),0);return e.fromModelState(s)},e.fromModelSelections=function(e){for(var t=[],n=0,r=e.length;n<r;n++)t[n]=this.fromModelSelection(e[n]);return t},e.prototype.equals=function(e){return this.viewState.equals(e.viewState)&&this.modelState.equals(e.modelState)},e}(),Ra=function(){return function(e,t,n){this.type=e,this.commands=t,this.shouldPushStackElementBefore=n.shouldPushStackElementBefore,this.shouldPushStackElementAfter=n.shouldPushStackElementAfter}}(),ja=function(){function e(){}return e.isLowSurrogate=function(e,t,n){var r=e.getLineContent(t);return!(n<0||n>=r.length)&&Ot(r.charCodeAt(n))},e.isHighSurrogate=function(e,t,n){var r=e.getLineContent(t);return!(n<0||n>=r.length)&&Ft(r.charCodeAt(n))},e.isInsideSurrogatePair=function(e,t,n){return this.isHighSurrogate(e,t,n-2)},e.visibleColumnFromColumn=function(e,t,n){var r=e.length;r>t-1&&(r=t-1);for(var i=0,o=0;o<r;o++){var s=e.charCodeAt(o);9===s?i=this.nextTabStop(i,n):Ht(s)?i+=2:i+=1}return i},e.visibleColumnFromColumn2=function(e,t,n){return this.visibleColumnFromColumn(t.getLineContent(n.lineNumber),n.column,e.tabSize)},e.columnFromVisibleColumn=function(e,t,n){if(t<=0)return 1;for(var r=e.length,i=0,o=0;o<r;o++){var s=e.charCodeAt(o),a=void 0;if((a=9===s?this.nextTabStop(i,n):Ht(s)?i+2:i+1)>=t)return a-t<t-i?o+2:o+1;i=a}return r+1},e.columnFromVisibleColumn2=function(e,t,n,r){var i=this.columnFromVisibleColumn(t.getLineContent(n),r,e.tabSize),o=t.getLineMinColumn(n);if(i<o)return o;var s=t.getLineMaxColumn(n);return i>s?s:i},e.nextTabStop=function(e,t){return e+t-e%t},e.prevTabStop=function(e,t){return e-1-(e-1)%t},e}();!function(e){e[e.NotSet=0]=\"NotSet\",e[e.ContentFlush=1]=\"ContentFlush\",e[e.RecoverFromMarkers=2]=\"RecoverFromMarkers\",e[e.Explicit=3]=\"Explicit\",e[e.Paste=4]=\"Paste\",e[e.Undo=5]=\"Undo\",e[e.Redo=6]=\"Redo\"}(La||(La={}));var za,Wa=function(){return function(e,t,n){this.lineNumber=e,this.column=t,this.leftoverVisibleColumns=n}}(),Va=function(){function e(){}return e.left=function(e,t,n,r){return r>t.getLineMinColumn(n)?ja.isLowSurrogate(t,n,r-2)?r-=2:r-=1:n>1&&(n-=1,r=t.getLineMaxColumn(n)),new Wa(n,r,0)},e.moveLeft=function(t,n,r,i,o){var s,a;if(r.hasSelection()&&!i)s=r.selection.startLineNumber,a=r.selection.startColumn;else{var u=e.left(t,n,r.position.lineNumber,r.position.column-(o-1));s=u.lineNumber,a=u.column}return r.move(i,s,a,0)},e.right=function(e,t,n,r){return r<t.getLineMaxColumn(n)?ja.isHighSurrogate(t,n,r-1)?r+=2:r+=1:n<t.getLineCount()&&(n+=1,r=t.getLineMinColumn(n)),new Wa(n,r,0)},e.moveRight=function(t,n,r,i,o){var s,a;if(r.hasSelection()&&!i)s=r.selection.endLineNumber,a=r.selection.endColumn;else{var u=e.right(t,n,r.position.lineNumber,r.position.column+(o-1));s=u.lineNumber,a=u.column}return r.move(i,s,a,0)},e.down=function(e,t,n,r,i,o,s){var a=ja.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize)+i;n+=o;var u=t.getLineCount();return n>u?(n=u,s?r=t.getLineMaxColumn(n):(r=Math.min(t.getLineMaxColumn(n),r),ja.isInsideSurrogatePair(t,n,r)&&(r-=1))):(r=ja.columnFromVisibleColumn2(e,t,n,a),ja.isInsideSurrogatePair(t,n,r)&&(r-=1)),i=a-ja.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),new Wa(n,r,i)},e.moveDown=function(t,n,r,i,o){var s,a;r.hasSelection()&&!i?(s=r.selection.endLineNumber,a=r.selection.endColumn):(s=r.position.lineNumber,a=r.position.column);var u=e.down(t,n,s,a,r.leftoverVisibleColumns,o,!0);return r.move(i,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateDown=function(t,n,r){var i=r.selection,o=e.down(t,n,i.selectionStartLineNumber,i.selectionStartColumn,r.selectionStartLeftoverVisibleColumns,1,!1),s=e.down(t,n,i.positionLineNumber,i.positionColumn,r.leftoverVisibleColumns,1,!1);return new Oa(new be(o.lineNumber,o.column,o.lineNumber,o.column),o.leftoverVisibleColumns,new ye(s.lineNumber,s.column),s.leftoverVisibleColumns)},e.up=function(e,t,n,r,i,o,s){var a=ja.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize)+i;return(n-=o)<1?(n=1,s?r=t.getLineMinColumn(n):(r=Math.min(t.getLineMaxColumn(n),r),ja.isInsideSurrogatePair(t,n,r)&&(r-=1))):(r=ja.columnFromVisibleColumn2(e,t,n,a),ja.isInsideSurrogatePair(t,n,r)&&(r-=1)),i=a-ja.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),new Wa(n,r,i)},e.moveUp=function(t,n,r,i,o){var s,a;r.hasSelection()&&!i?(s=r.selection.startLineNumber,a=r.selection.startColumn):(s=r.position.lineNumber,a=r.position.column);var u=e.up(t,n,s,a,r.leftoverVisibleColumns,o,!0);return r.move(i,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateUp=function(t,n,r){var i=r.selection,o=e.up(t,n,i.selectionStartLineNumber,i.selectionStartColumn,r.selectionStartLeftoverVisibleColumns,1,!1),s=e.up(t,n,i.positionLineNumber,i.positionColumn,r.leftoverVisibleColumns,1,!1);return new Oa(new be(o.lineNumber,o.column,o.lineNumber,o.column),o.leftoverVisibleColumns,new ye(s.lineNumber,s.column),s.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,n,r){var i,o=n.position.lineNumber,s=t.getLineMinColumn(o),a=t.getLineFirstNonWhitespaceColumn(o)||s;return i=n.position.column===a?s:a,n.move(r,o,i,0)},e.moveToEndOfLine=function(e,t,n,r){var i=n.position.lineNumber,o=t.getLineMaxColumn(i);return n.move(r,i,o,0)},e.moveToBeginningOfBuffer=function(e,t,n,r){return n.move(r,1,1,0)},e.moveToEndOfBuffer=function(e,t,n,r){var i=t.getLineCount(),o=t.getLineMaxColumn(i);return n.move(r,i,o,0)},e}(),Ha=function(){function e(){}return e._createWord=function(e,t,n,r,i){return{start:r,end:i,wordType:t,nextCharClass:n}},e._findPreviousWordOnLine=function(e,t,n){var r=t.getLineContent(n.lineNumber);return this._doFindPreviousWordOnLine(r,e,n)},e._doFindPreviousWordOnLine=function(e,t,n){for(var r=0,i=n.column-2;i>=0;i--){var o=e.charCodeAt(i),s=t.get(o);if(0===s){if(2===r)return this._createWord(e,r,s,i+1,this._findEndOfWord(e,t,r,i+1));r=1}else if(2===s){if(1===r)return this._createWord(e,r,s,i+1,this._findEndOfWord(e,t,r,i+1));r=2}else if(1===s&&0!==r)return this._createWord(e,r,s,i+1,this._findEndOfWord(e,t,r,i+1))}return 0!==r?this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0)):null},e._findEndOfWord=function(e,t,n,r){for(var i=e.length,o=r;o<i;o++){var s=e.charCodeAt(o),a=t.get(s);if(1===a)return o;if(1===n&&2===a)return o;if(2===n&&0===a)return o}return i},e._findNextWordOnLine=function(e,t,n){var r=t.getLineContent(n.lineNumber);return this._doFindNextWordOnLine(r,e,n)},e._doFindNextWordOnLine=function(e,t,n){for(var r=0,i=e.length,o=n.column-1;o<i;o++){var s=e.charCodeAt(o),a=t.get(s);if(0===a){if(2===r)return this._createWord(e,r,a,this._findStartOfWord(e,t,r,o-1),o);r=1}else if(2===a){if(1===r)return this._createWord(e,r,a,this._findStartOfWord(e,t,r,o-1),o);r=2}else if(1===a&&0!==r)return this._createWord(e,r,a,this._findStartOfWord(e,t,r,o-1),o)}return 0!==r?this._createWord(e,r,1,this._findStartOfWord(e,t,r,i-1),i):null},e._findStartOfWord=function(e,t,n,r){for(var i=r;i>=0;i--){var o=e.charCodeAt(i),s=t.get(o);if(1===s)return i+1;if(1===n&&2===s)return i+1;if(2===n&&0===s)return i+1}return 0},e.moveWordLeft=function(t,n,r,i){var o=r.lineNumber,s=r.column;1===s&&o>1&&(o-=1,s=n.getLineMaxColumn(o));var a=e._findPreviousWordOnLine(t,n,new ye(o,s));return 0===i?(a&&2===a.wordType&&a.end-a.start==1&&0===a.nextCharClass&&(a=e._findPreviousWordOnLine(t,n,new ye(o,a.start+1))),s=a?a.start+1:1):(a&&s<=a.end+1&&(a=e._findPreviousWordOnLine(t,n,new ye(o,a.start+1))),s=a?a.end+1:1),new ye(o,s)},e.moveWordRight=function(t,n,r,i){var o=r.lineNumber,s=r.column;s===n.getLineMaxColumn(o)&&o<n.getLineCount()&&(o+=1,s=1);var a=e._findNextWordOnLine(t,n,new ye(o,s));return 1===i?(a&&2===a.wordType&&a.end-a.start==1&&0===a.nextCharClass&&(a=e._findNextWordOnLine(t,n,new ye(o,a.end+1))),s=a?a.end+1:n.getLineMaxColumn(o)):(a&&s>=a.start+1&&(a=e._findNextWordOnLine(t,n,new ye(o,a.end+1))),s=a?a.start+1:n.getLineMaxColumn(o)),new ye(o,s)},e._deleteWordLeftWhitespace=function(e,t){var n=e.getLineContent(t.lineNumber),r=t.column-2,i=Ct(n,r);return i+1<r?new be(t.lineNumber,i+2,t.lineNumber,t.column):null},e.deleteWordLeft=function(t,n,r,i,o){if(!r.isEmpty())return r;var s=new ye(r.positionLineNumber,r.positionColumn),a=s.lineNumber,u=s.column;if(1===a&&1===u)return null;if(i){var l=this._deleteWordLeftWhitespace(n,s);if(l)return l}var c=e._findPreviousWordOnLine(t,n,s);return 0===o?c?u=c.start+1:u>1?u=1:(a--,u=n.getLineMaxColumn(a)):(c&&u<=c.end+1&&(c=e._findPreviousWordOnLine(t,n,new ye(a,c.start+1))),c?u=c.end+1:u>1?u=1:(a--,u=n.getLineMaxColumn(a))),new be(a,u,s.lineNumber,s.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,r=t;r<n;r++){var i=e.charAt(r);if(\" \"!==i&&\"\\t\"!==i)return r}return n},e._deleteWordRightWhitespace=function(e,t){var n=e.getLineContent(t.lineNumber),r=t.column-1,i=this._findFirstNonWhitespaceChar(n,r);return r+1<i?new be(t.lineNumber,t.column,t.lineNumber,i+1):null},e.deleteWordRight=function(t,n,r,i,o){if(!r.isEmpty())return r;var s=new ye(r.positionLineNumber,r.positionColumn),a=s.lineNumber,u=s.column,l=n.getLineCount(),c=n.getLineMaxColumn(a);if(a===l&&u===c)return null;if(i){var h=this._deleteWordRightWhitespace(n,s);if(h)return h}var d=e._findNextWordOnLine(t,n,s);return 1===o?d?u=d.end+1:u<c||a===l?u=c:(a++,u=(d=e._findNextWordOnLine(t,n,new ye(a,1)))?d.start+1:n.getLineMaxColumn(a)):(d&&u>=d.start+1&&(d=e._findNextWordOnLine(t,n,new ye(a,d.end+1))),d?u=d.start+1:u<c||a===l?u=c:(a++,u=(d=e._findNextWordOnLine(t,n,new ye(a,1)))?d.start+1:n.getLineMaxColumn(a))),new be(a,u,s.lineNumber,s.column)},e.word=function(t,n,r,i,o){var s=Vs(t.wordSeparators),a=e._findPreviousWordOnLine(s,n,o),u=e._findNextWordOnLine(s,n,o);if(!i){var l,c,h=a&&1===a.wordType&&a.start<=o.column-1&&o.column-1<=a.end,d=u&&1===u.wordType&&u.start<=o.column-1&&o.column-1<=u.end;return h?(l=a.start+1,c=a.end+1):d?(l=u.start+1,c=u.end+1):(l=a?a.end+1:1,c=u?u.start+1:n.getLineMaxColumn(o.lineNumber)),new Oa(new be(o.lineNumber,l,o.lineNumber,c),0,new ye(o.lineNumber,c),0)}var p,f,g=a&&1===a.wordType&&a.start<o.column-1&&o.column-1<a.end,m=u&&1===u.wordType&&u.start<o.column-1&&o.column-1<u.end;g?(p=a.start+1,f=a.end+1):m?(p=u.start+1,f=u.end+1):(p=o.column,f=o.column);var v,y=o.lineNumber;if(r.selectionStart.containsPosition(o))v=r.selectionStart.endColumn;else if(o.isBeforeOrEqual(r.selectionStart.getStartPosition())){var b=new ye(y,v=p);r.selectionStart.containsPosition(b)&&(v=r.selectionStart.endColumn)}else{b=new ye(y,v=f);r.selectionStart.containsPosition(b)&&(v=r.selectionStart.startColumn)}return r.move(!0,y,v,0)},e}(),Ua=function(){function e(){}return e.addCursorDown=function(e,t){for(var n=[],r=0,i=0,o=t.length;i<o;i++){var s=t[i];n[r++]=new Ba(s.modelState,s.viewState),n[r++]=Ba.fromViewState(Va.translateDown(e.config,e.viewModel,s.viewState))}return n},e.addCursorUp=function(e,t){for(var n=[],r=0,i=0,o=t.length;i<o;i++){var s=t[i];n[r++]=new Ba(s.modelState,s.viewState),n[r++]=Ba.fromViewState(Va.translateUp(e.config,e.viewModel,s.viewState))}return n},e.moveToBeginningOfLine=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i];r[i]=this._moveToLineStart(e,s,n)}return r},e._moveToLineStart=function(e,t,n){var r=t.viewState.position.column,i=r===t.modelState.position.column,o=t.viewState.position.lineNumber,s=e.viewModel.getLineFirstNonWhitespaceColumn(o);return i||r===s?this._moveToLineStartByModel(e,t,n):this._moveToLineStartByView(e,t,n)},e._moveToLineStartByView=function(e,t,n){return Ba.fromViewState(Va.moveToBeginningOfLine(e.config,e.viewModel,t.viewState,n))},e._moveToLineStartByModel=function(e,t,n){return Ba.fromModelState(Va.moveToBeginningOfLine(e.config,e.model,t.modelState,n))},e.moveToEndOfLine=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i];r[i]=this._moveToLineEnd(e,s,n)}return r},e._moveToLineEnd=function(e,t,n){var r=t.viewState.position,i=e.viewModel.getLineMaxColumn(r.lineNumber),o=r.column===i,s=t.modelState.position,a=e.model.getLineMaxColumn(s.lineNumber),u=i-r.column==a-s.column;return o||u?this._moveToLineEndByModel(e,t,n):this._moveToLineEndByView(e,t,n)},e._moveToLineEndByView=function(e,t,n){return Ba.fromViewState(Va.moveToEndOfLine(e.config,e.viewModel,t.viewState,n))},e._moveToLineEndByModel=function(e,t,n){return Ba.fromModelState(Va.moveToEndOfLine(e.config,e.model,t.modelState,n))},e.expandLineSelection=function(e,t){for(var n=[],r=0,i=t.length;r<i;r++){var o=t[r].viewState.selection,s=o.startLineNumber,a=e.viewModel.getLineCount(),u=o.endLineNumber,l=void 0;u===a?l=e.viewModel.getLineMaxColumn(a):(u++,l=1),n[r]=Ba.fromViewState(new Oa(new be(s,1,s,1),0,new ye(u,l),0))}return n},e.moveToBeginningOfBuffer=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i];r[i]=Ba.fromModelState(Va.moveToBeginningOfBuffer(e.config,e.model,s.modelState,n))}return r},e.moveToEndOfBuffer=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i];r[i]=Ba.fromModelState(Va.moveToEndOfBuffer(e.config,e.model,s.modelState,n))}return r},e.selectAll=function(e,t){var n=e.model.getLineCount(),r=e.model.getLineMaxColumn(n);return Ba.fromModelState(new Oa(new be(1,1,1,1),0,new ye(n,r),0))},e.line=function(e,t,n,r,i){var o=e.model.validatePosition(r),s=i?e.validateViewPosition(new ye(i.lineNumber,i.column),o):e.convertModelPositionToViewPosition(o);if(!n||!t.modelState.hasSelection()){var a=e.model.getLineCount(),u=o.lineNumber+1,l=1;return u>a&&(u=a,l=e.model.getLineMaxColumn(u)),Ba.fromModelState(new Oa(new be(o.lineNumber,1,u,l),0,new ye(u,l),0))}var c=t.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumber<c)return Ba.fromViewState(t.viewState.move(t.modelState.hasSelection(),s.lineNumber,1,0));if(o.lineNumber>c){a=e.viewModel.getLineCount();var h=s.lineNumber+1,d=1;return h>a&&(h=a,d=e.viewModel.getLineMaxColumn(h)),Ba.fromViewState(t.viewState.move(t.modelState.hasSelection(),h,d,0))}var p=t.modelState.selectionStart.getEndPosition();return Ba.fromModelState(t.modelState.move(t.modelState.hasSelection(),p.lineNumber,p.column,0))},e.word=function(e,t,n,r){var i=e.model.validatePosition(r);return Ba.fromModelState(Ha.word(e.config,e.model,t.modelState,n,i))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new Ba(t.modelState,t.viewState);var n=t.viewState.position.lineNumber,r=t.viewState.position.column;return Ba.fromViewState(new Oa(new be(n,r,n,r),0,new ye(n,r),0))},e.moveTo=function(e,t,n,r,i){var o=e.model.validatePosition(r),s=i?e.validateViewPosition(new ye(i.lineNumber,i.column),o):e.convertModelPositionToViewPosition(o);return Ba.fromViewState(t.viewState.move(n,s.lineNumber,s.column,0))},e.move=function(e,t,n){var r=n.select,i=n.value;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,i);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,i);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,r,i):this._moveUpByModelLines(e,t,r,i);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,r,i):this._moveDownByModelLines(e,t,r,i);case 4:return this._moveToViewMinColumn(e,t,r);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 6:return this._moveToViewCenterColumn(e,t,r);case 7:return this._moveToViewMaxColumn(e,t,r);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,r);case 9:var o=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,i),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,r,a,u)];case 11:o=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,i),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,r,a,u)];case 10:o=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,r,a,u)];case 12:for(var l=e.getCompletelyVisibleViewRange(),c=[],h=0,d=t.length;h<d;h++){o=t[h];c[h]=this.findPositionInViewportIfOutside(e,o,l,r)}return c}return null},e.findPositionInViewportIfOutside=function(e,t,n,r){var i=t.viewState.position.lineNumber;if(n.startLineNumber<=i&&i<=n.endLineNumber-1)return new Ba(t.modelState,t.viewState);i>n.endLineNumber-1&&(i=n.endLineNumber-1),i<n.startLineNumber&&(i=n.startLineNumber);var o=e.viewModel.getLineFirstNonWhitespaceColumn(i);return this._moveToViewPosition(e,t,r,i,o)},e._firstLineNumberInRange=function(e,t,n){var r=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(r)&&r++,Math.min(t.endLineNumber,r+n-1)},e._lastLineNumberInRange=function(e,t,n){var r=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(r)&&r++,Math.max(r,t.endLineNumber-n+1)},e._moveLeft=function(e,t,n,r){for(var i=[],o=0,s=t.length;o<s;o++){var a=t[o],u=Va.moveLeft(e.config,e.viewModel,a.viewState,n,r);if(1===r&&u.position.lineNumber!==a.viewState.position.lineNumber)e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(u.position).lineNumber===a.modelState.position.lineNumber&&(u=Va.moveLeft(e.config,e.viewModel,u,n,1));i[o]=Ba.fromViewState(u)}return i},e._moveHalfLineLeft=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=Math.round(e.viewModel.getLineContent(a).length/2);r[i]=Ba.fromViewState(Va.moveLeft(e.config,e.viewModel,s.viewState,n,u))}return r},e._moveRight=function(e,t,n,r){for(var i=[],o=0,s=t.length;o<s;o++){var a=t[o],u=Va.moveRight(e.config,e.viewModel,a.viewState,n,r);if(1===r&&u.position.lineNumber!==a.viewState.position.lineNumber)e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(u.position).lineNumber===a.modelState.position.lineNumber&&(u=Va.moveRight(e.config,e.viewModel,u,n,1));i[o]=Ba.fromViewState(u)}return i},e._moveHalfLineRight=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=Math.round(e.viewModel.getLineContent(a).length/2);r[i]=Ba.fromViewState(Va.moveRight(e.config,e.viewModel,s.viewState,n,u))}return r},e._moveDownByViewLines=function(e,t,n,r){for(var i=[],o=0,s=t.length;o<s;o++){var a=t[o];i[o]=Ba.fromViewState(Va.moveDown(e.config,e.viewModel,a.viewState,n,r))}return i},e._moveDownByModelLines=function(e,t,n,r){for(var i=[],o=0,s=t.length;o<s;o++){var a=t[o];i[o]=Ba.fromModelState(Va.moveDown(e.config,e.model,a.modelState,n,r))}return i},e._moveUpByViewLines=function(e,t,n,r){for(var i=[],o=0,s=t.length;o<s;o++){var a=t[o];i[o]=Ba.fromViewState(Va.moveUp(e.config,e.viewModel,a.viewState,n,r))}return i},e._moveUpByModelLines=function(e,t,n,r){for(var i=[],o=0,s=t.length;o<s;o++){var a=t[o];i[o]=Ba.fromModelState(Va.moveUp(e.config,e.model,a.modelState,n,r))}return i},e._moveToViewPosition=function(e,t,n,r,i){return Ba.fromViewState(t.viewState.move(n,r,i,0))},e._moveToModelPosition=function(e,t,n,r,i){return Ba.fromModelState(t.modelState.move(n,r,i,0))},e._moveToViewMinColumn=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=e.viewModel.getLineMinColumn(a);r[i]=this._moveToViewPosition(e,s,n,a,u)}return r},e._moveToViewFirstNonWhitespaceColumn=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=e.viewModel.getLineFirstNonWhitespaceColumn(a);r[i]=this._moveToViewPosition(e,s,n,a,u)}return r},e._moveToViewCenterColumn=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=Math.round((e.viewModel.getLineMaxColumn(a)+e.viewModel.getLineMinColumn(a))/2);r[i]=this._moveToViewPosition(e,s,n,a,u)}return r},e._moveToViewMaxColumn=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=e.viewModel.getLineMaxColumn(a);r[i]=this._moveToViewPosition(e,s,n,a,u)}return r},e._moveToViewLastNonWhitespaceColumn=function(e,t,n){for(var r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=s.viewState.position.lineNumber,u=e.viewModel.getLineLastNonWhitespaceColumn(a);r[i]=this._moveToViewPosition(e,s,n,a,u)}return r},e}();!function(e){e.description={description:\"Move cursor to a logical position in the view\",args:[{name:\"Cursor move argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* 'to': A mandatory logical position value providing where to move the cursor.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'left', 'right', 'up', 'down'\\n\\t\\t\\t\\t\\t\\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\\n\\t\\t\\t\\t\\t\\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter',\\n\\t\\t\\t\\t\\t\\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* 'by': Unit to move. Default is computed based on 'to' value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'line', 'wrappedLine', 'character', 'halfLine'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* 'value': Number of units to move. Default is '1'.\\n\\t\\t\\t\\t\\t* 'select': If 'true' makes the selection. Default is 'false'.\\n\\t\\t\\t\\t\",constraint:function(e){if(!Ur(e))return!1;var t=e;return!(!Hr(t.to)||!Gr(t.select)&&!Zr(t.select)||!Gr(t.by)&&!Hr(t.by)||!Gr(t.value)&&!Yr(t.value))}}]},e.RawDirection={Left:\"left\",Right:\"right\",Up:\"up\",Down:\"down\",WrappedLineStart:\"wrappedLineStart\",WrappedLineFirstNonWhitespaceCharacter:\"wrappedLineFirstNonWhitespaceCharacter\",WrappedLineColumnCenter:\"wrappedLineColumnCenter\",WrappedLineEnd:\"wrappedLineEnd\",WrappedLineLastNonWhitespaceCharacter:\"wrappedLineLastNonWhitespaceCharacter\",ViewPortTop:\"viewPortTop\",ViewPortCenter:\"viewPortCenter\",ViewPortBottom:\"viewPortBottom\",ViewPortIfOutside:\"viewPortIfOutside\"},e.RawUnit={Line:\"line\",WrappedLine:\"wrappedLine\",Character:\"character\",HalfLine:\"halfLine\"},e.parse=function(t){if(!t.to)return null;var n;switch(t.to){case e.RawDirection.Left:n=0;break;case e.RawDirection.Right:n=1;break;case e.RawDirection.Up:n=2;break;case e.RawDirection.Down:n=3;break;case e.RawDirection.WrappedLineStart:n=4;break;case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:n=5;break;case e.RawDirection.WrappedLineColumnCenter:n=6;break;case e.RawDirection.WrappedLineEnd:n=7;break;case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:n=8;break;case e.RawDirection.ViewPortTop:n=9;break;case e.RawDirection.ViewPortBottom:n=11;break;case e.RawDirection.ViewPortCenter:n=10;break;case e.RawDirection.ViewPortIfOutside:n=12;break;default:return null}var r=0;switch(t.by){case e.RawUnit.Line:r=1;break;case e.RawUnit.WrappedLine:r=2;break;case e.RawUnit.Character:r=3;break;case e.RawUnit.HalfLine:r=4}return{direction:n,unit:r,select:!!t.select,value:t.value||1}}}(za||(za={}));var Ya,Za=Or(\"commandService\"),Ga=new(function(){function e(){this._commands=new Map}return e.prototype.registerCommand=function(e,t){var n=this;if(!e)throw new Error(\"invalid command\");if(\"string\"==typeof e){if(!t)throw new Error(\"invalid command\");return this.registerCommand({id:e,handler:t})}if(e.description){for(var r=[],i=0,o=e.description.args;i<o.length;i++){var s=o[i];r.push(s.constraint)}var a=e.handler;e.handler=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return function(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)Jr(e[r],t[r])}(t,r),a.apply(void 0,[e].concat(t))}}var u=e.id,l=this._commands.get(u);l||(l=new Cn,this._commands.set(u,l));var c=l.unshift(e);return{dispose:function(){c(),n._commands.get(u).isEmpty()&&n._commands.delete(u)}}},e.prototype.getCommand=function(e){var t=this._commands.get(e);if(t&&!t.isEmpty())return t.iterator().next().value},e.prototype.getCommands=function(){var e=this,t=Object.create(null);return this._commands.forEach(function(n,r){t[r]=e.getCommand(r)}),t},e}()),Ka=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),qa=new Ka,Qa=new Ka,Xa=new Ka;function Ja(e,t){return(e|(65535&t)<<16>>>0)>>>0}function $a(e,t){if(0===e)return null;var n=(65535&e)>>>0,r=(4294901760&e)>>>16;return 0!==r?new nu(eu(n,t),eu(r,t)):eu(n,t)}function eu(e,t){var n=!!(2048&e),r=!!(256&e);return new tu(2===t?r:n,!!(1024&e),!!(512&e),2===t?n:r,255&e)}!function(){function e(e,t,n,r){void 0===n&&(n=t),void 0===r&&(r=n),qa.define(e,t),Qa.define(e,n),Xa.define(e,r)}e(0,\"unknown\"),e(1,\"Backspace\"),e(2,\"Tab\"),e(3,\"Enter\"),e(4,\"Shift\"),e(5,\"Ctrl\"),e(6,\"Alt\"),e(7,\"PauseBreak\"),e(8,\"CapsLock\"),e(9,\"Escape\"),e(10,\"Space\"),e(11,\"PageUp\"),e(12,\"PageDown\"),e(13,\"End\"),e(14,\"Home\"),e(15,\"LeftArrow\",\"Left\"),e(16,\"UpArrow\",\"Up\"),e(17,\"RightArrow\",\"Right\"),e(18,\"DownArrow\",\"Down\"),e(19,\"Insert\"),e(20,\"Delete\"),e(21,\"0\"),e(22,\"1\"),e(23,\"2\"),e(24,\"3\"),e(25,\"4\"),e(26,\"5\"),e(27,\"6\"),e(28,\"7\"),e(29,\"8\"),e(30,\"9\"),e(31,\"A\"),e(32,\"B\"),e(33,\"C\"),e(34,\"D\"),e(35,\"E\"),e(36,\"F\"),e(37,\"G\"),e(38,\"H\"),e(39,\"I\"),e(40,\"J\"),e(41,\"K\"),e(42,\"L\"),e(43,\"M\"),e(44,\"N\"),e(45,\"O\"),e(46,\"P\"),e(47,\"Q\"),e(48,\"R\"),e(49,\"S\"),e(50,\"T\"),e(51,\"U\"),e(52,\"V\"),e(53,\"W\"),e(54,\"X\"),e(55,\"Y\"),e(56,\"Z\"),e(57,\"Meta\"),e(58,\"ContextMenu\"),e(59,\"F1\"),e(60,\"F2\"),e(61,\"F3\"),e(62,\"F4\"),e(63,\"F5\"),e(64,\"F6\"),e(65,\"F7\"),e(66,\"F8\"),e(67,\"F9\"),e(68,\"F10\"),e(69,\"F11\"),e(70,\"F12\"),e(71,\"F13\"),e(72,\"F14\"),e(73,\"F15\"),e(74,\"F16\"),e(75,\"F17\"),e(76,\"F18\"),e(77,\"F19\"),e(78,\"NumLock\"),e(79,\"ScrollLock\"),e(80,\";\",\";\",\"OEM_1\"),e(81,\"=\",\"=\",\"OEM_PLUS\"),e(82,\",\",\",\",\"OEM_COMMA\"),e(83,\"-\",\"-\",\"OEM_MINUS\"),e(84,\".\",\".\",\"OEM_PERIOD\"),e(85,\"/\",\"/\",\"OEM_2\"),e(86,\"`\",\"`\",\"OEM_3\"),e(110,\"ABNT_C1\"),e(111,\"ABNT_C2\"),e(87,\"[\",\"[\",\"OEM_4\"),e(88,\"\\\\\",\"\\\\\",\"OEM_5\"),e(89,\"]\",\"]\",\"OEM_6\"),e(90,\"'\",\"'\",\"OEM_7\"),e(91,\"OEM_8\"),e(92,\"OEM_102\"),e(93,\"NumPad0\"),e(94,\"NumPad1\"),e(95,\"NumPad2\"),e(96,\"NumPad3\"),e(97,\"NumPad4\"),e(98,\"NumPad5\"),e(99,\"NumPad6\"),e(100,\"NumPad7\"),e(101,\"NumPad8\"),e(102,\"NumPad9\"),e(103,\"NumPad_Multiply\"),e(104,\"NumPad_Add\"),e(105,\"NumPad_Separator\"),e(106,\"NumPad_Subtract\"),e(107,\"NumPad_Decimal\"),e(108,\"NumPad_Divide\")}(),function(e){e.toString=function(e){return qa.keyCodeToStr(e)},e.fromString=function(e){return qa.strToKeyCode(e)},e.toUserSettingsUS=function(e){return Qa.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return Xa.keyCodeToStr(e)},e.fromUserSettings=function(e){return Qa.strToKeyCode(e)||Xa.strToKeyCode(e)}}(Ya||(Ya={}));var tu=function(){function e(e,t,n,r,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}return e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.getHashCode=function(){return\"\"+(this.ctrlKey?\"1\":\"0\")+(this.shiftKey?\"1\":\"0\")+(this.altKey?\"1\":\"0\")+(this.metaKey?\"1\":\"0\")+this.keyCode},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode},e}(),nu=function(){function e(e,t){this.type=2,this.firstPart=e,this.chordPart=t}return e.prototype.getHashCode=function(){return this.firstPart.getHashCode()+\";\"+this.chordPart.getHashCode()},e}(),ru=function(){return function(e,t,n,r,i,o){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyLabel=i,this.keyAriaLabel=o}}(),iu=function(){return function(){}}();function ou(e,t){if(!e||null===e)throw new Error(t?\"Assertion failed (\"+t+\")\":\"Assertion Failed\")}var su=new(function(){function e(){this.data={}}return e.prototype.add=function(e,t){ou(Hr(e)),ou(Ur(t)),ou(!this.data.hasOwnProperty(e),\"There is already an extension with this id\"),this.data[e]=t},e.prototype.knows=function(e){return this.data.hasOwnProperty(e)},e.prototype.as=function(e){return this.data[e]||null},e}()),au=new(function(){function e(){this.WEIGHT={editorCore:function(e){return void 0===e&&(e=0),0+e},editorContrib:function(e){return void 0===e&&(e=0),100+e},workbenchContrib:function(e){return void 0===e&&(e=0),200+e},builtinExtension:function(e){return void 0===e&&(e=0),300+e},externalExtension:function(e){return void 0===e&&(e=0),400+e}},this._keybindings=[],this._keybindingsSorted=!0}return e.bindToCurrentPlatform=function(e){if(1===we.a){if(e&&e.win)return e.win}else if(2===we.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.bindToCurrentPlatform2=function(e){if(1===we.a){if(e&&e.win)return e.win}else if(2===we.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t,n){void 0===n&&(n=0);var r=e.bindToCurrentPlatform(t);if(r&&r.primary&&this._registerDefaultKeybinding($a(r.primary,we.a),t.id,t.weight,0,t.when,n),r&&Array.isArray(r.secondary))for(var i=0,o=r.secondary.length;i<o;i++){var s=r.secondary[i];this._registerDefaultKeybinding($a(s,we.a),t.id,t.weight,-i-1,t.when,n)}},e.prototype.registerKeybindingRule2=function(t,n){void 0===n&&(n=0);var r=e.bindToCurrentPlatform2(t);r&&r.primary&&this._registerDefaultKeybinding(r.primary,t.id,t.weight,0,t.when,n)},e.prototype.registerCommandAndKeybindingRule=function(e,t){void 0===t&&(t=0),this.registerKeybindingRule(e,t),Ga.registerCommand(e)},e._mightProduceChar=function(e){return e>=21&&e<=30||(e>=31&&e<=56||(80===e||81===e||82===e||83===e||84===e||85===e||86===e||110===e||111===e||87===e||88===e||89===e||90===e||91===e||92===e))},e.prototype._assertNoCtrlAlt=function(t,n){t.ctrlKey&&t.altKey&&!t.metaKey&&e._mightProduceChar(t.keyCode)&&console.warn(\"Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: \",t,\" for \",n)},e.prototype._registerDefaultKeybinding=function(e,t,n,r,i,o){0===o&&1===we.a&&(2===e.type?this._assertNoCtrlAlt(e.firstPart,t):this._assertNoCtrlAlt(e,t)),this._keybindings.push({keybinding:e,command:t,commandArgs:null,when:i,weight1:n,weight2:r}),this._keybindingsSorted=!1},e.prototype.getDefaultKeybindings=function(){return this._keybindingsSorted||(this._keybindings.sort(uu),this._keybindingsSorted=!0),this._keybindings.slice(0)},e}());function uu(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.command<t.command?-1:e.command>t.command?1:e.weight2-t.weight2}su.add(\"platform.keybindingsRegistry\",au);var lu,cu=Or(\"telemetryService\"),hu=function(){function e(e,t,n,r,i){void 0===t&&(t=\"\"),void 0===n&&(n=\"\"),void 0===r&&(r=!0),this._onDidChange=new wn,this._id=e,this._label=t,this._cssClass=n,this._enabled=r,this._actionCallback=i}return e.prototype.dispose=function(){this._onDidChange.dispose()},Object.defineProperty(e.prototype,\"onDidChange\",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"label\",{get:function(){return this._label},set:function(e){this._setLabel(e)},enumerable:!0,configurable:!0}),e.prototype._setLabel=function(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))},Object.defineProperty(e.prototype,\"tooltip\",{get:function(){return this._tooltip},set:function(e){this._setTooltip(e)},enumerable:!0,configurable:!0}),e.prototype._setTooltip=function(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))},Object.defineProperty(e.prototype,\"class\",{get:function(){return this._cssClass},set:function(e){this._setClass(e)},enumerable:!0,configurable:!0}),e.prototype._setClass=function(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))},Object.defineProperty(e.prototype,\"enabled\",{get:function(){return this._enabled},set:function(e){this._setEnabled(e)},enumerable:!0,configurable:!0}),e.prototype._setEnabled=function(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))},Object.defineProperty(e.prototype,\"checked\",{get:function(){return this._checked},set:function(e){this._setChecked(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"radio\",{get:function(){return this._radio},set:function(e){this._setRadio(e)},enumerable:!0,configurable:!0}),e.prototype._setChecked=function(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))},e.prototype._setRadio=function(e){this._radio!==e&&(this._radio=e,this._onDidChange.fire({radio:e}))},Object.defineProperty(e.prototype,\"order\",{get:function(){return this._order},set:function(e){this._order=e},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){return void 0!==this._actionCallback?this._actionCallback(e):cn.b.as(!0)},e}(),du=function(){function e(){this._onDidBeforeRun=new wn,this._onDidRun=new wn}return Object.defineProperty(e.prototype,\"onDidRun\",{get:function(){return this._onDidRun.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidBeforeRun\",{get:function(){return this._onDidBeforeRun.event},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){var n=this;return e.enabled?(this._onDidBeforeRun.fire({action:e}),this.runAction(e,t).then(function(t){n._onDidRun.fire({action:e,result:t})},function(t){n._onDidRun.fire({action:e,error:t})})):cn.b.as(null)},e.prototype.runAction=function(e,t){var n=t?e.run(t):e.run();return cn.b.is(n)?n:cn.b.wrap(n)},e.prototype.dispose=function(){this._onDidBeforeRun.dispose(),this._onDidRun.dispose()},e}(),pu=function(){return function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.ctor=e,this.staticArguments=t}}(),fu=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new(pu.bind.apply(pu,[void 0,e].concat(t)))},gu=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){e[e.Defined=1]=\"Defined\",e[e.Not=2]=\"Not\",e[e.Equals=3]=\"Equals\",e[e.NotEquals=4]=\"NotEquals\",e[e.And=5]=\"And\",e[e.Regex=6]=\"Regex\"}(lu||(lu={}));var mu=function(){function e(){}return e.has=function(e){return new bu(e)},e.equals=function(e,t){return new _u(e,t)},e.notEquals=function(e,t){return new Cu(e,t)},e.regex=function(e,t){return new Du(e,t)},e.not=function(e){return new wu(e)},e.and=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new Eu(e)},e.deserialize=function(e){var t=this;if(!e)return null;var n=e.split(\"&&\");return new Eu(n.map(function(e){return t._deserializeOne(e)})).normalize()},e._deserializeOne=function(e){if((e=e.trim()).indexOf(\"!=\")>=0){var t=e.split(\"!=\");return new Cu(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf(\"==\")>=0){t=e.split(\"==\");return new _u(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf(\"=~\")>=0){t=e.split(\"=~\");return new Du(t[0].trim(),this._deserializeRegexValue(t[1]))}return/^\\!\\s*/.test(e)?new wu(e.substr(1).trim()):new bu(e)},e._deserializeValue=function(e){if(\"true\"===(e=e.trim()))return!0;if(\"false\"===e)return!1;var t=/^'([^']*)'$/.exec(e);return t?t[1].trim():e},e._deserializeRegexValue=function(e){if(Qe(e))return console.warn(\"missing regexp-value for =~-expression\"),null;var t=e.indexOf(\"/\"),n=e.lastIndexOf(\"/\");if(t===n||t<0)return console.warn(\"bad regexp-value '\"+e+\"', missing /-enclosure\"),null;var r=e.slice(t+1,n),i=\"i\"===e[n+1]?\"i\":\"\";try{return new RegExp(r,i)}catch(t){return console.warn(\"bad regexp-value '\"+e+\"', parse error: \"+t),null}},e}();function vu(e,t){var n=e.getType(),r=t.getType();if(n!==r)return n-r;switch(n){case lu.Defined:case lu.Not:case lu.Equals:case lu.NotEquals:case lu.Regex:return e.cmp(t);default:throw new Error(\"Unknown ContextKeyExpr!\")}}var yu,bu=function(){function e(e){this.key=e}return e.prototype.getType=function(){return lu.Defined},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.serialize=function(){return this.key},e.prototype.keys=function(){return[this.key]},e}(),_u=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return lu.Equals},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:this.value<e.value?-1:this.value>e.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)==this.value},e.prototype.normalize=function(){return\"boolean\"==typeof this.value?this.value?new bu(this.key):new wu(this.key):this},e.prototype.serialize=function(){return\"boolean\"==typeof this.value?this.normalize().serialize():this.key+\" == '\"+this.value+\"'\"},e.prototype.keys=function(){return[this.key]},e}(),Cu=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return lu.NotEquals},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:this.value<e.value?-1:this.value>e.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)!=this.value},e.prototype.normalize=function(){return\"boolean\"==typeof this.value?this.value?new wu(this.key):new bu(this.key):this},e.prototype.serialize=function(){return\"boolean\"==typeof this.value?this.normalize().serialize():this.key+\" != '\"+this.value+\"'\"},e.prototype.keys=function(){return[this.key]},e}(),wu=function(){function e(e){this.key=e}return e.prototype.getType=function(){return lu.Not},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.serialize=function(){return\"!\"+this.key},e.prototype.keys=function(){return[this.key]},e}(),Du=function(){function e(e,t){this.key=e,this.regexp=t}return e.prototype.getType=function(){return lu.Regex},e.prototype.cmp=function(e){if(this.key<e.key)return-1;if(this.key>e.key)return 1;var t=this.regexp?this.regexp.source:void 0;return t<e.regexp.source?-1:t>e.regexp.source?1:0},e.prototype.equals=function(t){if(t instanceof e){var n=this.regexp?this.regexp.source:void 0;return this.key===t.key&&n===t.regexp.source}return!1},e.prototype.evaluate=function(e){return!!this.regexp&&this.regexp.test(e.getValue(this.key))},e.prototype.normalize=function(){return this},e.prototype.serialize=function(){return this.key+\" =~ /\"+(this.regexp?this.regexp.source:\"<invalid>\")+\"/\"+(this.regexp.ignoreCase?\"i\":\"\")},e.prototype.keys=function(){return[this.key]},e}(),Eu=function(){function e(t){this.expr=e._normalizeArr(t)}return e.prototype.getType=function(){return lu.And},e.prototype.equals=function(t){if(t instanceof e){if(this.expr.length!==t.expr.length)return!1;for(var n=0,r=this.expr.length;n<r;n++)if(!this.expr[n].equals(t.expr[n]))return!1;return!0}return!1},e.prototype.evaluate=function(e){for(var t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].evaluate(e))return!1;return!0},e._normalizeArr=function(t){var n=[];if(t){for(var r=0,i=t.length;r<i;r++){var o=t[r];o&&((o=o.normalize())&&(o instanceof e?n=n.concat(o.expr):n.push(o)))}n.sort(vu)}return n},e.prototype.normalize=function(){return 0===this.expr.length?null:1===this.expr.length?this.expr[0]:this},e.prototype.serialize=function(){return 0===this.expr.length?\"\":1===this.expr.length?this.normalize().serialize():this.expr.map(function(e){return e.serialize()}).join(\" && \")},e.prototype.keys=function(){for(var e=[],t=0,n=this.expr;t<n.length;t++){var r=n[t];e.push.apply(e,r.keys())}return e},e}(),Au=function(e){function t(t,n){var r=e.call(this,t)||this;return r._defaultValue=n,r}return gu(t,e),t.prototype.bindTo=function(e){return e.createKey(this.key,this._defaultValue)},t.prototype.getValue=function(e){return e.getContextKeyValue(this.key)},t.prototype.toNegated=function(){return mu.not(this.key)},t.prototype.isEqualTo=function(e){return mu.equals(this.key,e)},t.prototype.notEqualsTo=function(e){return mu.notEquals(this.key,e)},t}(bu),Su=Or(\"contextKeyService\"),xu=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Mu=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Nu=function(e,t){return function(n,r){t(n,r,e)}},Iu=function(){function e(){this.id=String(e.ID++)}return e.ID=1,e.EditorTitle=new e,e.EditorTitleContext=new e,e.EditorContext=new e,e.ExplorerContext=new e,e.OpenEditorsContext=new e,e.ProblemsPanelContext=new e,e.DebugVariablesContext=new e,e.DebugWatchContext=new e,e.DebugCallStackContext=new e,e.DebugBreakpointsContext=new e,e.DebugConsoleContext=new e,e.SCMTitle=new e,e.SCMSourceControl=new e,e.SCMResourceGroupContext=new e,e.SCMResourceContext=new e,e.SCMChangeContext=new e,e.CommandPalette=new e,e.ViewTitle=new e,e.ViewItemContext=new e,e.TouchBarContext=new e,e.SearchContext=new e,e}(),Lu=Or(\"menuService\"),ku=new(function(){function e(){this._commands=Object.create(null),this._menuItems=Object.create(null)}return e.prototype.addCommand=function(e){var t=this._commands[e.id];return this._commands[e.id]=e,void 0!==t},e.prototype.getCommand=function(e){return this._commands[e]},e.prototype.appendMenuItem=function(e,t){var n=e.id,r=this._menuItems[n];return r?r.push(t):this._menuItems[n]=r=[t],{dispose:function(){var e=r.indexOf(t);e>=0&&r.splice(e,1)}}},e.prototype.getMenuItems=function(e){var t=e.id,n=this._menuItems[t]||[];return t===Iu.CommandPalette.id&&this._appendImplicitItems(n),n},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,r=e;n<r.length;n++){var i=r[n],o=i.command,s=i.alt;t.add(o.id),s&&t.add(s.id)}for(var a in this._commands)t.has(a)||e.push({command:this._commands[a]})},e}()),Tu=function(e){function t(n,r,i,o,s){var a=this;return(a=\"string\"==typeof n.title?e.call(this,n.id,n.title,s)||this:e.call(this,n.id,n.title.value,s)||this)._cssClass=void 0,a._enabled=!n.precondition||o.contextMatchesRules(n.precondition),a._options=i||{},a.item=n,a.alt=r?new t(r,void 0,a._options,o,s):void 0,a}return xu(t,e),t.prototype.run=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=[];return this._options.arg&&(r=r.concat([this._options.arg])),this._options.shouldForwardArgs&&(r=r.concat(t)),e.prototype.run.apply(this,r)},t=Mu([Nu(3,Su),Nu(4,Za)],t)}(function(e){function t(t,n,r){var i=e.call(this,t,n)||this;return i._commandService=r,i}return xu(t,e),t.prototype.run=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(e=this._commandService).executeCommand.apply(e,[this.id].concat(t))},t=Mu([Nu(2,Za)],t)}(hu)),Fu=(function(){function e(e,t,n,r,i,o){this._id=t,this._label=n,this._keybindings=r,this._keybindingContext=i,this._keybindingWeight=o,this._descriptor=fu(e,this._id,this._label)}Object.defineProperty(e.prototype,\"syncDescriptor\",{get:function(){return this._descriptor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"label\",{get:function(){return this._label},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"keybindings\",{get:function(){return this._keybindings},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"keybindingContext\",{get:function(){return this._keybindingContext},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"keybindingWeight\",{get:function(){return this._keybindingWeight},enumerable:!0,configurable:!0})}(),Or(\"editorService\"));!function(e){e[e.ONE=0]=\"ONE\",e[e.TWO=1]=\"TWO\",e[e.THREE=2]=\"THREE\"}(yu||(yu={}));var Ou,Pu,Bu,Ru,ju;yu.ONE,yu.TWO,yu.THREE;function zu(e){return!(!e||\"function\"!=typeof e.getEditorType)&&e.getEditorType()===_e.ICodeEditor}!function(e){e[e.LEFT=0]=\"LEFT\",e[e.RIGHT=1]=\"RIGHT\"}(Ou||(Ou={})),function(e){e[e.SHORT=0]=\"SHORT\",e[e.MEDIUM=1]=\"MEDIUM\",e[e.LONG=2]=\"LONG\"}(Pu||(Pu={})),function(e){e[e.EXACT=0]=\"EXACT\",e[e.ABOVE=1]=\"ABOVE\",e[e.BELOW=2]=\"BELOW\"}(Bu||(Bu={})),function(e){e[e.TOP_RIGHT_CORNER=0]=\"TOP_RIGHT_CORNER\",e[e.BOTTOM_RIGHT_CORNER=1]=\"BOTTOM_RIGHT_CORNER\",e[e.TOP_CENTER=2]=\"TOP_CENTER\"}(Ru||(Ru={})),function(e){e[e.UNKNOWN=0]=\"UNKNOWN\",e[e.TEXTAREA=1]=\"TEXTAREA\",e[e.GUTTER_GLYPH_MARGIN=2]=\"GUTTER_GLYPH_MARGIN\",e[e.GUTTER_LINE_NUMBERS=3]=\"GUTTER_LINE_NUMBERS\",e[e.GUTTER_LINE_DECORATIONS=4]=\"GUTTER_LINE_DECORATIONS\",e[e.GUTTER_VIEW_ZONE=5]=\"GUTTER_VIEW_ZONE\",e[e.CONTENT_TEXT=6]=\"CONTENT_TEXT\",e[e.CONTENT_EMPTY=7]=\"CONTENT_EMPTY\",e[e.CONTENT_VIEW_ZONE=8]=\"CONTENT_VIEW_ZONE\",e[e.CONTENT_WIDGET=9]=\"CONTENT_WIDGET\",e[e.OVERVIEW_RULER=10]=\"OVERVIEW_RULER\",e[e.SCROLLBAR=11]=\"SCROLLBAR\",e[e.OVERLAY_WIDGET=12]=\"OVERLAY_WIDGET\",e[e.OUTSIDE_EDITOR=13]=\"OUTSIDE_EDITOR\"}(ju||(ju={}));var Wu=Or(\"codeEditorService\");function Vu(e){if(e){var t=e.getControl();if(t){if(zu(t))return{codeEditor:t,diffEditor:null};if((n=t)&&\"function\"==typeof n.getEditorType&&n.getEditorType()===_e.IDiffEditor)return{codeEditor:null,diffEditor:t}}}var n;return{codeEditor:null,diffEditor:null}}function Hu(e){var t=Vu(e);return t.codeEditor||t.diffEditor&&t.diffEditor.getModifiedEditor()||null}var Uu=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Yu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Zu=function(){function e(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._description=e.description}return e.prototype.toCommandAndKeybindingRule=function(e){var t=this,n=this._kbOpts||{primary:0},r=n.kbExpr;this.precondition&&(r=r?mu.and(r,this.precondition):this.precondition);var i=\"number\"==typeof n.weight?n.weight:e;return{id:this.id,handler:function(e,n){return t.runCommand(e,n)},weight:i,when:r,primary:n.primary,secondary:n.secondary,win:n.win,linux:n.linux,mac:n.mac,description:this._description}},e}();var Gu,Ku=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Uu(t,e),t.bindToContribution=function(e){return function(t){function n(e){var n=t.call(this,e)||this;return n._callback=e.handler,n}return Uu(n,t),n.prototype.runEditorCommand=function(t,n,r){e(n)&&this._callback(e(n))},n}(t)},t.prototype.runCommand=function(e,t){var n=this,r=e.get(Wu).getFocusedCodeEditor();if(r||(r=function(e){var t=e.get(Fu);return Hu(t.getActiveEditor&&t.getActiveEditor())}(e)),r)return r.invokeWithinContext(function(e){if(e.get(Su).contextMatchesRules(n.precondition))return n.runEditorCommand(e,r,t)})},t}(Zu),qu=function(e){function t(t){var n=e.call(this,t)||this;return n.label=t.label,n.alias=t.alias,n.menuOpts=t.menuOpts,n}return Uu(t,e),t.prototype.toMenuItem=function(){return this.menuOpts?{command:{id:this.id,title:this.label},when:mu.and(this.precondition,this.menuOpts.when),group:this.menuOpts.group,order:this.menuOpts.order}:null},t.prototype.runEditorCommand=function(e,t,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})},t.prototype.reportTelemetry=function(e,t){e.get(cu).publicLog(\"editorActionInvoked\",Yu({name:this.label,id:this.id},t.getTelemetryData()))},t}(Ku);function Qu(e,t){Ga.registerCommand(e,function(e,n){return t(e,n||{})})}function Xu(e,t){Qu(e,function(e,n){var r=n.resource,i=n.position;if(!(r instanceof Be))throw yn(\"resource\");if(!ye.isIPosition(i))throw yn(\"position\");var o=e.get(Br).getModel(r);if(!o)throw yn(\"Can not find open model for \"+r);var s=ye.lift(i);return t(o,s,n)})}function Ju(e){return tl.INSTANCE.registerEditorCommand(e),e}function $u(e){tl.INSTANCE.registerEditorAction(new e)}function el(e){tl.INSTANCE.registerEditorContribution(e)}!function(e){e.getEditorCommand=function(e){return tl.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return tl.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return tl.INSTANCE.getEditorContributions()}}(Gu||(Gu={}));var tl=function(){function e(){this.editorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}return e.prototype.registerEditorContribution=function(e){this.editorContributions.push(e)},e.prototype.registerEditorAction=function(e){var t=e.toMenuItem();t&&ku.appendMenuItem(Iu.EditorContext,t),au.registerCommandAndKeybindingRule(e.toCommandAndKeybindingRule(au.WEIGHT.editorContrib())),this.editorActions.push(e)},e.prototype.getEditorContributions=function(){return this.editorContributions.slice(0)},e.prototype.getEditorActions=function(){return this.editorActions.slice(0)},e.prototype.registerEditorCommand=function(e){au.registerCommandAndKeybindingRule(e.toCommandAndKeybindingRule(au.WEIGHT.editorContrib())),this.editorCommands[e.id]=e},e.prototype.getEditorCommand=function(e){return this.editorCommands[e]||null},e.INSTANCE=new e,e}();su.add(\"editor.contributions\",tl.INSTANCE);var nl,rl,il=function(){function e(){}return e._columnSelect=function(e,t,n,r,i,o){for(var s=Math.abs(i-n)+1,a=n>i,u=r>o,l=r<o,c=[],h=0;h<s;h++){var d=n+(a?-h:h),p=ja.columnFromVisibleColumn2(e,t,d,r),f=ja.columnFromVisibleColumn2(e,t,d,o),g=ja.visibleColumnFromColumn2(e,t,new ye(d,p)),m=ja.visibleColumnFromColumn2(e,t,new ye(d,f));if(l){if(g>o)continue;if(m<r)continue}if(u){if(m>r)continue;if(g<o)continue}c.push(new Oa(new be(d,p,d,p),0,new ye(d,f),0))}return{viewStates:c,reversed:a,toLineNumber:i,toVisualColumn:o}},e.columnSelect=function(t,n,r,i,o){var s=new ye(r.selectionStartLineNumber,r.selectionStartColumn),a=ja.visibleColumnFromColumn2(t,n,s);return e._columnSelect(t,n,s.lineNumber,a,i,o)},e.columnSelectLeft=function(e,t,n,r,i){return i>1&&i--,this.columnSelect(e,t,n.selection,r,i)},e.columnSelectRight=function(e,t,n,r,i){for(var o=0,s=Math.min(n.position.lineNumber,r),a=Math.max(n.position.lineNumber,r),u=s;u<=a;u++){var l=t.getLineMaxColumn(u),c=ja.visibleColumnFromColumn2(e,t,new ye(u,l));o=Math.max(o,c)}return i<o&&i++,this.columnSelect(e,t,n.selection,r,i)},e.columnSelectUp=function(e,t,n,r,i,o){return(i-=r?e.pageSize:1)<1&&(i=1),this.columnSelect(e,t,n.selection,i,o)},e.columnSelectDown=function(e,t,n,r,i,o){return(i+=r?e.pageSize:1)>t.getLineCount()&&(i=t.getLineCount()),this.columnSelect(e,t,n.selection,i,o)},e}();(rl=nl||(nl={})).editorTextFocus=new Au(\"editorTextFocus\",!1),rl.focus=new Au(\"editorFocus\",!1),rl.textInputFocus=new Au(\"textInputFocus\",!1),rl.readOnly=new Au(\"editorReadonly\",!1),rl.writable=rl.readOnly.toNegated(),rl.hasNonEmptySelection=new Au(\"editorHasSelection\",!1),rl.hasOnlyEmptySelection=rl.hasNonEmptySelection.toNegated(),rl.hasMultipleSelections=new Au(\"editorHasMultipleSelections\",!1),rl.hasSingleSelection=rl.hasMultipleSelections.toNegated(),rl.tabMovesFocus=new Au(\"editorTabMovesFocus\",!1),rl.tabDoesNotMoveFocus=rl.tabMovesFocus.toNegated(),rl.isInEmbeddedEditor=new Au(\"isInEmbeddedEditor\",void 0),rl.languageId=new Au(\"editorLangId\",void 0),rl.hasCompletionItemProvider=new Au(\"editorHasCompletionItemProvider\",void 0),rl.hasCodeActionsProvider=new Au(\"editorHasCodeActionsProvider\",void 0),rl.hasCodeLensProvider=new Au(\"editorHasCodeLensProvider\",void 0),rl.hasDefinitionProvider=new Au(\"editorHasDefinitionProvider\",void 0),rl.hasImplementationProvider=new Au(\"editorHasImplementationProvider\",void 0),rl.hasTypeDefinitionProvider=new Au(\"editorHasTypeDefinitionProvider\",void 0),rl.hasHoverProvider=new Au(\"editorHasHoverProvider\",void 0),rl.hasDocumentHighlightProvider=new Au(\"editorHasDocumentHighlightProvider\",void 0),rl.hasDocumentSymbolProvider=new Au(\"editorHasDocumentSymbolProvider\",void 0),rl.hasReferenceProvider=new Au(\"editorHasReferenceProvider\",void 0),rl.hasRenameProvider=new Au(\"editorHasRenameProvider\",void 0),rl.hasDocumentFormattingProvider=new Au(\"editorHasDocumentFormattingProvider\",void 0),rl.hasDocumentSelectionFormattingProvider=new Au(\"editorHasDocumentSelectionFormattingProvider\",void 0),rl.hasSignatureHelpProvider=new Au(\"editorHasSignatureHelpProvider\",void 0);var ol,sl,al,ul,ll,cl,hl=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new Ii(n.endLineNumber,n.endColumn,n.endLineNumber,n.endColumn)},e}(),dl=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new Ii(n.startLineNumber,n.startColumn,n.startLineNumber,n.startColumn)},e}(),pl=function(){function e(e,t,n,r,i){void 0===i&&(i=!1),this._range=e,this._text=t,this._columnDeltaOffset=r,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=i}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new Ii(n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset,n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset)},e}(),fl=function(){function e(e,t,n){this._range=e,this._text=t,this._initialSelection=n}return e.prototype.getEditOperations=function(e,t){t.addEditOperation(this._range,this._text),this._selectionId=t.trackSelection(this._initialSelection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._selectionId)},e}(),gl=function(){function e(e,t){this._opts=t,this._selection=e,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}return e.unshiftIndentCount=function(e,t,n){var r=ja.visibleColumnFromColumn(e,t,n);return ja.prevTabStop(r,n)/n},e.shiftIndentCount=function(e,t,n){var r=ja.visibleColumnFromColumn(e,t,n);return ja.nextTabStop(r,n)/n},e.prototype._addEditOperation=function(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)},e.prototype.getEditOperations=function(t,n){var r=this._selection.startLineNumber,i=this._selection.endLineNumber;1===this._selection.endColumn&&r!==i&&(i-=1);var o=this._opts.tabSize,s=this._opts.oneIndent,a=r===i;if(this._selection.isEmpty()&&/^\\s*$/.test(t.getLineContent(r))&&(this._useLastEditRangeForCursorEndPosition=!0),this._opts.useTabStops)for(var u=[\"\",s],l=0,c=0,h=r;h<=i;h++,l=c){c=0;var d=bt(v=t.getLineContent(h));if((!this._opts.isUnshift||0!==v.length&&0!==d)&&(a||this._opts.isUnshift||0!==v.length)){if(-1===d&&(d=v.length),h>1)if(ja.visibleColumnFromColumn(v,d+1,o)%o!=0&&t.isCheapToTokenize(h-1)){var p=Zo.getRawEnterActionAtPosition(t,h-1,t.getLineMaxColumn(h-1));if(p){if(c=l,p.appendText)for(var f=0,g=p.appendText.length;f<g&&c<o&&32===p.appendText.charCodeAt(f);f++)c++;p.removeText&&(c=Math.max(0,c-p.removeText));for(f=0;f<c&&(0!==d&&32===v.charCodeAt(d-1));f++)d--}}if(!this._opts.isUnshift||0!==d){var m=void 0;m=this._opts.isUnshift?e.unshiftIndentCount(v,d+1,o):e.shiftIndentCount(v,d+1,o);for(f=u.length;f<=m;f++)u[f]=u[f-1]+s;this._addEditOperation(n,new be(h,1,h,d+1),u[m]),h===r&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=d+1)}}}else for(h=r;h<=i;h++){var v;d=bt(v=t.getLineContent(h));if((!this._opts.isUnshift||0!==v.length&&0!==d)&&((a||this._opts.isUnshift||0!==v.length)&&(-1===d&&(d=v.length),!this._opts.isUnshift||0!==d)))if(this._opts.isUnshift){d=Math.min(d,o);for(var y=0;y<d;y++){if(9===v.charCodeAt(y)){d=y+1;break}}this._addEditOperation(n,new be(h,1,h,d+1),\"\")}else this._addEditOperation(n,new be(h,1,h,1),s),h===r&&(this._selectionStartColumnStaysPut=1===this._selection.startColumn)}this._selectionId=n.trackSelection(this._selection)},e.prototype.computeCursorState=function(e,t){if(this._useLastEditRangeForCursorEndPosition){var n=t.getInverseEditOperations()[0];return new Ii(n.range.endLineNumber,n.range.endColumn,n.range.endLineNumber,n.range.endColumn)}var r=t.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){var i=this._selection.startColumn;return r.startColumn<=i?r:r.getDirection()===ui.LTR?new Ii(r.startLineNumber,i,r.endLineNumber,r.endColumn):new Ii(r.endLineNumber,r.endColumn,r.startLineNumber,i)}return r},e}(),ml=function(){function e(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(new be(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new be(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations(),r=n[0].range,i=n[1].range;return new Ii(r.endLineNumber,r.endColumn,i.endLineNumber,i.endColumn-this._charAfterSelection.length)},e}(),vl=function(){function e(){}return e.indent=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++)r[i]=new gl(n[i],{isUnshift:!1,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops});return r},e.outdent=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++)r[i]=new gl(n[i],{isUnshift:!0,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops});return r},e.shiftIndent=function(e,t,n){n=n||1;for(var r=gl.shiftIndentCount(t,t.length+n,e.tabSize),i=\"\",o=0;o<r;o++)i+=\"\\t\";return i},e.unshiftIndent=function(e,t,n){n=n||1;for(var r=gl.unshiftIndentCount(t,t.length+n,e.tabSize),i=\"\",o=0;o<r;o++)i+=\"\\t\";return i},e._distributedPaste=function(e,t,n,r){for(var i=[],o=0,s=n.length;o<s;o++)i[o]=new hl(n[o],r[o]);return new Ra(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._simplePaste=function(e,t,n,r,i){for(var o=[],s=0,a=n.length;s<a;s++){var u=n[s],l=u.getPosition();if(i&&r.indexOf(\"\\n\")!==r.length-1&&(i=!1),i&&u.startLineNumber!==u.endLineNumber&&(i=!1),i&&u.startColumn===t.getLineMinColumn(u.startLineNumber)&&u.endColumn===t.getLineMaxColumn(u.startLineNumber)&&(i=!1),i){var c=new be(l.lineNumber,1,l.lineNumber,1);o[s]=new hl(c,r)}else o[s]=new hl(u,r)}return new Ra(0,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._distributePasteToCursors=function(e,t,n,r){if(n)return null;if(1===e.length)return null;if(r&&r.length===e.length)return r;10===t.charCodeAt(t.length-1)&&(t=t.substr(0,t.length-1));var i=t.split(/\\r\\n|\\r|\\n/);return i.length===e.length?i:null},e.paste=function(e,t,n,r,i,o){var s=this._distributePasteToCursors(n,r,i,o);return s?(n=n.sort(be.compareRangesUsingStarts),this._distributedPaste(e,t,n,s)):this._simplePaste(e,t,n,r,i)},e._goodIndentForLine=function(t,n,r){var i,o,s=t.autoIndent?Zo.getInheritIndentForLine(n,r,!1):null;if(s)i=s.action,o=s.indentation;else if(r>1){var a=r-1;for(a=r-1;a>=1;a--){if(Ct(n.getLineContent(a))>=0)break}if(a<1)return null;var u=n.getLineMaxColumn(a),l=Zo.getEnterAction(n,new be(a,u,a,u));l&&(o=l.indentation,(i=l.enterAction)&&(o+=i.appendText))}return i&&(i===To.Indent&&(o=e.shiftIndent(t,o)),i===To.Outdent&&(o=e.unshiftIndent(t,o)),o=t.normalizeIndentation(o)),o||null},e._replaceJumpToNextIndent=function(e,t,n,r){var i=\"\",o=n.getStartPosition();if(e.insertSpaces)for(var s=ja.visibleColumnFromColumn2(e,t,o),a=e.tabSize,u=a-s%a,l=0;l<u;l++)i+=\" \";else i=\"\\t\";return new hl(n,i,r)},e.tab=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++){var s=n[i];if(s.isEmpty()){var a=t.getLineContent(s.startLineNumber);if(/^\\s*$/.test(a)&&t.isCheapToTokenize(s.startLineNumber)){var u=this._goodIndentForLine(e,t,s.startLineNumber);u=u||\"\\t\";var l=e.normalizeIndentation(u);if(!at(a,l)){r[i]=new hl(new be(s.startLineNumber,1,s.startLineNumber,a.length+1),l,!0);continue}}r[i]=this._replaceJumpToNextIndent(e,t,s,!0)}else{if(s.startLineNumber===s.endLineNumber){var c=t.getLineMaxColumn(s.startLineNumber);if(1!==s.startColumn||s.endColumn!==c){r[i]=this._replaceJumpToNextIndent(e,t,s,!1);continue}}r[i]=new gl(s,{isUnshift:!1,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops})}}return r},e.replacePreviousChar=function(e,t,n,r,i,o){for(var s=[],a=0,u=r.length;a<u;a++){var l=r[a];if(l.isEmpty()){var c=l.getPosition(),h=Math.max(1,c.column-o),d=new be(c.lineNumber,h,c.lineNumber,c.column);s[a]=new hl(d,i)}else s[a]=null}return new Ra(1,s,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e._typeCommand=function(e,t,n){return n?new dl(e,t,!0):new hl(e,t,!0)},e._enter=function(t,n,r,i){if(!n.isCheapToTokenize(i.getStartPosition().lineNumber)){var o=_t(n.getLineContent(i.startLineNumber)).substring(0,i.startColumn-1);return e._typeCommand(i,\"\\n\"+t.normalizeIndentation(o),r)}var s=Zo.getEnterAction(n,i);if(s){var a=s.enterAction,u=s.indentation;if(a.indentAction===To.None)return e._typeCommand(i,\"\\n\"+t.normalizeIndentation(u+a.appendText),r);if(a.indentAction===To.Indent)return e._typeCommand(i,\"\\n\"+t.normalizeIndentation(u+a.appendText),r);if(a.indentAction===To.IndentOutdent){var l=t.normalizeIndentation(u),c=t.normalizeIndentation(u+a.appendText),h=\"\\n\"+c+\"\\n\"+l;return r?new dl(i,h,!0):new pl(i,h,-1,c.length-l.length,!0)}if(a.indentAction===To.Outdent){var d=e.unshiftIndent(t,u);return e._typeCommand(i,\"\\n\"+t.normalizeIndentation(d+a.appendText),r)}}if(!t.autoIndent){var p=_t(n.getLineContent(i.startLineNumber)).substring(0,i.startColumn-1);return e._typeCommand(i,\"\\n\"+t.normalizeIndentation(p),r)}var f=Zo.getIndentForEnter(n,i,{unshiftIndent:function(n){return e.unshiftIndent(t,n)},shiftIndent:function(n){return e.shiftIndent(t,n)},normalizeIndentation:function(e){return t.normalizeIndentation(e)}},t.autoIndent),g=n.getLineContent(i.startLineNumber),m=_t(g).substring(0,i.startColumn-1);if(f){var v=ja.visibleColumnFromColumn2(t,n,i.getEndPosition()),y=i.endColumn,b=\"\\n\";m!==t.normalizeIndentation(f.beforeEnter)&&(b=t.normalizeIndentation(f.beforeEnter)+g.substring(m.length,i.startColumn-1)+\"\\n\",i=new be(i.startLineNumber,1,i.endLineNumber,i.endColumn));var _=bt(n.getLineContent(i.endLineNumber));if(i=_>=0?i.setEndPosition(i.endLineNumber,Math.max(i.endColumn,_+1)):i.setEndPosition(i.endLineNumber,n.getLineMaxColumn(i.endLineNumber)),r)return new dl(i,b+t.normalizeIndentation(f.afterEnter),!0);var C=0;return y<=_+1&&(t.insertSpaces||(v=Math.ceil(v/t.tabSize)),C=Math.min(v+1-t.normalizeIndentation(f.afterEnter).length-1,0)),new pl(i,b+t.normalizeIndentation(f.afterEnter),0,C,!0)}return e._typeCommand(i,\"\\n\"+t.normalizeIndentation(m),r)},e._isAutoIndentType=function(e,t,n){if(!e.autoIndent)return!1;for(var r=0,i=n.length;r<i;r++)if(!t.isCheapToTokenize(n[r].getEndPosition().lineNumber))return!1;return!0},e._runAutoIndentType=function(t,n,r,i){var o=Zo.getIndentationAtPosition(n,r.startLineNumber,r.startColumn),s=Zo.getIndentActionForType(n,r,i,{shiftIndent:function(n){return e.shiftIndent(t,n)},unshiftIndent:function(n){return e.unshiftIndent(t,n)}});if(null===s)return null;if(s!==t.normalizeIndentation(o)){var a=n.getLineFirstNonWhitespaceColumn(r.startLineNumber);return 0===a?e._typeCommand(new be(r.startLineNumber,0,r.endLineNumber,r.endColumn),t.normalizeIndentation(s)+i,!1):e._typeCommand(new be(r.startLineNumber,0,r.endLineNumber,r.endColumn),t.normalizeIndentation(s)+n.getLineContent(r.startLineNumber).substring(a-1,r.startColumn-1)+i,!1)}return null},e._isAutoClosingCloseCharType=function(e,t,n,r){if(!e.autoClosingBrackets||!e.autoClosingPairsClose.hasOwnProperty(r))return!1;for(var i=r===e.autoClosingPairsClose[r],o=0,s=n.length;o<s;o++){var a=n[o];if(!a.isEmpty())return!1;var u=a.getPosition(),l=t.getLineContent(u.lineNumber);if(l.charAt(u.column-1)!==r)return!1;if(i){var c=l.substr(0,u.column-1);if(this._countNeedlesInHaystack(c,r)%2==0)return!1}}return!0},e._countNeedlesInHaystack=function(e,t){for(var n=0,r=-1;-1!==(r=e.indexOf(t,r+1));)n++;return n},e._runAutoClosingCloseCharType=function(e,t,n,r,i){for(var o=[],s=0,a=r.length;s<a;s++){var u=r[s].getPosition(),l=new be(u.lineNumber,u.column,u.lineNumber,u.column+1);o[s]=new hl(l,i)}return new Ra(1,o,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e._isAutoClosingOpenCharType=function(e,t,n,r){if(!e.autoClosingBrackets||!e.autoClosingPairsOpen.hasOwnProperty(r))return!1;for(var i=0,o=n.length;i<o;i++){var s=n[i];if(!s.isEmpty())return!1;var a=s.getPosition(),u=t.getLineContent(a.lineNumber);if((\"'\"===r||'\"'===r)&&a.column>1){var l=Vs(e.wordSeparators),c=u.charCodeAt(a.column-2);if(0===l.get(c))return!1}var h=u.charAt(a.column-1);if(h){var d=e.autoClosingPairsOpen[r]===r,p=!1;for(var f in e.autoClosingPairsClose){var g=e.autoClosingPairsOpen[f]===f;if((d||!g)&&h===f){p=!0;break}}if(!p&&!/\\s/.test(h))return!1}if(!t.isCheapToTokenize(a.lineNumber))return!1;t.forceTokenization(a.lineNumber);var m=t.getLineTokens(a.lineNumber),v=!1;try{v=Zo.shouldAutoClosePair(r,m,a.column)}catch(e){pn(e)}if(!v)return!1}return!0},e._runAutoClosingOpenCharType=function(e,t,n,r,i){for(var o=[],s=0,a=r.length;s<a;s++){var u=r[s],l=t.autoClosingPairsOpen[i];o[s]=new pl(u,i+l,0,-l.length)}return new Ra(1,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})},e._isSurroundSelectionType=function(e,t,n,r){if(!e.autoClosingBrackets||!e.surroundingPairs.hasOwnProperty(r))return!1;for(var i=0,o=n.length;i<o;i++){var s=n[i];if(s.isEmpty())return!1;for(var a=!0,u=s.startLineNumber;u<=s.endLineNumber;u++){var l=t.getLineContent(u),c=u===s.startLineNumber?s.startColumn-1:0,h=u===s.endLineNumber?s.endColumn-1:l.length,d=l.substring(c,h);if(/[^ \\t]/.test(d)){a=!1;break}}if(a)return!1}return!0},e._runSurroundSelectionType=function(e,t,n,r,i){for(var o=[],s=0,a=r.length;s<a;s++){var u=r[s],l=t.surroundingPairs[i];o[s]=new ml(u,i,l)}return new Ra(0,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._isTypeInterceptorElectricChar=function(e,t,n){return!(1!==n.length||!t.isCheapToTokenize(n[0].getEndPosition().lineNumber))},e._typeInterceptorElectricChar=function(e,t,n,r,i){if(!t.electricChars.hasOwnProperty(i)||!r.isEmpty())return null;var o=r.getPosition();n.forceTokenization(o.lineNumber);var s,a=n.getLineTokens(o.lineNumber);try{s=Zo.onElectricCharacter(i,a,o.column)}catch(e){pn(e)}if(!s)return null;if(s.appendText){var u=new pl(r,i+s.appendText,0,-s.appendText.length);return new Ra(1,[u],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}if(s.matchOpenBracket){var l=(a.getLineContent()+i).lastIndexOf(s.matchOpenBracket)+1,c=n.findMatchingBracketUp(s.matchOpenBracket,{lineNumber:o.lineNumber,column:l});if(c){if(c.startLineNumber===o.lineNumber)return null;var h=_t(n.getLineContent(c.startLineNumber)),d=t.normalizeIndentation(h),p=n.getLineContent(o.lineNumber),f=n.getLineFirstNonWhitespaceColumn(o.lineNumber)||o.column,g=d+p.substring(f-1,o.column-1)+i,m=new be(o.lineNumber,1,o.lineNumber,o.column);u=new hl(m,g);return new Ra(1,[u],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null},e.typeWithInterceptors=function(t,n,r,i,o){if(\"\\n\"===o){for(var s=[],a=0,u=i.length;a<u;a++)s[a]=e._enter(n,r,!1,i[a]);return new Ra(1,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoIndentType(n,r,i)){var l=[],c=!1;for(a=0,u=i.length;a<u;a++)if(l[a]=this._runAutoIndentType(n,r,i[a],o),!l[a]){c=!0;break}if(!c)return new Ra(1,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingCloseCharType(n,r,i,o))return this._runAutoClosingCloseCharType(t,n,r,i,o);if(this._isAutoClosingOpenCharType(n,r,i,o))return this._runAutoClosingOpenCharType(t,n,r,i,o);if(this._isSurroundSelectionType(n,r,i,o))return this._runSurroundSelectionType(t,n,r,i,o);if(this._isTypeInterceptorElectricChar(n,r,i)){var h=this._typeInterceptorElectricChar(t,n,r,i[0],o);if(h)return h}var d=[];for(a=0,u=i.length;a<u;a++)d[a]=new hl(i[a],o);var p=1!==t;return\" \"===o&&(p=!0),new Ra(1,d,{shouldPushStackElementBefore:p,shouldPushStackElementAfter:!1})},e.typeWithoutInterceptors=function(e,t,n,r,i){for(var o=[],s=0,a=r.length;s<a;s++)o[s]=new hl(r[s],i);return new Ra(1,o,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e.lineInsertBefore=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++){var s=n[i].positionLineNumber;if(1===s)r[i]=new dl(new be(1,1,1,1),\"\\n\");else{s--;var a=t.getLineMaxColumn(s);r[i]=this._enter(e,t,!1,new be(s,a,s,a))}}return r},e.lineInsertAfter=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++){var s=n[i].positionLineNumber,a=t.getLineMaxColumn(s);r[i]=this._enter(e,t,!1,new be(s,a,s,a))}return r},e.lineBreakInsert=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++)r[i]=this._enter(e,t,!0,n[i]);return r},e}(),yl=function(){function e(){}return e.deleteRight=function(e,t,n,r){for(var i=[],o=3!==e,s=0,a=r.length;s<a;s++){var u=r[s],l=u;if(l.isEmpty()){var c=u.getPosition(),h=Va.right(t,n,c.lineNumber,c.column);l=new be(h.lineNumber,h.column,c.lineNumber,c.column)}l.isEmpty()?i[s]=null:(l.startLineNumber!==l.endLineNumber&&(o=!0),i[s]=new hl(l,\"\"))}return[o,i]},e._isAutoClosingPairDelete=function(e,t,n){if(!e.autoClosingBrackets)return!1;for(var r=0,i=n.length;r<i;r++){var o=n[r],s=o.getPosition();if(!o.isEmpty())return!1;var a=t.getLineContent(s.lineNumber),u=a[s.column-2];if(!e.autoClosingPairsOpen.hasOwnProperty(u))return!1;if(a[s.column-1]!==e.autoClosingPairsOpen[u])return!1}return!0},e._runAutoClosingPairDelete=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++){var s=n[i].getPosition(),a=new be(s.lineNumber,s.column-1,s.lineNumber,s.column+1);r[i]=new hl(a,\"\")}return[!0,r]},e.deleteLeft=function(e,t,n,r){if(this._isAutoClosingPairDelete(t,n,r))return this._runAutoClosingPairDelete(t,n,r);for(var i=[],o=2!==e,s=0,a=r.length;s<a;s++){var u=r[s],l=u;if(l.isEmpty()){var c=u.getPosition();if(t.useTabStops&&c.column>1){var h=n.getLineContent(c.lineNumber),d=bt(h),p=-1===d?h.length+1:d+1;if(c.column<=p){var f=ja.visibleColumnFromColumn2(t,n,c),g=ja.prevTabStop(f,t.tabSize),m=ja.columnFromVisibleColumn2(t,n,c.lineNumber,g);l=new be(c.lineNumber,m,c.lineNumber,c.column)}else l=new be(c.lineNumber,c.column-1,c.lineNumber,c.column)}else{var v=Va.left(t,n,c.lineNumber,c.column);l=new be(v.lineNumber,v.column,c.lineNumber,c.column)}}l.isEmpty()?i[s]=null:(l.startLineNumber!==l.endLineNumber&&(o=!0),i[s]=new hl(l,\"\"))}return[o,i]},e.cut=function(e,t,n){for(var r=[],i=0,o=n.length;i<o;i++){var s=n[i];if(s.isEmpty())if(e.emptySelectionClipboard){var a=s.getPosition(),u=void 0,l=void 0,c=void 0,h=void 0;a.lineNumber<t.getLineCount()?(u=a.lineNumber,l=1,c=a.lineNumber+1,h=1):a.lineNumber>1?(u=a.lineNumber-1,l=t.getLineMaxColumn(a.lineNumber-1),c=a.lineNumber,h=t.getLineMaxColumn(a.lineNumber)):(u=a.lineNumber,l=1,c=a.lineNumber,h=t.getLineMaxColumn(a.lineNumber));var d=new be(u,l,c,h);d.isEmpty()?r[i]=null:r[i]=new hl(d,\"\")}else r[i]=null;else r[i]=new hl(s,\"\")}return new Ra(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}(),bl=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),_l=Ce,Cl=au.WEIGHT.editorCore(),wl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return bl(t,e),t.prototype.runEditorCommand=function(e,t,n){var r=t._getCursors();r&&this.runCoreEditorCommand(r,n||{})},t}(Ku);function Dl(e){return e.get(Wu).getFocusedCodeEditor()}function El(e){au.registerCommandAndKeybindingRule(e.toCommandAndKeybindingRule(Cl))}!function(e){e.description={description:\"Scroll editor in the given direction\",args:[{name:\"Editor scroll argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* 'to': A mandatory direction value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'up', 'down'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* 'by': Unit to move. Default is computed based on 'to' value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'line', 'wrappedLine', 'page', 'halfPage'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* 'value': Number of units to move. Default is '1'.\\n\\t\\t\\t\\t\\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\\n\\t\\t\\t\\t\",constraint:function(e){if(!Ur(e))return!1;var t=e;return!(!Hr(t.to)||!Gr(t.by)&&!Hr(t.by)||!Gr(t.value)&&!Yr(t.value)||!Gr(t.revealCursor)&&!Zr(t.revealCursor))}}]},e.RawDirection={Up:\"up\",Down:\"down\"},e.RawUnit={Line:\"line\",WrappedLine:\"wrappedLine\",Page:\"page\",HalfPage:\"halfPage\"},e.parse=function(t){var n,r;switch(t.to){case e.RawDirection.Up:n=1;break;case e.RawDirection.Down:n=2;break;default:return null}switch(t.by){case e.RawUnit.Line:r=1;break;case e.RawUnit.WrappedLine:r=2;break;case e.RawUnit.Page:r=3;break;case e.RawUnit.HalfPage:r=4;break;default:r=2}return{direction:n,unit:r,value:Math.floor(t.value||1),revealCursor:!!t.revealCursor,select:!!t.select}}}(ol||(ol={})),(al=sl||(sl={})).description={description:\"Reveal the given line at the given logical position\",args:[{name:\"Reveal line argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* 'lineNumber': A mandatory line number value.\\n\\t\\t\\t\\t\\t* 'at': Logical position at which line has to be revealed .\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'top', 'center', 'bottom'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\",constraint:function(e){if(!Ur(e))return!1;var t=e;return!(!Yr(t.lineNumber)||!Gr(t.at)&&!Hr(t.at))}}]},al.RawAtArgument={Top:\"top\",Center:\"center\",Bottom:\"bottom\"},function(e){var t=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[Ua.moveTo(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!0,0,0)},t}(wl);e.MoveTo=Ju(new t({id:\"_moveTo\",inSelectionMode:!1,precondition:null})),e.MoveToSelect=Ju(new t({id:\"_moveToSelect\",inSelectionMode:!0,precondition:null}));var n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement();var n=this._getColumnSelectResult(e.context,e.getPrimaryCursor(),e.getColumnSelectData(),t);e.setStates(t.source,La.Explicit,n.viewStates.map(function(e){return Ba.fromViewState(e)})),e.setColumnSelectData({toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),e.reveal(!0,n.reversed?1:2,0)},t}(wl);e.ColumnSelect=Ju(new(function(e){function t(){return e.call(this,{id:\"columnSelect\",precondition:null})||this}return bl(t,e),t.prototype._getColumnSelectResult=function(e,t,n,r){var i,o=e.model.validatePosition(r.position);return i=r.viewPosition?e.validateViewPosition(new ye(r.viewPosition.lineNumber,r.viewPosition.column),o):e.convertModelPositionToViewPosition(o),il.columnSelect(e.config,e.viewModel,t.viewState.selection,i.lineNumber,r.mouseColumn-1)},t}(n))),e.CursorColumnSelectLeft=Ju(new(function(e){function t(){return e.call(this,{id:\"cursorColumnSelectLeft\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3599,linux:{primary:0}}})||this}return bl(t,e),t.prototype._getColumnSelectResult=function(e,t,n,r){return il.columnSelectLeft(e.config,e.viewModel,t.viewState,n.toViewLineNumber,n.toViewVisualColumn)},t}(n))),e.CursorColumnSelectRight=Ju(new(function(e){function t(){return e.call(this,{id:\"cursorColumnSelectRight\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3601,linux:{primary:0}}})||this}return bl(t,e),t.prototype._getColumnSelectResult=function(e,t,n,r){return il.columnSelectRight(e.config,e.viewModel,t.viewState,n.toViewLineNumber,n.toViewVisualColumn)},t}(n)));var r=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaged=t.isPaged,n}return bl(t,e),t.prototype._getColumnSelectResult=function(e,t,n,r){return il.columnSelectUp(e.config,e.viewModel,t.viewState,this._isPaged,n.toViewLineNumber,n.toViewVisualColumn)},t}(n);e.CursorColumnSelectUp=Ju(new r({isPaged:!1,id:\"cursorColumnSelectUp\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=Ju(new r({isPaged:!0,id:\"cursorColumnSelectPageUp\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3595,linux:{primary:0}}}));var i=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaged=t.isPaged,n}return bl(t,e),t.prototype._getColumnSelectResult=function(e,t,n,r){return il.columnSelectDown(e.config,e.viewModel,t.viewState,this._isPaged,n.toViewLineNumber,n.toViewVisualColumn)},t}(n);e.CursorColumnSelectDown=Ju(new i({isPaged:!1,id:\"cursorColumnSelectDown\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=Ju(new i({isPaged:!0,id:\"cursorColumnSelectPageDown\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3596,linux:{primary:0}}}));var o=function(e){function t(){return e.call(this,{id:\"cursorMove\",precondition:null,description:za.description})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=za.parse(t);n&&this._runCursorMove(e,t.source,n)},t.prototype._runCursorMove=function(e,t,n){e.context.model.pushStackElement(),e.setStates(t,La.Explicit,Ua.move(e.context,e.getAll(),n)),e.reveal(!0,0,0)},t}(wl);e.CursorMoveImpl=o,e.CursorMove=Ju(new o);var s=function(t){function n(e){var n=t.call(this,e)||this;return n._staticArgs=e.args,n}return bl(n,t),n.prototype.runCoreEditorCommand=function(t,n){var r=this._staticArgs;-1===this._staticArgs.value&&(r={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.context.config.pageSize}),e.CursorMove._runCursorMove(t,n.source,r)},n}(wl);e.CursorLeft=Ju(new s({args:{direction:0,unit:0,select:!1,value:1},id:\"cursorLeft\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=Ju(new s({args:{direction:0,unit:0,select:!0,value:1},id:\"cursorLeftSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1039}})),e.CursorRight=Ju(new s({args:{direction:1,unit:0,select:!1,value:1},id:\"cursorRight\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=Ju(new s({args:{direction:1,unit:0,select:!0,value:1},id:\"cursorRightSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1041}})),e.CursorUp=Ju(new s({args:{direction:2,unit:2,select:!1,value:1},id:\"cursorUp\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=Ju(new s({args:{direction:2,unit:2,select:!0,value:1},id:\"cursorUpSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=Ju(new s({args:{direction:2,unit:2,select:!1,value:-1},id:\"cursorPageUp\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:11}})),e.CursorPageUpSelect=Ju(new s({args:{direction:2,unit:2,select:!0,value:-1},id:\"cursorPageUpSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1035}})),e.CursorDown=Ju(new s({args:{direction:3,unit:2,select:!1,value:1},id:\"cursorDown\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=Ju(new s({args:{direction:3,unit:2,select:!0,value:1},id:\"cursorDownSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=Ju(new s({args:{direction:3,unit:2,select:!1,value:-1},id:\"cursorPageDown\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:12}})),e.CursorPageDownSelect=Ju(new s({args:{direction:3,unit:2,select:!0,value:-1},id:\"cursorPageDownSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1036}})),e.CreateCursor=Ju(new(function(e){function t(){return e.call(this,{id:\"createCursor\",precondition:null})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=e.context;if(!n.config.readOnly){var r;r=t.wholeLine?Ua.line(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition):Ua.moveTo(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition);var i=e.getAll();if(i.length>1)for(var o=r.modelState?r.modelState.position:null,s=r.viewState?r.viewState.position:null,a=0,u=i.length;a<u;a++){var l=i[a];if((!o||l.modelState.selection.containsPosition(o))&&(!s||l.viewState.selection.containsPosition(s)))return i.splice(a,1),e.context.model.pushStackElement(),void e.setStates(t.source,La.Explicit,i)}i.push(r),e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,i)}},t}(wl))),e.LastCursorMoveToSelect=Ju(new(function(e){function t(){return e.call(this,{id:\"_lastCursorMoveToSelect\",precondition:null})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=e.context;if(!n.config.readOnly){var r=e.getLastAddedCursorIndex(),i=e.getAll().slice(0);i[r]=Ua.moveTo(n,i[r],!0,t.position,t.viewPosition),e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,i)}},t}(wl)));var a=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,Ua.moveToBeginningOfLine(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(wl);e.CursorHome=Ju(new a({inSelectionMode:!1,id:\"cursorHome\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),e.CursorHomeSelect=Ju(new a({inSelectionMode:!0,id:\"cursorHomeSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}})),e.CursorLineStart=Ju(new(function(e){function t(){return e.call(this,{id:\"cursorLineStart\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:0,mac:{primary:287}}})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,this._exec(e.context,e.getAll())),e.reveal(!0,0,0)},t.prototype._exec=function(e,t){for(var n=[],r=0,i=t.length;r<i;r++){var o=t[r],s=o.modelState.position.lineNumber;n[r]=Ba.fromModelState(o.modelState.move(!1,s,1,0))}return n},t}(wl)));var u=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,Ua.moveToEndOfLine(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(wl);e.CursorEnd=Ju(new u({inSelectionMode:!1,id:\"cursorEnd\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}}})),e.CursorEndSelect=Ju(new u({inSelectionMode:!0,id:\"cursorEndSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}}})),e.CursorLineEnd=Ju(new(function(e){function t(){return e.call(this,{id:\"cursorLineEnd\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:0,mac:{primary:291}}})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,this._exec(e.context,e.getAll())),e.reveal(!0,0,0)},t.prototype._exec=function(e,t){for(var n=[],r=0,i=t.length;r<i;r++){var o=t[r],s=o.modelState.position.lineNumber,a=e.model.getLineMaxColumn(s);n[r]=Ba.fromModelState(o.modelState.move(!1,s,a,0))}return n},t}(wl)));var l=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,Ua.moveToBeginningOfBuffer(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(wl);e.CursorTop=Ju(new l({inSelectionMode:!1,id:\"cursorTop\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2062,mac:{primary:2064}}})),e.CursorTopSelect=Ju(new l({inSelectionMode:!0,id:\"cursorTopSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3086,mac:{primary:3088}}}));var c=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,Ua.moveToEndOfBuffer(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(wl);e.CursorBottom=Ju(new c({inSelectionMode:!1,id:\"cursorBottom\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2061,mac:{primary:2066}}})),e.CursorBottomSelect=Ju(new c({inSelectionMode:!0,id:\"cursorBottomSelect\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:3085,mac:{primary:3090}}}));var h=function(e){function t(){return e.call(this,{id:\"editorScroll\",precondition:null,description:ol.description})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=ol.parse(t);n&&this._runEditorScroll(e,t.source,n)},t.prototype._runEditorScroll=function(e,t,n){var r=this._computeDesiredScrollTop(e.context,n);if(n.revealCursor){var i=e.context.getCompletelyVisibleViewRangeAtScrollTop(r);e.setStates(t,La.Explicit,[Ua.findPositionInViewportIfOutside(e.context,e.getPrimaryCursor(),i,n.select)])}e.scrollTo(r)},t.prototype._computeDesiredScrollTop=function(e,t){if(1===t.unit){var n=e.getCompletelyVisibleModelRange(),r=void 0;r=1===t.direction?Math.max(1,n.startLineNumber-t.value):Math.min(e.model.getLineCount(),n.startLineNumber+t.value);var i=e.convertModelPositionToViewPosition(new ye(r,1));return e.getVerticalOffsetForViewLine(i.lineNumber)}var o;o=3===t.unit?e.config.pageSize*t.value:4===t.unit?Math.round(e.config.pageSize/2)*t.value:t.value;var s=(1===t.direction?-1:1)*o;return e.getCurrentScrollTop()+s*e.config.lineHeight},t}(wl);e.EditorScrollImpl=h,e.EditorScroll=Ju(new h),e.ScrollLineUp=Ju(new(function(t){function n(){return t.call(this,{id:\"scrollLineUp\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2064,mac:{primary:267}}})||this}return bl(n,t),n.prototype.runCoreEditorCommand=function(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})},n}(wl))),e.ScrollPageUp=Ju(new(function(t){function n(){return t.call(this,{id:\"scrollPageUp\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})||this}return bl(n,t),n.prototype.runCoreEditorCommand=function(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})},n}(wl))),e.ScrollLineDown=Ju(new(function(t){function n(){return t.call(this,{id:\"scrollLineDown\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2066,mac:{primary:268}}})||this}return bl(n,t),n.prototype.runCoreEditorCommand=function(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})},n}(wl))),e.ScrollPageDown=Ju(new(function(t){function n(){return t.call(this,{id:\"scrollPageDown\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})||this}return bl(n,t),n.prototype.runCoreEditorCommand=function(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})},n}(wl)));var d=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[Ua.word(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position)]),e.reveal(!0,0,0)},t}(wl);e.WordSelect=Ju(new d({inSelectionMode:!1,id:\"_wordSelect\",precondition:null})),e.WordSelectDrag=Ju(new d({inSelectionMode:!0,id:\"_wordSelectDrag\",precondition:null})),e.LastCursorWordSelect=Ju(new(function(e){function t(){return e.call(this,{id:\"lastCursorWordSelect\",precondition:null})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=e.context;if(!n.config.readOnly){var r=e.getLastAddedCursorIndex(),i=e.getAll().slice(0),o=i[r];i[r]=Ua.word(n,o,o.modelState.hasSelection(),t.position),n.model.pushStackElement(),e.setStates(t.source,La.Explicit,i)}},t}(wl)));var p=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[Ua.line(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!1,0,0)},t}(wl);e.LineSelect=Ju(new p({inSelectionMode:!1,id:\"_lineSelect\",precondition:null})),e.LineSelectDrag=Ju(new p({inSelectionMode:!0,id:\"_lineSelectDrag\",precondition:null}));var f=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){if(!e.context.config.readOnly){var n=e.getLastAddedCursorIndex(),r=e.getAll().slice(0);r[n]=Ua.line(e.context,r[n],this._inSelectionMode,t.position,t.viewPosition),e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,r)}},t}(wl);e.LastCursorLineSelect=Ju(new f({inSelectionMode:!1,id:\"lastCursorLineSelect\",precondition:null})),e.LastCursorLineSelectDrag=Ju(new f({inSelectionMode:!0,id:\"lastCursorLineSelectDrag\",precondition:null})),e.ExpandLineSelection=Ju(new(function(e){function t(){return e.call(this,{id:\"expandLineSelection\",precondition:null,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2087}})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,Ua.expandLineSelection(e.context,e.getAll())),e.reveal(!0,0,0)},t}(wl))),e.CancelSelection=Ju(new(function(e){function t(){return e.call(this,{id:\"cancelSelection\",precondition:nl.hasNonEmptySelection,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:9,secondary:[1033]}})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[Ua.cancelSelection(e.context,e.getPrimaryCursor())]),e.reveal(!0,0,0)},t}(wl))),e.RemoveSecondaryCursors=Ju(new(function(e){function t(){return e.call(this,{id:\"removeSecondaryCursors\",precondition:nl.hasMultipleSelections,kbOpts:{weight:Cl+1,kbExpr:nl.textInputFocus,primary:9,secondary:[1033]}})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[e.getPrimaryCursor()]),e.reveal(!0,0,0)},t}(wl))),e.RevealLine=Ju(new(function(e){function t(){return e.call(this,{id:\"revealLine\",precondition:null,description:sl.description})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=t,r=n.lineNumber+1;r<1&&(r=1);var i=e.context.model.getLineCount();r>i&&(r=i);var o=new be(r,1,r,e.context.model.getLineMaxColumn(r)),s=0;if(n.at)switch(n.at){case sl.RawAtArgument.Top:s=3;break;case sl.RawAtArgument.Center:s=1;break;case sl.RawAtArgument.Bottom:s=4}var a=e.context.convertModelRangeToViewRange(o);e.revealRange(!1,a,s,0)},t}(wl))),e.SelectAll=Ju(new(function(e){function t(){return e.call(this,{id:\"selectAll\",precondition:null})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[Ua.selectAll(e.context,e.getPrimaryCursor())])},t}(wl))),e.SetSelection=Ju(new(function(e){function t(){return e.call(this,{id:\"setSelection\",precondition:null})||this}return bl(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,La.Explicit,[Ba.fromModelSelection(t.selection)])},t}(wl)))}(ul||(ul={})),(cl=ll||(ll={})).LineBreakInsert=Ju(new(function(e){function t(){return e.call(this,{id:\"lineBreakInsert\",precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:null,mac:{primary:301}}})||this}return bl(t,e),t.prototype.runEditorCommand=function(e,t,n){t.pushUndoStop(),t.executeCommands(this.id,vl.lineBreakInsert(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(Ku))),cl.Outdent=Ju(new(function(e){function t(){return e.call(this,{id:\"outdent\",precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:mu.and(nl.editorTextFocus,nl.tabDoesNotMoveFocus),primary:1026}})||this}return bl(t,e),t.prototype.runEditorCommand=function(e,t,n){t.pushUndoStop(),t.executeCommands(this.id,vl.outdent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(Ku))),cl.Tab=Ju(new(function(e){function t(){return e.call(this,{id:\"tab\",precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:mu.and(nl.editorTextFocus,nl.tabDoesNotMoveFocus),primary:2}})||this}return bl(t,e),t.prototype.runEditorCommand=function(e,t,n){t.pushUndoStop(),t.executeCommands(this.id,vl.tab(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(Ku))),cl.DeleteLeft=Ju(new(function(e){function t(){return e.call(this,{id:\"deleteLeft\",precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return bl(t,e),t.prototype.runEditorCommand=function(e,t,n){var r=t._getCursors(),i=yl.deleteLeft(r.getPrevEditOperationType(),t._getCursorConfiguration(),t.getModel(),t.getSelections()),o=i[0],s=i[1];o&&t.pushUndoStop(),t.executeCommands(this.id,s),r.setPrevEditOperationType(2)},t}(Ku))),cl.DeleteRight=Ju(new(function(e){function t(){return e.call(this,{id:\"deleteRight\",precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return bl(t,e),t.prototype.runEditorCommand=function(e,t,n){var r=t._getCursors(),i=yl.deleteRight(r.getPrevEditOperationType(),t._getCursorConfiguration(),t.getModel(),t.getSelections()),o=i[0],s=i[1];o&&t.pushUndoStop(),t.executeCommands(this.id,s),r.setPrevEditOperationType(3)},t}(Ku)));var Al=function(e){function t(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return bl(t,e),t.prototype.runCommand=function(e,t){var n=Dl(e);if(n&&n.isFocused())return this._runEditorHandler(n,t);var r=document.activeElement;if(!(r&&[\"input\",\"textarea\"].indexOf(r.tagName.toLowerCase())>=0)){var i=function(e){var t=e.get(Fu);return Hu(t.getActiveEditor&&t.getActiveEditor())}(e);return i?(i.focus(),this._runEditorHandler(i,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t){var n=this._editorHandler;\"string\"==typeof n?e.trigger(\"keyboard\",n,t):((t=t||{}).source=\"keyboard\",n.runEditorCommand(null,e,t))},t}(Zu),Sl=function(e){function t(t,n){var r=e.call(this,{id:t,precondition:null})||this;return r._handlerId=n,r}return bl(t,e),t.prototype.runCommand=function(e,t){var n=Dl(e);n&&n.trigger(\"keyboard\",this._handlerId,t)},t}(Zu);function xl(e){El(new Sl(\"default:\"+e,e)),El(new Sl(e,e))}El(new Al({editorHandler:ul.SelectAll,inputHandler:\"selectAll\",id:\"editor.action.selectAll\",precondition:null,kbOpts:{weight:Cl,kbExpr:null,primary:2079}})),El(new Al({editorHandler:_l.Undo,inputHandler:\"undo\",id:_l.Undo,precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2104}})),El(new Sl(\"default:\"+_l.Undo,_l.Undo)),El(new Al({editorHandler:_l.Redo,inputHandler:\"redo\",id:_l.Redo,precondition:nl.writable,kbOpts:{weight:Cl,kbExpr:nl.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}}})),El(new Sl(\"default:\"+_l.Redo,_l.Redo)),xl(_l.Type),xl(_l.ReplacePreviousChar),xl(_l.CompositionStart),xl(_l.CompositionEnd),xl(_l.Paste),xl(_l.Cut);n(312),n(313);var Ml,Nl,Il=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}});(Nl=Ml||(Ml={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:bn.None}),Nl.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Il});var Ll=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))},Object.defineProperty(e.prototype,\"isCancellationRequested\",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onCancellationRequested\",{get:function(){return this._isCancelled?Il:(this._emitter||(this._emitter=new wn),this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)},e}(),kl=function(){function e(){}return Object.defineProperty(e.prototype,\"token\",{get:function(){return this._token||(this._token=new Ll),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof Ll&&this._token.cancel():this._token=Ml.Cancelled},e.prototype.dispose=function(){this._token?this._token instanceof Ll&&this._token.dispose():this._token=Ml.None},e}(),Tl=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function Fl(e){return e&&\"function\"==typeof e.then}function Ol(e){return Fl(e)?e:cn.b.as(e)}function Pl(e){var t=new kl;return new cn.b(function(n,r,i){var o=e(t.token);o instanceof cn.b?o.then(function(e){t.dispose(),n(e)},function(e){t.dispose(),r(e)},i):Fl(o)?o.then(function(e){t.dispose(),n(e)},function(e){t.dispose(),r(e)}):(t.dispose(),n(o))},function(){t.cancel()})}var Bl=function(){function e(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var n=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new cn.b(function(e,r,i){t.activePromise.then(n,n,i).done(e)},function(){t.activePromise.cancel()})}return new cn.b(function(e,n,r){t.queuedPromise.then(e,n,r)},function(){})}return this.activePromise=e(),new cn.b(function(e,n,r){t.activePromise.done(function(n){t.activePromise=null,e(n)},function(e){t.activePromise=null,n(e)},r)},function(){t.activePromise.cancel()})},e}(),Rl=(function(){function e(){this.current=cn.b.wrap(null)}e.prototype.queue=function(e){return this.current=this.current.then(function(){return e()})}}(),function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new cn.b(function(e){n.onSuccess=e},function(){}).then(function(){n.completionPromise=null,n.onSuccess=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.onSuccess(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}()),jl=(function(e){function t(t){var n=e.call(this,t)||this;return n.throttler=new Bl,n}Tl(t,e),t.prototype.trigger=function(t,n){var r=this;return e.prototype.trigger.call(this,function(){return r.throttler.queue(t)},n)}}(Rl),function(){function e(){var e=this;this._isOpen=!1,this._promise=new cn.b(function(t,n,r){e._completePromise=t},function(){console.warn(\"You should really not try to cancel this ready promise!\")})}e.prototype.isOpen=function(){return this._isOpen},e.prototype.open=function(){this._isOpen=!0,this._completePromise(!0)},e.prototype.wait=function(){return this._promise}}(),function(e){function t(t){var n,r,i,o;return n=e.call(this,function(e,t,n){r=e,i=t,o=n},function(){var e;i(((e=new Error(mn)).name=e.message,e))})||this,t.then(r,i,o),n}return Tl(t,e),t}(cn.b));function zl(e,t){return n=e,cn.b.is(n)&&\"function\"==typeof n.done?new cn.b(function(n,r,i){e.done(function(e){try{t(e)}catch(e){pn(e)}n(e)},function(e){try{t(e)}catch(e){pn(e)}r(e)},function(e){i(e)})},function(){e.cancel()}):(e.then(function(e){return t()},function(e){return t()}),e);var n}function Wl(e){var t=[];return e=e.reverse(),cn.b.as(null).then(function n(r){void 0!==r&&null!==r&&t.push(r);var i=e.length?e.pop()():null;return i?i.then(n):cn.b.as(t)})}var Vl=function(e){function t(){return e.call(this,1)||this}return Tl(t,e),t}(function(){function e(e){this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onFinished=new wn}return Object.defineProperty(e.prototype,\"onFinished\",{get:function(){return this._onFinished.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){return this.runningPromises+this.outstandingPromises.length},enumerable:!0,configurable:!0}),e.prototype.queue=function(e){var t=this;return new cn.b(function(n,r,i){t.outstandingPromises.push({factory:e,c:n,e:r,p:i}),t.consume()})},e.prototype.consume=function(){for(var e=this;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){var t=this.outstandingPromises.shift();this.runningPromises++;var n=t.factory();n.done(t.c,t.e,t.p),n.done(function(){return e.consumed()},function(){return e.consumed()})}},e.prototype.consumed=function(){this.runningPromises--,this.outstandingPromises.length>0?this.consume():this._onFinished.fire()},e.prototype.dispose=function(){this._onFinished.dispose()},e}());!function(){function e(){this.queues=Object.create(null)}e.prototype.queueFor=function(e){var t=this,n=e.toString();if(!this.queues[n]){var r=new Vl;r.onFinished(function(){r.dispose(),delete t.queues[n]}),this.queues[n]=r}return this.queues[n]}}();var Hl=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return Tl(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){var n=this;this.cancel(),this._token=setTimeout(function(){n._token=-1,e()},t)},t.prototype.setIfNotSet=function(e,t){var n=this;-1===this._token&&(this._token=setTimeout(function(){n._token=-1,e()},t))},t}(un),Ul=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return Tl(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval(function(){e()},t)},t}(un),Yl=function(){function e(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}return e.prototype.dispose=function(){this.cancel(),this.runner=null},e.prototype.cancel=function(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)},e.prototype.schedule=function(e){void 0===e&&(e=this.timeout),this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)},e.prototype.isScheduled=function(){return-1!==this.timeoutToken},e.prototype.onTimeout=function(){this.timeoutToken=-1,this.runner&&this.runner()},e}();!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}Tl(t,e),t.prototype.throttle=function(e){var t=this;return this.suspended=!0,zl(e,function(){return t.resume()})},t.prototype.fire=function(t){return this.suspended?(this.lastEvent=t,void(this.hasLastEvent=!0)):e.prototype.fire.call(this,t)},t.prototype.resume=function(){this.suspended=!1,this.hasLastEvent&&this.fire(this.lastEvent),this.hasLastEvent=!1,this.lastEvent=void 0}}(wn);var Zl=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new wn,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this._zoomFactor=0,this._onDidChangeFullscreen=new wn,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this._accessibilitySupport=0,this._onDidChangeAccessibilitySupport=new wn,this.onDidChangeAccessibilitySupport=this._onDidChangeAccessibilitySupport.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.getTimeSinceLastZoomLevelChanged=function(){return Date.now()-this._lastZoomLevelChangeTime},e.prototype.setZoomLevel=function(e,t){this._zoomLevel!==e&&(this._zoomLevel=e,this._lastZoomLevelChangeTime=t?0:Date.now(),this._onDidChangeZoomLevel.fire(this._zoomLevel))},e.prototype.getZoomFactor=function(){return this._zoomFactor},e.prototype.setZoomFactor=function(e){this._zoomFactor=e},e.prototype.getPixelRatio=function(){var e=document.createElement(\"canvas\").getContext(\"2d\");return(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)},e.prototype.setFullscreen=function(e){this._fullscreen!==e&&(this._fullscreen=e,this._onDidChangeFullscreen.fire())},e.prototype.isFullscreen=function(){return this._fullscreen},e.prototype.setAccessibilitySupport=function(e){this._accessibilitySupport!==e&&(this._accessibilitySupport=e,this._onDidChangeAccessibilitySupport.fire())},e.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},e.INSTANCE=new e,e}();function Gl(){return Zl.INSTANCE.getZoomLevel()}function Kl(e){return Zl.INSTANCE.onDidChangeZoomLevel(e)}function ql(){return Zl.INSTANCE.getPixelRatio()}var Ql=navigator.userAgent,Xl=Ql.indexOf(\"Trident\")>=0,Jl=Ql.indexOf(\"Edge/\")>=0,$l=Xl||Jl,ec=(Ql.indexOf(\"Opera\"),Ql.indexOf(\"Firefox\")>=0),tc=Ql.indexOf(\"AppleWebKit\")>=0,nc=Ql.indexOf(\"Chrome\")>=0,rc=-1===Ql.indexOf(\"Chrome\")&&Ql.indexOf(\"Safari\")>=0,ic=Ql.indexOf(\"iPad\")>=0,oc=Jl&&Ql.indexOf(\"WebView/\")>=0,sc=Ql.indexOf(\"Chrome/56.\")>=0&&-1===Ql.indexOf(\"Edge/\");var ac=new Array(230),uc=new Array(112);!function(){for(var e=0;e<uc.length;e++)uc[e]=-1;function t(e,t){ac[e]=t,uc[t]=e}t(3,7),t(8,1),t(9,2),t(13,3),t(16,4),t(17,5),t(18,6),t(19,7),t(20,8),t(27,9),t(32,10),t(33,11),t(34,12),t(35,13),t(36,14),t(37,15),t(38,16),t(39,17),t(40,18),t(45,19),t(46,20),t(48,21),t(49,22),t(50,23),t(51,24),t(52,25),t(53,26),t(54,27),t(55,28),t(56,29),t(57,30),t(65,31),t(66,32),t(67,33),t(68,34),t(69,35),t(70,36),t(71,37),t(72,38),t(73,39),t(74,40),t(75,41),t(76,42),t(77,43),t(78,44),t(79,45),t(80,46),t(81,47),t(82,48),t(83,49),t(84,50),t(85,51),t(86,52),t(87,53),t(88,54),t(89,55),t(90,56),t(93,58),t(96,93),t(97,94),t(98,95),t(99,96),t(100,97),t(101,98),t(102,99),t(103,100),t(104,101),t(105,102),t(106,103),t(107,104),t(108,105),t(109,106),t(110,107),t(111,108),t(112,59),t(113,60),t(114,61),t(115,62),t(116,63),t(117,64),t(118,65),t(119,66),t(120,67),t(121,68),t(122,69),t(123,70),t(124,71),t(125,72),t(126,73),t(127,74),t(128,75),t(129,76),t(130,77),t(144,78),t(145,79),t(186,80),t(187,81),t(188,82),t(189,83),t(190,84),t(191,85),t(192,86),t(193,110),t(194,111),t(219,87),t(220,88),t(221,89),t(222,90),t(223,91),t(226,92),t(229,109),Xl?t(91,57):ec?(t(59,80),t(107,81),t(109,83),we.d&&t(224,57)):tc&&(t(91,57),we.d?t(93,57):t(92,57))}();var lc=we.d?256:2048,cc=we.d?2048:256,hc=function(){function e(e){var t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.keyCode=function(e){if(e.charCode){var t=String.fromCharCode(e.charCode).toUpperCase();return Ya.fromString(t)}return ac[e.keyCode]||0}(t),this.code=t.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e.prototype.toKeybinding=function(){return this._asRuntimeKeybinding},e.prototype.equals=function(e){return this._asKeybinding===e},e.prototype._computeKeybinding=function(){var e=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode);var t=0;return this.ctrlKey&&(t|=lc),this.altKey&&(t|=512),this.shiftKey&&(t|=1024),this.metaKey&&(t|=cc),t|=e},e.prototype._computeRuntimeKeybinding=function(){var e=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode),new tu(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)},e}(),dc=!1,pc=null;function fc(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,n=e.parent.location;if(t.protocol!==n.protocol||t.hostname!==n.hostname||t.port!==n.port)return dc=!0,null}catch(e){return dc=!0,null}return e.parent}function gc(e,t){for(var n,r=e.document.getElementsByTagName(\"iframe\"),i=0,o=r.length;i<o;i++)if((n=r[i]).contentWindow===t)return n;return null}var mc=function(){function e(){}return e.getSameOriginWindowChain=function(){if(!pc){pc=[];var e,t=window;do{(e=fc(t))?pc.push({window:t,iframeElement:gc(e,t)}):pc.push({window:t,iframeElement:null}),t=e}while(t)}return pc.slice(0)},e.hasDifferentOriginAncestor=function(){return pc||this.getSameOriginWindowChain(),dc},e.getPositionOfChildWindowRelativeToAncestorWindow=function(e,t){if(!t||e===t)return{top:0,left:0};for(var n=0,r=0,i=this.getSameOriginWindowChain(),o=0;o<i.length;o++){var s=i[o];if(s.window===t)break;if(!s.iframeElement)break;var a=s.iframeElement.getBoundingClientRect();n+=a.top,r+=a.left}return{top:n,left:r}},e}(),vc=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),yc=function(){function e(e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=0===e.button,this.middleButton=1===e.button,this.rightButton=2===e.button,this.target=e.target,this.detail=e.detail||1,\"dblclick\"===e.type&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,\"number\"==typeof e.pageX?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop);var t=mc.getPositionOfChildWindowRelativeToAncestorWindow(self,e.view);this.posx-=t.left,this.posy-=t.top}return e.prototype.preventDefault=function(){this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}(),bc=function(e){function t(t){var n=e.call(this,t)||this;return n.dataTransfer=t.dataTransfer,n}return vc(t,e),t}(yc),_c=function(){function e(e,t,n){if(void 0===t&&(t=0),void 0===n&&(n=0),this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=n,this.deltaX=t,e){var r=e,i=e;void 0!==r.wheelDeltaY?this.deltaY=r.wheelDeltaY/120:void 0!==i.VERTICAL_AXIS&&i.axis===i.VERTICAL_AXIS&&(this.deltaY=-i.detail/3),void 0!==r.wheelDeltaX?rc&&we.g?this.deltaX=-r.wheelDeltaX/120:this.deltaX=r.wheelDeltaX/120:void 0!==i.HORIZONTAL_AXIS&&i.axis===i.HORIZONTAL_AXIS&&(this.deltaX=-e.detail/3),0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}(),Cc=function(e,t,n){var r=function(e){return i.fire(e)},i=new wn({onFirstListenerAdd:function(){e.addEventListener(t,r,n)},onLastListenerRemove:function(){e.removeEventListener(t,r,n)}});return i.event};var wc=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function Dc(e){for(;e.firstChild;)e.removeChild(e.firstChild)}var Ec=new(function(){function e(){}return e.prototype._findClassName=function(e,t){var n=e.className;if(n){t=t.trim();var r=n.length,i=t.length;if(0!==i)if(r<i)this._lastStart=-1;else{if(n===t)return this._lastStart=0,void(this._lastEnd=r);for(var o,s=-1;(s=n.indexOf(t,s+1))>=0;){if(o=s+i,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(o))return this._lastStart=s,void(this._lastEnd=o+1);if(s>0&&32===n.charCodeAt(s-1)&&o===r)return this._lastStart=s-1,void(this._lastEnd=o);if(0===s&&o===r)return this._lastStart=0,void(this._lastEnd=o)}this._lastStart=-1}else this._lastStart=-1}else this._lastStart=-1},e.prototype.hasClass=function(e,t){return this._findClassName(e,t),-1!==this._lastStart},e.prototype.addClasses=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];n.forEach(function(n){return n.split(\" \").forEach(function(n){return t.addClass(e,n)})})},e.prototype.addClass=function(e,t){e.className?(this._findClassName(e,t),-1===this._lastStart&&(e.className=e.className+\" \"+t)):e.className=t},e.prototype.removeClass=function(e,t){this._findClassName(e,t),-1!==this._lastStart&&(e.className=e.className.substring(0,this._lastStart)+e.className.substring(this._lastEnd))},e.prototype.removeClasses=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];n.forEach(function(n){return n.split(\" \").forEach(function(n){return t.removeClass(e,n)})})},e.prototype.toggleClass=function(e,t,n){this._findClassName(e,t),-1===this._lastStart||void 0!==n&&n||this.removeClass(e,t),-1!==this._lastStart||void 0!==n&&!n||this.addClass(e,t)},e}()),Ac=new(function(){function e(){}return e.prototype.hasClass=function(e,t){return t&&e.classList&&e.classList.contains(t)},e.prototype.addClasses=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];n.forEach(function(n){return n.split(\" \").forEach(function(n){return t.addClass(e,n)})})},e.prototype.addClass=function(e,t){t&&e.classList&&e.classList.add(t)},e.prototype.removeClass=function(e,t){t&&e.classList&&e.classList.remove(t)},e.prototype.removeClasses=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];n.forEach(function(n){return n.split(\" \").forEach(function(n){return t.removeClass(e,n)})})},e.prototype.toggleClass=function(e,t,n){e.classList&&e.classList.toggle(t,n)},e}()),Sc=Xl?Ec:Ac,xc=Sc.hasClass.bind(Sc),Mc=Sc.addClass.bind(Sc),Nc=(Sc.addClasses.bind(Sc),Sc.removeClass.bind(Sc)),Ic=(Sc.removeClasses.bind(Sc),Sc.toggleClass.bind(Sc)),Lc=function(){function e(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._useCapture=r||!1,this._node.addEventListener(this._type,this._handler,this._useCapture)}return e.prototype.dispose=function(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._useCapture),this._node=null,this._handler=null)},e}();function kc(e,t,n,r){return new Lc(e,t,n,r)}var Tc=function(e,t,n,r){var i=n;return\"click\"===t||\"mousedown\"===t?i=function(e){return function(t){return e(new yc(t))}}(n):\"keydown\"!==t&&\"keypress\"!==t&&\"keyup\"!==t||(i=function(e){return function(t){return e(new hc(t))}}(n)),kc(e,t,i,r)};function Fc(e,t){return kc(e,\"mouseout\",function(n){for(var r=n.relatedTarget||n.toElement;r&&r!==e;)r=r.parentNode;r!==e&&t(n)})}var Oc,Pc,Bc=null;var Rc,jc,zc,Wc,Vc,Hc=function(){function e(e,t){this._runner=e,this.priority=t,this._canceled=!1}return e.prototype.dispose=function(){this._canceled=!0},e.prototype.execute=function(){if(!this._canceled)try{this._runner()}catch(e){pn(e)}},e.sort=function(e,t){return t.priority-e.priority},e}();Rc=[],jc=null,zc=!1,Wc=!1,Vc=function(){for(zc=!1,jc=Rc,Rc=[],Wc=!0;jc.length>0;){jc.sort(Hc.sort),jc.shift().execute()}Wc=!1},Pc=function(e,t){void 0===t&&(t=0);var n,r=new Hc(e,t);return Rc.push(r),zc||(zc=!0,n=Vc,Bc||(Bc=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout(function(){return e((new Date).getTime())},0)}),Bc.call(self,n)),r},Oc=function(e,t){if(Wc){var n=new Hc(e,t);return jc.push(n),n}return Pc(e,t)};var Uc=16,Yc=function(e,t){return t},Zc=function(e){function t(t,n,r,i,o){void 0===i&&(i=Yc),void 0===o&&(o=Uc);var s=e.call(this)||this,a=null,u=0,l=s._register(new Hl),c=function(){u=(new Date).getTime(),r(a),a=null};return s._register(kc(t,n,function(e){a=i(a,e);var t=(new Date).getTime()-u;t>=o?(l.cancel(),c()):l.setIfNotSet(c,o-t)})),s}return wc(t,e),t}(un);function Gc(e,t,n,r,i){return new Zc(e,t,n,r,i)}function Kc(e){return document.defaultView.getComputedStyle(e,null)}var qc=function(e,t){return parseFloat(t)||0};function Qc(e,t,n){var r=Kc(e),i=\"0\";return r&&(i=r.getPropertyValue?r.getPropertyValue(t):r.getAttribute(n)),qc(e,i)}var Xc={getBorderLeftWidth:function(e){return Qc(e,\"border-left-width\",\"borderLeftWidth\")},getBorderRightWidth:function(e){return Qc(e,\"border-right-width\",\"borderRightWidth\")},getBorderTopWidth:function(e){return Qc(e,\"border-top-width\",\"borderTopWidth\")},getBorderBottomWidth:function(e){return Qc(e,\"border-bottom-width\",\"borderBottomWidth\")},getPaddingLeft:function(e){return Qc(e,\"padding-left\",\"paddingLeft\")},getPaddingRight:function(e){return Qc(e,\"padding-right\",\"paddingRight\")},getPaddingTop:function(e){return Qc(e,\"padding-top\",\"paddingTop\")},getPaddingBottom:function(e){return Qc(e,\"padding-bottom\",\"paddingBottom\")},getMarginLeft:function(e){return Qc(e,\"margin-left\",\"marginLeft\")},getMarginTop:function(e){return Qc(e,\"margin-top\",\"marginTop\")},getMarginRight:function(e){return Qc(e,\"margin-right\",\"marginRight\")},getMarginBottom:function(e){return Qc(e,\"margin-bottom\",\"marginBottom\")},__commaSentinel:!1},Jc=function(){return function(e,t){this.width=e,this.height=t}}();function $c(e){for(var t=e.offsetParent,n=e.offsetTop,r=e.offsetLeft;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){n-=e.scrollTop;var i=Kc(e);i&&(r-=\"rtl\"!==i.direction?e.scrollLeft:-e.scrollLeft),e===t&&(r+=Xc.getBorderLeftWidth(e),n+=Xc.getBorderTopWidth(e),n+=e.offsetTop,r+=e.offsetLeft,t=e.offsetParent)}return{left:r,top:n}}function eh(e){var t=e.getBoundingClientRect();return{left:t.left+th.scrollX,top:t.top+th.scrollY,width:t.width,height:t.height}}var th=new(function(){function e(){}return Object.defineProperty(e.prototype,\"scrollX\",{get:function(){return\"number\"==typeof window.scrollX?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"scrollY\",{get:function(){return\"number\"==typeof window.scrollY?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop},enumerable:!0,configurable:!0}),e}());function nh(e){var t=Xc.getMarginLeft(e)+Xc.getMarginRight(e);return e.offsetWidth+t}function rh(e){var t=Xc.getBorderLeftWidth(e)+Xc.getBorderRightWidth(e),n=Xc.getPaddingLeft(e)+Xc.getPaddingRight(e);return e.offsetWidth-t-n}function ih(e){var t=Xc.getBorderTopWidth(e)+Xc.getBorderBottomWidth(e),n=Xc.getPaddingTop(e)+Xc.getPaddingBottom(e);return e.offsetHeight-t-n}function oh(e){var t=Xc.getMarginTop(e)+Xc.getMarginBottom(e);return e.offsetHeight+t}function sh(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function ah(e,t,n){for(;e;){if(xc(e,t))return e;if(n&&xc(e,n))return null;e=e.parentNode}return null}function uh(e){void 0===e&&(e=document.getElementsByTagName(\"head\")[0]);var t=document.createElement(\"style\");return t.type=\"text/css\",t.media=\"screen\",e.appendChild(t),t}var lh=null;function ch(){return lh||(lh=uh()),lh}function hh(e,t){if(void 0===t&&(t=ch()),t){for(var n=function(e){return e&&e.sheet&&e.sheet.rules?e.sheet.rules:e&&e.sheet&&e.sheet.cssRules?e.sheet.cssRules:[]}(t),r=[],i=0;i<n.length;i++){-1!==n[i].selectorText.indexOf(e)&&r.push(i)}for(i=r.length-1;i>=0;i--)t.sheet.deleteRule(r[i])}}function dh(e){return\"object\"==typeof HTMLElement?e instanceof HTMLElement:e&&\"object\"==typeof e&&1===e.nodeType&&\"string\"==typeof e.nodeName}var ph={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",CONTEXT_MENU:\"contextmenu\",WHEEL:\"wheel\",KEY_DOWN:\"keydown\",KEY_PRESS:\"keypress\",KEY_UP:\"keyup\",LOAD:\"load\",UNLOAD:\"unload\",ABORT:\"abort\",ERROR:\"error\",RESIZE:\"resize\",SCROLL:\"scroll\",SELECT:\"select\",CHANGE:\"change\",SUBMIT:\"submit\",RESET:\"reset\",FOCUS:\"focus\",BLUR:\"blur\",INPUT:\"input\",STORAGE:\"storage\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\",ANIMATION_START:tc?\"webkitAnimationStart\":\"animationstart\",ANIMATION_END:tc?\"webkitAnimationEnd\":\"animationend\",ANIMATION_ITERATION:tc?\"webkitAnimationIteration\":\"animationiteration\"},fh={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};var gh=function(){function e(e){var t=this;this._onDidFocus=new wn,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new wn,this.onDidBlur=this._onDidBlur.event,this.disposables=[];var n=!1,r=!1;Cc(e,ph.FOCUS,!0)(function(){r=!1,n||(n=!0,t._onDidFocus.fire())},null,this.disposables),Cc(e,ph.BLUR,!0)(function(){n&&(r=!0,window.setTimeout(function(){r&&(r=!1,n=!1,t._onDidBlur.fire())},0))},null,this.disposables)}return e.prototype.dispose=function(){this.disposables=on(this.disposables),this._onDidFocus.dispose(),this._onDidBlur.dispose()},e}();function mh(e){return new gh(e)}function vh(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.forEach(function(t){return e.appendChild(t)}),t[t.length-1]}var yh=/([\\w\\-]+)?(#([\\w\\-]+))?((.([\\w\\-]+))*)/;function bh(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=yh.exec(e);if(!i)throw new Error(\"Bad use of emmet\");var o=document.createElement(i[1]||\"div\");return i[3]&&(o.id=i[3]),i[4]&&(o.className=i[4].replace(/\\./g,\" \").trim()),Object.keys(t||{}).forEach(function(e){if(/^on\\w+$/.test(e))o[e]=t[e];else if(\"selected\"===e){t[e]&&o.setAttribute(e,\"true\")}else o.setAttribute(e,t[e])}),n.filter(function(e){return!!e}).forEach(function(e){e instanceof Node?o.appendChild(e):o.appendChild(document.createTextNode(e))}),o}function _h(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0,r=e;n<r.length;n++){var i=r[n];i.style.display=\"\",i.removeAttribute(\"aria-hidden\")}}function Ch(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0,r=e;n<r.length;n++){var i=r[n];i.style.display=\"none\",i.setAttribute(\"aria-hidden\",\"true\")}}function wh(e){if(e&&e.hasAttribute(\"tabIndex\")){if(document.activeElement===e){var t=function(e,t){for(;e;){if(e instanceof HTMLElement&&e.hasAttribute(t))return e;e=e.parentNode}return null}(e.parentElement,\"tabIndex\");t&&t.focus()}e.removeAttribute(\"tabindex\")}}function Dh(e){return Array.prototype.slice.call(document.getElementsByTagName(e),0)}function Eh(e){var t=window.devicePixelRatio*e;return Math.max(1,Math.floor(t))/window.devicePixelRatio}function Ah(e){if(we.e||oc)window.open(e);else{var t=window.open();t&&(t.opener=null,t.location.href=e)}}var Sh=function(){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._entries=new Map;for(var n=0,r=e;n<r.length;n++){var i=r[n],o=i[0],s=i[1];this.set(o,s)}}return e.prototype.set=function(e,t){var n=this._entries.get(e);return this._entries.set(e,t),n},e.prototype.forEach=function(e){this._entries.forEach(function(t,n){return e(n,t)})},e.prototype.has=function(e){return this._entries.has(e)},e.prototype.get=function(e){return this._entries.get(e)},e}(),xh=function(){function e(e){this.modelState=null,this.viewState=null,this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Oa(new be(1,1,1,1),0,new ye(1,1),0),new Oa(new be(1,1,1,1),0,new ye(1,1),0))}return e.prototype.dispose=function(e){this._removeTrackedRange(e)},e.prototype.startTrackingSelection=function(e){this._trackSelection=!0,this._updateTrackedRange(e)},e.prototype.stopTrackingSelection=function(e){this._trackSelection=!1,this._removeTrackedRange(e)},e.prototype._updateTrackedRange=function(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,Pn.AlwaysGrowsWhenTypingAtEdges))},e.prototype._removeTrackedRange=function(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,Pn.AlwaysGrowsWhenTypingAtEdges)},e.prototype.asCursorState=function(){return new Ba(this.modelState,this.viewState)},e.prototype.readSelectionFromMarkers=function(e){var t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.getDirection()===ui.LTR?new Ii(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Ii(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)},e.prototype.ensureValidState=function(e){this._setState(e,this.modelState,this.viewState)},e.prototype.setState=function(e,t,n){this._setState(e,t,n)},e.prototype._setState=function(e,t,n){if(t){o=e.model.validateRange(t.selectionStart);var r=t.selectionStart.equalsRange(o)?t.selectionStartLeftoverVisibleColumns:0,i=(s=e.model.validatePosition(t.position),t.position.equals(s)?t.leftoverVisibleColumns:0);t=new Oa(o,r,s,i)}else{var o=e.model.validateRange(e.convertViewRangeToModelRange(n.selectionStart)),s=e.model.validatePosition(e.convertViewPositionToModelPosition(n.position.lineNumber,n.position.column));t=new Oa(o,n.selectionStartLeftoverVisibleColumns,s,n.leftoverVisibleColumns)}if(n){l=e.validateViewRange(n.selectionStart,t.selectionStart),c=e.validateViewPosition(n.position,t.position);n=new Oa(l,t.selectionStartLeftoverVisibleColumns,c,t.leftoverVisibleColumns)}else{var a=e.convertModelPositionToViewPosition(new ye(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),u=e.convertModelPositionToViewPosition(new ye(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),l=new be(a.lineNumber,a.column,u.lineNumber,u.column),c=e.convertModelPositionToViewPosition(t.position);n=new Oa(l,t.selectionStartLeftoverVisibleColumns,c,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=n,this._updateTrackedRange(e)},e}(),Mh=function(){function e(e){this.context=e,this.primaryCursor=new xh(e),this.secondaryCursors=[],this.lastAddedCursorIndex=0}return e.prototype.dispose=function(){this.primaryCursor.dispose(this.context),this.killSecondaryCursors()},e.prototype.startTrackingSelections=function(){this.primaryCursor.startTrackingSelection(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].startTrackingSelection(this.context)},e.prototype.stopTrackingSelections=function(){this.primaryCursor.stopTrackingSelection(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].stopTrackingSelection(this.context)},e.prototype.updateContext=function(e){this.context=e},e.prototype.ensureValidState=function(){this.primaryCursor.ensureValidState(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].ensureValidState(this.context)},e.prototype.readSelectionFromMarkers=function(){var e=[];e[0]=this.primaryCursor.readSelectionFromMarkers(this.context);for(var t=0,n=this.secondaryCursors.length;t<n;t++)e[t+1]=this.secondaryCursors[t].readSelectionFromMarkers(this.context);return e},e.prototype.getAll=function(){var e=[];e[0]=this.primaryCursor.asCursorState();for(var t=0,n=this.secondaryCursors.length;t<n;t++)e[t+1]=this.secondaryCursors[t].asCursorState();return e},e.prototype.getViewPositions=function(){var e=[];e[0]=this.primaryCursor.viewState.position;for(var t=0,n=this.secondaryCursors.length;t<n;t++)e[t+1]=this.secondaryCursors[t].viewState.position;return e},e.prototype.getSelections=function(){var e=[];e[0]=this.primaryCursor.modelState.selection;for(var t=0,n=this.secondaryCursors.length;t<n;t++)e[t+1]=this.secondaryCursors[t].modelState.selection;return e},e.prototype.getViewSelections=function(){var e=[];e[0]=this.primaryCursor.viewState.selection;for(var t=0,n=this.secondaryCursors.length;t<n;t++)e[t+1]=this.secondaryCursors[t].viewState.selection;return e},e.prototype.setSelections=function(e){this.setStates(Ba.fromModelSelections(e))},e.prototype.getPrimaryCursor=function(){return this.primaryCursor.asCursorState()},e.prototype.setStates=function(e){null!==e&&(this.primaryCursor.setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))},e.prototype._setSecondaryStates=function(e){var t=this.secondaryCursors.length,n=e.length;if(t<n)for(var r=n-t,i=0;i<r;i++)this._addSecondaryCursor();else if(t>n){var o=t-n;for(i=0;i<o;i++)this._removeSecondaryCursor(this.secondaryCursors.length-1)}for(i=0;i<n;i++)this.secondaryCursors[i].setState(this.context,e[i].modelState,e[i].viewState)},e.prototype.killSecondaryCursors=function(){this._setSecondaryStates([])},e.prototype._addSecondaryCursor=function(){this.secondaryCursors.push(new xh(this.context)),this.lastAddedCursorIndex=this.secondaryCursors.length},e.prototype.getLastAddedCursorIndex=function(){return 0===this.secondaryCursors.length||0===this.lastAddedCursorIndex?0:this.lastAddedCursorIndex},e.prototype._removeSecondaryCursor=function(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(this.context),this.secondaryCursors.splice(e,1)},e.prototype._getAll=function(){var e=[];e[0]=this.primaryCursor;for(var t=0,n=this.secondaryCursors.length;t<n;t++)e[t+1]=this.secondaryCursors[t];return e},e.prototype.normalize=function(){if(0!==this.secondaryCursors.length){for(var e=this._getAll(),t=[],n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection,viewSelection:e[n].viewState.selection});t.sort(function(e,t){return e.viewSelection.startLineNumber===t.viewSelection.startLineNumber?e.viewSelection.startColumn-t.viewSelection.startColumn:e.viewSelection.startLineNumber-t.viewSelection.startLineNumber});for(var i=0;i<t.length-1;i++){var o=t[i],s=t[i+1],a=o.viewSelection,u=s.viewSelection;if(this.context.config.multiCursorMergeOverlapping){if(u.isEmpty()||a.isEmpty()?u.getStartPosition().isBeforeOrEqual(a.getEndPosition()):u.getStartPosition().isBefore(a.getEndPosition())){var l=o.index<s.index?i:i+1,c=o.index<s.index?i+1:i,h=t[c].index,d=t[l].index,p=t[c].selection,f=t[l].selection;if(!p.equalsSelection(f)){var g=p.plusRange(f),m=p.selectionStartLineNumber===p.startLineNumber&&p.selectionStartColumn===p.startColumn,v=f.selectionStartLineNumber===f.startLineNumber&&f.selectionStartColumn===f.startColumn,y=void 0;h===this.lastAddedCursorIndex?(y=m,this.lastAddedCursorIndex=d):y=v;var b=void 0;b=y?new Ii(g.startLineNumber,g.startColumn,g.endLineNumber,g.endColumn):new Ii(g.endLineNumber,g.endColumn,g.startLineNumber,g.startColumn),t[l].selection=b;var _=Ba.fromModelSelection(b);e[d].setState(this.context,_.modelState,_.viewState)}for(var C=0;C<t.length;C++)t[C].index>h&&t[C].index--;e.splice(h,1),t.splice(c,1),this._removeSecondaryCursor(h-1),i--}}}}},e}(),Nh=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ih=function(){return function(e){this.type=1,this.canUseLayerHinting=e.canUseLayerHinting,this.pixelRatio=e.pixelRatio,this.editorClassName=e.editorClassName,this.lineHeight=e.lineHeight,this.readOnly=e.readOnly,this.accessibilitySupport=e.accessibilitySupport,this.emptySelectionClipboard=e.emptySelectionClipboard,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo}}(),Lh=function(){return function(e){this.type=2,this.selections=e}}(),kh=function(){return function(){this.type=3}}(),Th=function(){return function(){this.type=4}}(),Fh=function(){return function(e){this.type=5,this.isFocused=e}}(),Oh=function(){return function(){this.type=6}}(),Ph=function(){return function(e,t){this.type=7,this.fromLineNumber=e,this.toLineNumber=t}}(),Bh=function(){return function(e,t){this.type=8,this.fromLineNumber=e,this.toLineNumber=t}}(),Rh=function(){return function(e,t){this.type=9,this.fromLineNumber=e,this.toLineNumber=t}}(),jh=function(){return function(e,t,n,r){this.type=10,this.range=e,this.verticalType=t,this.revealHorizontal=n,this.scrollType=r}}(),zh=function(){return function(e){this.type=11,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}(),Wh=function(){return function(e){this.type=12,this.ranges=e}}(),Vh=function(){return function(){this.type=15}}(),Hh=function(){return function(){this.type=13}}(),Uh=function(){return function(){this.type=14}}(),Yh=function(){return function(){this.type=16}}(),Zh=function(e){function t(){var t=e.call(this)||this;return t._listeners=[],t._collector=null,t._collectorCnt=0,t}return Nh(t,e),t.prototype.dispose=function(){this._listeners=[],e.prototype.dispose.call(this)},t.prototype._beginEmit=function(){return this._collectorCnt++,1===this._collectorCnt&&(this._collector=new Gh),this._collector},t.prototype._endEmit=function(){if(this._collectorCnt--,0===this._collectorCnt){var e=this._collector.finalize();this._collector=null,e.length>0&&this._emit(e)}},t.prototype._emit=function(e){for(var t=this._listeners.slice(0),n=0,r=t.length;n<r;n++)Kh(t[n],e)},t.prototype.addEventListener=function(e){var t=this;return this._listeners.push(e),{dispose:function(){for(var n=t._listeners,r=0,i=n.length;r<i;r++)if(n[r]===e){n.splice(r,1);break}}}},t}(un),Gh=function(){function e(){this._eventsLen=0,this._events=[],this._eventsLen=0}return e.prototype.emit=function(e){this._events[this._eventsLen++]=e},e.prototype.finalize=function(){var e=this._events;return this._events=null,e},e}();function Kh(e,t){try{e(t)}catch(e){pn(e)}}var qh=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();var Qh=function(){return function(e,t,n){this.selections=e,this.source=t,this.reason=n}}(),Xh=function(){function e(e,t){this.modelVersionId=e.getVersionId(),this.cursorState=t.getAll()}return e.prototype.equals=function(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(var t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0},e}(),Jh=function(e){function t(t,n,r){var i=e.call(this)||this;i._onDidReachMaxCursorCount=i._register(new wn),i.onDidReachMaxCursorCount=i._onDidReachMaxCursorCount.event,i._onDidAttemptReadOnlyEdit=i._register(new wn),i.onDidAttemptReadOnlyEdit=i._onDidAttemptReadOnlyEdit.event,i._onDidChange=i._register(new wn),i.onDidChange=i._onDidChange.event,i._configuration=t,i._model=n,i._knownModelVersionId=i._model.getVersionId(),i._viewModel=r,i.context=new Pa(i._configuration,i._model,i._viewModel),i._cursors=new Mh(i.context),i._isHandling=!1,i._isDoingComposition=!1,i._columnSelectData=null,i._prevEditOperationType=0,i._register(i._model.onDidChangeRawContent(function(e){if(i._knownModelVersionId=e.versionId,!i._isHandling){var t=e.containsEvent(1);i._onModelContentChanged(t)}})),i._register(r.addEventListener(function(e){(function(e){for(var t=0,n=e.length;t<n;t++)if(6===e[t].type)return!0;return!1})(e)&&i._knownModelVersionId===i._model.getVersionId()&&i.setStates(\"viewModel\",La.NotSet,i.getAll())}));var o=function(){i.context=new Pa(i._configuration,i._model,i._viewModel),i._cursors.updateContext(i.context)};return i._register(i._model.onDidChangeLanguage(function(e){o()})),i._register(i._model.onDidChangeLanguageConfiguration(function(){o()})),i._register(i._model.onDidChangeOptions(function(){o()})),i._register(i._configuration.onDidChange(function(e){Fa.shouldRecreate(e)&&o()})),i}return qh(t,e),t.prototype.dispose=function(){this._cursors.dispose(),e.prototype.dispose.call(this)},t.prototype.getPrimaryCursor=function(){return this._cursors.getPrimaryCursor()},t.prototype.getLastAddedCursorIndex=function(){return this._cursors.getLastAddedCursorIndex()},t.prototype.getAll=function(){return this._cursors.getAll()},t.prototype.setStates=function(e,n,r){r.length>t.MAX_CURSOR_COUNT&&(r=r.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var i=new Xh(this._model,this);this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._emitStateChangedIfNecessary(e,n,i)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,n){this._revealRange(t,0,e,n)},t.prototype.revealRange=function(e,t,n,r){this.emitCursorRevealRange(t,n,e,r)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),n=0,r=t.length;n<r;n++){var i=t[n];e.push({inSelectionMode:!i.isEmpty(),selectionStart:{lineNumber:i.selectionStartLineNumber,column:i.selectionStartColumn},position:{lineNumber:i.positionLineNumber,column:i.positionColumn}})}return e},t.prototype.restoreState=function(e){for(var t=[],n=0,r=e.length;n<r;n++){var i=e[n],o=1,s=1;i.position&&i.position.lineNumber&&(o=i.position.lineNumber),i.position&&i.position.column&&(s=i.position.column);var a=o,u=s;i.selectionStart&&i.selectionStart.lineNumber&&(a=i.selectionStart.lineNumber),i.selectionStart&&i.selectionStart.column&&(u=i.selectionStart.column),t.push({selectionStartLineNumber:a,selectionStartColumn:u,positionLineNumber:o,positionColumn:s})}this.setStates(\"restoreState\",La.NotSet,Ba.fromModelSelections(t)),this.reveal(!0,0,1)},t.prototype._onModelContentChanged=function(e){if(this._prevEditOperationType=0,e)this._cursors.dispose(),this._cursors=new Mh(this.context),this._emitStateChangedIfNecessary(\"model\",La.ContentFlush,null);else{var t=this._cursors.readSelectionFromMarkers();this.setStates(\"modelChange\",La.RecoverFromMarkers,Ba.fromModelSelections(t))}},t.prototype.getSelection=function(){return this._cursors.getPrimaryCursor().modelState.selection},t.prototype.getColumnSelectData=function(){if(this._columnSelectData)return this._columnSelectData;var e=this._cursors.getPrimaryCursor().viewState.position;return{toViewLineNumber:e.lineNumber,toViewVisualColumn:ja.visibleColumnFromColumn2(this.context.config,this.context.viewModel,e)}},t.prototype.getSelections=function(){return this._cursors.getSelections()},t.prototype.getViewSelections=function(){return this._cursors.getViewSelections()},t.prototype.getPosition=function(){return this._cursors.getPrimaryCursor().modelState.position},t.prototype.setSelections=function(e,t){this.setStates(e,La.NotSet,Ba.fromModelSelections(t))},t.prototype.getPrevEditOperationType=function(){return this._prevEditOperationType},t.prototype.setPrevEditOperationType=function(e){this._prevEditOperationType=e},t.prototype._executeEditOperation=function(e){if(e){e.shouldPushStackElementBefore&&this._model.pushStackElement();var t=$h.executeCommands(this._model,this._cursors.getSelections(),e.commands);t&&(this._interpretCommandResult(t),this._prevEditOperationType=e.type),e.shouldPushStackElementAfter&&this._model.pushStackElement()}},t.prototype._interpretCommandResult=function(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()},t.prototype._emitStateChangedIfNecessary=function(e,t,n){var r=new Xh(this._model,this);if(r.equals(n))return!1;var i=this._cursors.getSelections(),o=this._cursors.getViewSelections();try{this._beginEmit().emit(new Lh(o))}finally{this._endEmit()}return n&&n.cursorState.length===r.cursorState.length&&!r.cursorState.some(function(e,t){return!e.modelState.equals(n.cursorState[t].modelState)})||this._onDidChange.fire(new Qh(i,e||\"keyboard\",t)),!0},t.prototype._revealRange=function(e,t,n,r){var i=this._cursors.getViewPositions(),o=i[0];if(1===e)for(var s=1;s<i.length;s++)i[s].isBefore(o)&&(o=i[s]);else if(2===e)for(s=1;s<i.length;s++)o.isBeforeOrEqual(i[s])&&(o=i[s]);else if(i.length>1)return;var a=new be(o.lineNumber,o.column,o.lineNumber,o.column);this.emitCursorRevealRange(a,t,n,r)},t.prototype.emitCursorRevealRange=function(e,t,n,r){try{this._beginEmit().emit(new jh(e,t,n,r))}finally{this._endEmit()}},t.prototype.trigger=function(e,t,n){var r=Ce;if(t!==r.CompositionStart)if(t!==r.CompositionEnd)if(this._configuration.editor.readOnly)this._onDidAttemptReadOnlyEdit.fire(void 0);else{var i=new Xh(this._model,this),o=La.NotSet;t!==r.Undo&&t!==r.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case r.Type:this._type(e,n.text);break;case r.ReplacePreviousChar:this._replacePreviousChar(n.text,n.replaceCharCnt);break;case r.Paste:o=La.Paste,this._paste(n.text,n.pasteOnNewLine,n.multicursorText);break;case r.Cut:this._cut();break;case r.Undo:o=La.Undo,this._interpretCommandResult(this._model.undo());break;case r.Redo:o=La.Redo,this._interpretCommandResult(this._model.redo());break;case r.ExecuteCommand:this._externalExecuteCommand(n);break;case r.ExecuteCommands:this._externalExecuteCommands(n)}}catch(e){pn(e)}this._isHandling=!1,t!==r.Undo&&t!==r.Redo&&this._cursors.startTrackingSelections(),this._emitStateChangedIfNecessary(e,o,i)&&this._revealRange(0,0,!0,0)}else this._isDoingComposition=!1;else this._isDoingComposition=!0},t.prototype._type=function(e,t){if(this._isDoingComposition||\"keyboard\"!==e)this._executeEditOperation(vl.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var n=0,r=t.length;n<r;n++){var i=void 0;Ft(t.charCodeAt(n))&&n+1<r?(i=t.charAt(n)+t.charAt(n+1),n++):i=t.charAt(n),this._executeEditOperation(vl.typeWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),i))}},t.prototype._replacePreviousChar=function(e,t){this._executeEditOperation(vl.replacePreviousChar(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),e,t))},t.prototype._paste=function(e,t,n){this._executeEditOperation(vl.paste(this.context.config,this.context.model,this.getSelections(),e,t,n))},t.prototype._cut=function(){this._executeEditOperation(yl.cut(this.context.config,this.context.model,this.getSelections()))},t.prototype._externalExecuteCommand=function(e){this._cursors.killSecondaryCursors(),this._executeEditOperation(new Ra(0,[e],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},t.prototype._externalExecuteCommands=function(e){this._executeEditOperation(new Ra(0,e,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},t.MAX_CURSOR_COUNT=1e4,t}(Zh),$h=function(){function e(){}return e.executeCommands=function(e,t,n){for(var r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},i=this._innerExecuteCommands(r,n),o=0,s=r.trackedRanges.length;o<s;o++)r.model._setTrackedRange(r.trackedRanges[o],null,Pn.AlwaysGrowsWhenTypingAtEdges);return i},e._innerExecuteCommands=function(e,t){if(this._arrayIsEmpty(t))return null;var n=this._getEditOperations(e,t);if(0===n.operations.length)return null;var r=n.operations,i=this._getLoserCursorMap(r);if(i.hasOwnProperty(\"0\"))return console.warn(\"Ignoring commands\"),null;for(var o=[],s=0,a=r.length;s<a;s++)i.hasOwnProperty(r[s].identifier.major.toString())||o.push(r[s]);n.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);var u=e.model.pushEditOperations(e.selectionsBefore,o,function(n){for(var r=[],i=0;i<e.selectionsBefore.length;i++)r[i]=[];for(i=0;i<n.length;i++){var o=n[i];o.identifier&&r[o.identifier.major].push(o)}var s=function(e,t){return e.identifier.minor-t.identifier.minor},a=[],u=function(n){r[n].length>0?(r[n].sort(s),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:function(){return r[n]},getTrackedSelection:function(t){var n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===ui.LTR?new Ii(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new Ii(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n]};for(i=0;i<e.selectionsBefore.length;i++)u(i);return a}),l=[];for(var c in i)i.hasOwnProperty(c)&&l.push(parseInt(c,10));l.sort(function(e,t){return t-e});for(s=0;s<l.length;s++)u.splice(l[s],1);return u},e._arrayIsEmpty=function(e){for(var t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0},e._getEditOperations=function(e,t){for(var n=[],r=!1,i=0,o=t.length;i<o;i++)if(t[i]){var s=this._getEditOperationsFromCommand(e,i,t[i]);n=n.concat(s.operations),r=r||s.hadTrackedEditOperation}return{operations:n,hadTrackedEditOperation:r}},e._getEditOperationsFromCommand=function(e,t,n){var r=[],i=0,o=function(e,o){e.isEmpty()&&\"\"===o||r.push({identifier:{major:t,minor:i++},range:e,text:o,forceMoveMarkers:!1,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},s=!1,a={addEditOperation:o,addTrackedEditOperation:function(e,t){s=!0,o(e,t)},trackSelection:function(t,n){var r;if(t.isEmpty())if(\"boolean\"==typeof n)r=n?Pn.GrowsOnlyWhenTypingBefore:Pn.GrowsOnlyWhenTypingAfter;else{var i=e.model.getLineMaxColumn(t.startLineNumber);r=t.startColumn===i?Pn.GrowsOnlyWhenTypingBefore:Pn.GrowsOnlyWhenTypingAfter}else r=Pn.NeverGrowsWhenTypingAtEdges;var o=e.trackedRanges.length,s=e.model._setTrackedRange(null,t,r);return e.trackedRanges[o]=s,e.trackedRangesDirection[o]=t.getDirection(),o.toString()}};try{n.getEditOperations(e.model,a)}catch(e){return e.friendlyMessage=ns(\"corrupt.commands\",\"Unexpected exception while executing command.\"),pn(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:s}},e._getLoserCursorMap=function(e){(e=e.slice(0)).sort(function(e,t){return-be.compareRangesUsingEnds(e.range,t.range)});for(var t={},n=1;n<e.length;n++){var r=e[n-1],i=e[n];if(r.range.getStartPosition().isBefore(i.range.getEndPosition())){var o=void 0;t[(o=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major).toString()]=!0;for(var s=0;s<e.length;s++)e[s].identifier.major===o&&(e.splice(s,1),s<n&&n--,s--);n>0&&n--}}return t},e}();function ed(e,t){return function(e,t){for(var n='<div class=\"monaco-tokenized-source\">',r=e.split(/\\r\\n|\\r|\\n/),i=t.getInitialState(),o=0,s=r.length;o<s;o++){var a=r[o];o>0&&(n+=\"<br/>\");var u=t.tokenize2(a,i,0);Go.convertToEndOffset(u.tokens,a.length);for(var l=new Go(u.tokens,a),c=l.inflate(),h=0,d=0,p=c.getCount();d<p;d++){var f=c.getClassName(d),g=c.getEndOffset(d);n+='<span class=\"'+f+'\">'+et(a.substring(h,g))+\"</span>\",h=g}i=u.endState}return n+=\"</div>\"}(e,function(e){var t=xi.get(e);if(t)return t;return{getInitialState:function(){return yo},tokenize:void 0,tokenize2:function(e,t,n){return _o(0,0,t,n)}}}(t))}function td(e,t,n,r,i,o){for(var s=\"<div>\",a=r,u=0,l=0,c=t.getCount();l<c;l++){var h=t.getEndOffset(l);if(!(h<=r)){for(var d=\"\";a<h&&a<i;a++){var p=e.charCodeAt(a);switch(p){case 9:var f=o-(a+u)%o;for(u+=f-1;f>0;)d+=\"&nbsp;\",f--;break;case 60:d+=\"&lt;\";break;case 62:d+=\"&gt;\";break;case 38:d+=\"&amp;\";break;case 0:d+=\"&#00;\";break;case 65279:case 8232:d+=\"�\";break;case 13:d+=\"&#8203\";break;default:d+=String.fromCharCode(p)}}if(s+='<span style=\"'+t.getInlineStyle(l,n)+'\">'+d+\"</span>\",h>i||a>=i)break}}return s+=\"</div>\"}var nd=function(){return function(e,t,n,r){this.top=0|e,this.left=0|t,this.width=0|n,this.height=0|r}}(),rd=function(){return function(e,t){this.tabSize=e,this.data=t}}(),id=function(){return function(e,t,n,r){this.content=e,this.minColumn=t,this.maxColumn=n,this.tokens=r}}(),od=function(){function e(t,n,r,i,o,s,a,u){this.minColumn=t,this.maxColumn=n,this.content=r,this.isBasicASCII=e.isBasicASCII(r,o),this.containsRTL=e.containsRTL(r,this.isBasicASCII,i),this.tokens=s,this.inlineDecorations=a,this.tabSize=u}return e.isBasicASCII=function(e,t){return!t||Wt(e)},e.containsRTL=function(e,t,n){return!(t||!n)&&Bt(e)},e}(),sd=function(){return function(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}}(),ad=function(){return function(e,t){this.range=e,this.options=t}}(),ud=function(){function e(e,t,n,r,i){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=r,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}return e.prototype._clearCachedModelDecorationsResolver=function(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null},e.prototype.dispose=function(){this._decorationsCache=null,this._clearCachedModelDecorationsResolver()},e.prototype.reset=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onModelDecorationsChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onLineMappingChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype._getOrCreateViewModelDecoration=function(e){var t=e.id,n=this._decorationsCache[t];if(!n){var r=e.range,i=e.options,o=void 0;if(i.isWholeLine){var s=this._coordinatesConverter.convertModelPositionToViewPosition(new ye(r.startLineNumber,1)),a=this._coordinatesConverter.convertModelPositionToViewPosition(new ye(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)));o=new be(s.lineNumber,s.column,a.lineNumber,a.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(r);n=new ad(o,i),this._decorationsCache[t]=n}return n},e.prototype.getDecorationsViewportData=function(e){var t=!0;return(t=(t=t&&null!==this._cachedModelDecorationsResolver)&&e.equalsRange(this._cachedModelDecorationsResolverViewRange))||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver},e.prototype._getDecorationsViewportData=function(e){for(var t=this._linesCollection.getDecorationsInRange(e,this.editorId,this.configuration.editor.readOnly),n=e.startLineNumber,r=e.endLineNumber,i=[],o=0,s=[],a=n;a<=r;a++)s[a-n]=[];for(var u=0,l=t.length;u<l;u++){var c=t[u],h=c.options,d=this._getOrCreateViewModelDecoration(c),p=d.range;if(i[o++]=d,h.inlineClassName){var f=new sd(p,h.inlineClassName,h.inlineClassNameAffectsLetterSpacing?3:0),g=Math.max(n,p.startLineNumber),m=Math.min(r,p.endLineNumber);for(a=g;a<=m;a++)s[a-n].push(f)}if(h.beforeContentClassName&&n<=p.startLineNumber&&p.startLineNumber<=r){f=new sd(new be(p.startLineNumber,p.startColumn,p.startLineNumber,p.startColumn),h.beforeContentClassName,1);s[p.startLineNumber-n].push(f)}if(h.afterContentClassName&&n<=p.endLineNumber&&p.endLineNumber<=r){f=new sd(new be(p.endLineNumber,p.endColumn,p.endLineNumber,p.endColumn),h.afterContentClassName,2);s[p.endLineNumber-n].push(f)}}return{decorations:i,inlineDecorations:s}},e}(),ld=function(){return function(e,t){this.index=e,this.remainder=t}}(),cd=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=Os(e);var n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Os(e),t=Os(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)},e.prototype.removeValues=function(e,t){e=Os(e),t=Os(t);var n=this.values,r=this.prefixSum;if(e>=n.length)return!1;var i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=Os(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,n,r,i=0,o=this.values.length-1;i<=o;)if(t=i+(o-i)/2|0,e<(r=(n=this.prefixSum[t])-this.values[t]))o=t-1;else{if(!(e>=n))break;i=t+1}return new ld(t,e-r)},e}(),hd=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new cd(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t<this._cache.length)return this._cache[t]}return this._actual.getIndexOf(e)},e.prototype.warmUpCache=function(e,t){for(var n=[],r=e;r<=t;r++)n[r-e]=this.getIndexOf(r);this._cache=n,this._cacheAccumulatedValueStart=e},e}();function dd(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var pd=function(){function e(e,t,n,r){void 0===r&&(r=1),this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,n)),this.a=dd(Math.max(Math.min(1,r),0),3)}return e.equals=function(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a},e}(),fd=function(){function e(e,t,n,r){this.h=0|Math.max(Math.min(360,e),0),this.s=dd(Math.max(Math.min(1,t),0),3),this.l=dd(Math.max(Math.min(1,n),0),3),this.a=dd(Math.max(Math.min(1,r),0),3)}return e.equals=function(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a},e.fromRGBA=function(t){var n=t.r/255,r=t.g/255,i=t.b/255,o=t.a,s=Math.max(n,r,i),a=Math.min(n,r,i),u=0,l=0,c=(a+s)/2,h=s-a;if(h>0){switch(l=Math.min(c<=.5?h/(2*c):h/(2-2*c),1),s){case n:u=(r-i)/h+(r<i?6:0);break;case r:u=(i-n)/h+2;break;case i:u=(n-r)/h+4}u*=60,u=Math.round(u)}return new e(u,l,c,o)},e._hue2rgb=function(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e},e.toRGBA=function(t){var n,r,i,o=t.h/360,s=t.s,a=t.l,u=t.a;if(0===s)n=r=i=a;else{var l=a<.5?a*(1+s):a+s-a*s,c=2*a-l;n=e._hue2rgb(c,l,o+1/3),r=e._hue2rgb(c,l,o),i=e._hue2rgb(c,l,o-1/3)}return new pd(Math.round(255*n),Math.round(255*r),Math.round(255*i),u)},e}(),gd=function(){function e(e,t,n,r){this.h=0|Math.max(Math.min(360,e),0),this.s=dd(Math.max(Math.min(1,t),0),3),this.v=dd(Math.max(Math.min(1,n),0),3),this.a=dd(Math.max(Math.min(1,r),0),3)}return e.equals=function(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a},e.fromRGBA=function(t){var n,r=t.r/255,i=t.g/255,o=t.b/255,s=Math.max(r,i,o),a=s-Math.min(r,i,o),u=0===s?0:a/s;return n=0===a?0:s===r?((i-o)/a%6+6)%6:s===i?(o-r)/a+2:(r-i)/a+4,new e(Math.round(60*n),u,s,t.a)},e.toRGBA=function(e){var t=e.h,n=e.s,r=e.v,i=e.a,o=r*n,s=o*(1-Math.abs(t/60%2-1)),a=r-o,u=[0,0,0],l=u[0],c=u[1],h=u[2];return t<60?(l=o,c=s):t<120?(l=s,c=o):t<180?(c=o,h=s):t<240?(c=s,h=o):t<300?(l=s,h=o):t<360&&(l=o,h=s),l=Math.round(255*(l+a)),c=Math.round(255*(c+a)),h=Math.round(255*(h+a)),new pd(l,c,h,i)},e}(),md=function(){function e(e){if(!e)throw new Error(\"Color needs a value\");if(e instanceof pd)this.rgba=e;else if(e instanceof fd)this._hsla=e,this.rgba=fd.toRGBA(e);else{if(!(e instanceof gd))throw new Error(\"Invalid color ctor argument\");this._hsva=e,this.rgba=gd.toRGBA(e)}}return e.fromHex=function(t){return e.Format.CSS.parseHex(t)||e.red},Object.defineProperty(e.prototype,\"hsla\",{get:function(){return this._hsla?this._hsla:fd.fromRGBA(this.rgba)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hsva\",{get:function(){return this._hsva?this._hsva:gd.fromRGBA(this.rgba)},enumerable:!0,configurable:!0}),e.prototype.equals=function(e){return!!e&&pd.equals(this.rgba,e.rgba)&&fd.equals(this.hsla,e.hsla)&&gd.equals(this.hsva,e.hsva)},e.prototype.getRelativeLuminance=function(){return dd(.2126*e._relativeLuminanceForComponent(this.rgba.r)+.7152*e._relativeLuminanceForComponent(this.rgba.g)+.0722*e._relativeLuminanceForComponent(this.rgba.b),4)},e._relativeLuminanceForComponent=function(e){var t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)},e.prototype.getContrastRatio=function(e){var t=this.getRelativeLuminance(),n=e.getRelativeLuminance();return t>n?(t+.05)/(n+.05):(n+.05)/(t+.05)},e.prototype.isDarker=function(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3<128},e.prototype.isLighter=function(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128},e.prototype.isLighterThan=function(e){return this.getRelativeLuminance()>e.getRelativeLuminance()},e.prototype.isDarkerThan=function(e){return this.getRelativeLuminance()<e.getRelativeLuminance()},e.prototype.lighten=function(t){return new e(new fd(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*t,this.hsla.a))},e.prototype.darken=function(t){return new e(new fd(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*t,this.hsla.a))},e.prototype.transparent=function(t){var n=this.rgba,r=n.r,i=n.g,o=n.b,s=n.a;return new e(new pd(r,i,o,s*t))},e.prototype.isTransparent=function(){return 0===this.rgba.a},e.prototype.isOpaque=function(){return 1===this.rgba.a},e.prototype.opposite=function(){return new e(new pd(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))},e.prototype.blend=function(t){var n=t.rgba,r=this.rgba.a,i=n.a,o=r+i*(1-r);if(o<1e-6)return e.transparent;var s=this.rgba.r*r/o+n.r*i*(1-r)/o,a=this.rgba.g*r/o+n.g*i*(1-r)/o,u=this.rgba.b*r/o+n.b*i*(1-r)/o;return new e(new pd(s,a,u,o))},e.prototype.flatten=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=t.reduceRight(function(t,n){return e._flatten(n,t)});return e._flatten(this,r)},e._flatten=function(t,n){var r=1-t.rgba.a;return new e(new pd(r*n.rgba.r+t.rgba.a*t.rgba.r,r*n.rgba.g+t.rgba.a*t.rgba.g,r*n.rgba.b+t.rgba.a*t.rgba.b))},e.prototype.toString=function(){return e.Format.CSS.format(this)},e.getLighterColor=function(e,t,n){if(e.isLighterThan(t))return e;n=n||.5;var r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(i-r)/i,e.lighten(n)},e.getDarkerColor=function(e,t,n){if(e.isDarkerThan(t))return e;n=n||.5;var r=e.getRelativeLuminance();return n=n*(r-t.getRelativeLuminance())/r,e.darken(n)},e.white=new e(new pd(255,255,255,1)),e.black=new e(new pd(0,0,0,1)),e.red=new e(new pd(255,0,0,1)),e.blue=new e(new pd(0,0,255,1)),e.green=new e(new pd(0,255,0,1)),e.cyan=new e(new pd(0,255,255,1)),e.lightgrey=new e(new pd(211,211,211,1)),e.transparent=new e(new pd(0,0,0,0)),e}();!function(e){!function(t){!function(t){function n(e){var t=e.toString(16);return 2!==t.length?\"0\"+t:t}function r(e){switch(e){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?\"rgb(\"+t.rgba.r+\", \"+t.rgba.g+\", \"+t.rgba.b+\")\":e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return\"rgba(\"+e.rgba.r+\", \"+e.rgba.g+\", \"+e.rgba.b+\", \"+ +e.rgba.a.toFixed(2)+\")\"},t.formatHSL=function(t){return 1===t.hsla.a?\"hsl(\"+t.hsla.h+\", \"+(100*t.hsla.s).toFixed(2)+\"%, \"+(100*t.hsla.l).toFixed(2)+\"%)\":e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return\"hsla(\"+e.hsla.h+\", \"+(100*e.hsla.s).toFixed(2)+\"%, \"+(100*e.hsla.l).toFixed(2)+\"%, \"+e.hsla.a.toFixed(2)+\")\"},t.formatHex=function(e){return\"#\"+n(e.rgba.r)+n(e.rgba.g)+n(e.rgba.b)},t.formatHexA=function(t,r){return void 0===r&&(r=!1),r&&1===t.rgba.a?e.Format.CSS.formatHex(t):\"#\"+n(t.rgba.r)+n(t.rgba.g)+n(t.rgba.b)+n(Math.round(255*t.rgba.a))},t.format=function(t){return t?t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t):null},t.parseHex=function(t){if(!t)return null;var n=t.length;if(0===n)return null;if(35!==t.charCodeAt(0))return null;if(7===n){var i=16*r(t.charCodeAt(1))+r(t.charCodeAt(2)),o=16*r(t.charCodeAt(3))+r(t.charCodeAt(4)),s=16*r(t.charCodeAt(5))+r(t.charCodeAt(6));return new e(new pd(i,o,s,1))}if(9===n){i=16*r(t.charCodeAt(1))+r(t.charCodeAt(2)),o=16*r(t.charCodeAt(3))+r(t.charCodeAt(4)),s=16*r(t.charCodeAt(5))+r(t.charCodeAt(6));var a=16*r(t.charCodeAt(7))+r(t.charCodeAt(8));return new e(new pd(i,o,s,a/255))}if(4===n)return i=r(t.charCodeAt(1)),o=r(t.charCodeAt(2)),s=r(t.charCodeAt(3)),new e(new pd(16*i+i,16*o+o,16*s+s));if(5===n)return i=r(t.charCodeAt(1)),o=r(t.charCodeAt(2)),s=r(t.charCodeAt(3)),a=r(t.charCodeAt(4)),new e(new pd(16*i+i,16*o+o,16*s+s,(16*a+a)/255));return null}}(t.CSS||(t.CSS={}))}(e.Format||(e.Format={}))}(md||(md={}));var vd=function(){return function(e,t){this.outputLineIndex=e,this.outputOffset=t}}(),yd=function(){function e(e){this._lines=e}return e.prototype.convertViewPositionToModelPosition=function(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)},e.prototype.convertViewRangeToModelRange=function(e){var t=this._lines.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new be(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var n=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new be(n.lineNumber,n.column,r.lineNumber,r.column)},e.prototype.convertModelPositionToViewPosition=function(e){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column)},e.prototype.convertModelRangeToViewRange=function(e){var t=this._lines.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn),n=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new be(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}(),bd=function(){function e(e,t,n,r,i,o){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=r,this.columnsForFullWidthChar=i,this.wrappingIndent=o,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new yd(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error(\"ViewModel is out of sync with Model!\")},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var n=this.model.getLinesContent(),r=n.length,i=new Uint32Array(r),o=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(be.compareRangesUsingStarts),s=1,a=0,u=-1,l=u+1<o.length?a+1:r+2,c=0;c<r;c++){var h=c+1;h===l&&(s=o[++u].startLineNumber,a=o[u].endLineNumber,l=u+1<o.length?a+1:r+2);var d=h>=s&&h<=a,p=Dd(this.linePositionMapperFactory,n[c],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!d);i[c]=p.getViewLineCount(),this.lines[c]=p}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new hd(i)},e.prototype.getHiddenAreas=function(){var e=this;return this.hiddenAreasIds.map(function(t){return e.model.getDecorationRange(t)})},e.prototype._reduceRanges=function(e){var t=this;if(0===e.length)return[];for(var n=e.map(function(e){return t.model.validateRange(e)}).sort(be.compareRangesUsingStarts),r=[],i=n[0].startLineNumber,o=n[0].endLineNumber,s=1,a=n.length;s<a;s++){var u=n[s];u.startLineNumber>o+1?(r.push(new be(i,1,o,1)),i=u.startLineNumber,o=u.endLineNumber):u.endLineNumber>o&&(o=u.endLineNumber)}return r.push(new be(i,1,o,1)),r},e.prototype.setHiddenAreas=function(e){var t=this,n=this._reduceRanges(e),r=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(be.compareRangesUsingStarts);if(n.length===r.length){for(var i=!1,o=0;o<n.length;o++)if(!n[o].equalsRange(r[o])){i=!0;break}if(!i)return!1}var s=[];for(o=0;o<n.length;o++)s.push({range:n[o],options:Ma.EMPTY});this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,s);var a=n,u=1,l=0,c=-1,h=c+1<a.length?l+1:this.lines.length+2,d=!1;for(o=0;o<this.lines.length;o++){var p=o+1;p===h&&(u=a[++c].startLineNumber,l=a[c].endLineNumber,h=c+1<a.length?l+1:this.lines.length+2);var f=!1;if(p>=u&&p<=l?this.lines[o].isVisible()&&(this.lines[o]=this.lines[o].setVisible(!1),f=!0):(d=!0,this.lines[o].isVisible()||(this.lines[o]=this.lines[o].setVisible(!0),f=!0)),f){var g=this.lines[o].getViewLineCount();this.prefixSumComputer.changeValue(o,g)}}return d||this.setHiddenAreas([]),!0},e.prototype.modelPositionIsVisible=function(e,t){return!(e<1||e>this.lines.length)&&this.lines[e-1].isVisible()},e.prototype.setTabSize=function(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1),!0)},e.prototype.setWrappingSettings=function(e,t,n){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==n)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=n,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,n){if(e<=this._validModelVersionId)return null;var r=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,i=this.prefixSumComputer.getAccumulatedValue(n-1);return this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1),new Bh(r,i)},e.prototype.onModelLinesInserted=function(e,t,n,r){if(e<=this._validModelVersionId)return null;for(var i=this.getHiddenAreas(),o=!1,s=new ye(t,1),a=0;a<i.length;a++)if(i[a].containsPosition(s)){o=!0;break}for(var u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,l=0,c=[],h=new Uint32Array(r.length),d=(a=0,r.length);a<d;a++){var p=Dd(this.linePositionMapperFactory,r[a],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!o);c.push(p);var f=p.getViewLineCount();l+=f,h[a]=f}return this.lines=this.lines.slice(0,t-1).concat(c).concat(this.lines.slice(t-1)),this.prefixSumComputer.insertValues(t-1,h),new Rh(u,u+l-1)},e.prototype.onModelLineChanged=function(e,t,n){if(e<=this._validModelVersionId)return[!1,null,null,null];var r=t-1,i=this.lines[r].getViewLineCount(),o=this.lines[r].isVisible(),s=Dd(this.linePositionMapperFactory,n,this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,o);this.lines[r]=s;var a=this.lines[r].getViewLineCount(),u=!1,l=0,c=-1,h=0,d=-1,p=0,f=-1;return i>a?(f=(p=(c=(l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1)+1)+(i-a)-1,u=!0):i<a?(d=(h=(c=(l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+i-1)+1)+(a-i)-1,u=!0):c=(l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1,this.prefixSumComputer.changeValue(r,a),[u,l<=c?new Ph(l,c):null,h<=d?new Rh(h,d):null,p<=f?new Bh(p,f):null]},e.prototype.acceptVersionId=function(e){this._validModelVersionId=e,1!==this.lines.length||this.lines[0].isVisible()||this.setHiddenAreas([])},e.prototype.getViewLineCount=function(){return this._ensureValidState(),this.prefixSumComputer.getTotalValue()},e.prototype._toValidViewLineNumber=function(e){if(e<1)return 1;var t=this.getViewLineCount();return e>t?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);var r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),o=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),s=this.model.getActiveIndentGuide(r.lineNumber,i.lineNumber,o.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),u=this.convertModelPositionToViewPosition(s.endLineNumber,1);return{startLineNumber:a.lineNumber,endLineNumber:u.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],o=[],s=n.lineNumber-1,a=r.lineNumber-1,u=null,l=s;l<=a;l++){var c=this.lines[l];if(c.isVisible()){var h=0;if(l===s){var d=c.getViewLineNumberOfModelPosition(0,n.column);h=c.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(l+1))-d+1}else{d=c.getViewLineNumberOfModelPosition(0,1);h=c.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(l+1))-d+1}o.push(h),null===u&&(u=new ye(l+1,0))}else null!==u&&(i=i.concat(this.model.getLinesIndentGuides(u.lineNumber,l)),u=null)}null!==u&&(i=i.concat(this.model.getLinesIndentGuides(u.lineNumber,r.lineNumber)),u=null);for(var p=t-e+1,f=new Array(p),g=0,m=0,v=i.length;m<v;m++)for(var y=i[m],b=(h=Math.min(p-g,o[m]),0);b<h;b++)f[g++]=y;return f},e.prototype.getViewLineContent=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,r=t.remainder;return this.lines[n].getViewLineContent(this.model,n+1,r)},e.prototype.getViewLineLength=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,r=t.remainder;return this.lines[n].getViewLineLength(this.model,n+1,r)},e.prototype.getViewLineMinColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,r=t.remainder;return this.lines[n].getViewLineMinColumn(this.model,n+1,r)},e.prototype.getViewLineMaxColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,r=t.remainder;return this.lines[n].getViewLineMaxColumn(this.model,n+1,r)},e.prototype.getViewLineData=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,r=t.remainder;return this.lines[n].getViewLineData(this.model,n+1,r)},e.prototype.getViewLinesData=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var r=this.prefixSumComputer.getIndexOf(e-1),i=e,o=r.index,s=r.remainder,a=[],u=o,l=this.model.getLineCount();u<l;u++){var c=this.lines[u];if(c.isVisible()){var h=u===o?s:0,d=c.getViewLineCount()-h,p=!1;i+d>t&&(p=!0,d=t-i+1);var f=h+d;if(c.getViewLinesData(this.model,u+1,h,f,i-e,n,a),i+=d,p)break}}return a},e.prototype.validateViewPosition=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e);var r=this.prefixSumComputer.getIndexOf(e-1),i=r.index,o=r.remainder,s=this.lines[i],a=s.getViewLineMinColumn(this.model,i+1,o),u=s.getViewLineMaxColumn(this.model,i+1,o);t<a&&(t=a),t>u&&(t=u);var l=s.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new ye(i+1,l)).equals(n)?new ye(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var n=this.prefixSumComputer.getIndexOf(e-1),r=n.index,i=n.remainder,o=this.lines[r].getModelColumnOfViewPosition(i,t);return this.model.validatePosition(new ye(r+1,o))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var n=this.model.validatePosition(new ye(e,t)),r=n.lineNumber,i=n.column,o=r-1,s=!1;o>0&&!this.lines[o].isVisible();)o--,s=!0;if(0===o&&!this.lines[o].isVisible())return new ye(1,1);var a=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return s?this.lines[o].getViewPositionOfModelPosition(a,this.model.getLineMaxColumn(o+1)):this.lines[r-1].getViewPositionOfModelPosition(a,i)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var n=e-1;if(this.lines[n].isVisible()){var r=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(r,t)}for(;n>0&&!this.lines[n].isVisible();)n--;if(0===n&&!this.lines[n].isVisible())return 1;var i=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(i,this.model.getLineMaxColumn(n+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,n){for(var r=this.model.getOverviewRulerDecorations(e,t),i=new Sd,o=0,s=r.length;o<s;o++){var a=r[o],u=a.options.overviewRuler,l=u.position;if(0!==l){var c=xd(u,n),h=this._getViewLineNumberForModelPosition(a.range.startLineNumber,a.range.startColumn),d=this._getViewLineNumberForModelPosition(a.range.endLineNumber,a.range.endColumn);i.accept(c,h,d,l)}}return i.result},e.prototype.getDecorationsInRange=function(e,t,n){var r=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(i.lineNumber-r.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new be(r.lineNumber,r.column,i.lineNumber,i.column),t,n);for(var o=[],s=r.lineNumber-1,a=i.lineNumber-1,u=null,l=s;l<=a;l++){if(this.lines[l].isVisible())null===u&&(u=new ye(l+1,l===s?r.column:1));else if(null!==u){var c=this.model.getLineMaxColumn(l);o=o.concat(this.model.getDecorationsInRange(new be(u.lineNumber,u.column,l,c),t,n)),u=null}}return null!==u&&(o=o.concat(this.model.getDecorationsInRange(new be(u.lineNumber,u.column,i.lineNumber,i.column),t,n)),u=null),o},e}(),_d=function(){function e(){}return e.prototype.isVisible=function(){return!0},e.prototype.setVisible=function(e){return e?this:Cd.INSTANCE},e.prototype.getViewLineCount=function(){return 1},e.prototype.getViewLineContent=function(e,t,n){return e.getLineContent(t)},e.prototype.getViewLineLength=function(e,t,n){return e.getLineLength(t)},e.prototype.getViewLineMinColumn=function(e,t,n){return e.getLineMinColumn(t)},e.prototype.getViewLineMaxColumn=function(e,t,n){return e.getLineMaxColumn(t)},e.prototype.getViewLineData=function(e,t,n){var r=e.getLineTokens(t),i=r.getLineContent();return new id(i,1,i.length+1,r.inflate())},e.prototype.getViewLinesData=function(e,t,n,r,i,o,s){o[i]?s[i]=this.getViewLineData(e,t,0):s[i]=null},e.prototype.getModelColumnOfViewPosition=function(e,t){return t},e.prototype.getViewPositionOfModelPosition=function(e,t){return new ye(e,t)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){return e},e.INSTANCE=new e,e}(),Cd=function(){function e(){}return e.prototype.isVisible=function(){return!1},e.prototype.setVisible=function(e){return e?_d.INSTANCE:this},e.prototype.getViewLineCount=function(){return 0},e.prototype.getViewLineContent=function(e,t,n){throw new Error(\"Not supported\")},e.prototype.getViewLineLength=function(e,t,n){throw new Error(\"Not supported\")},e.prototype.getViewLineMinColumn=function(e,t,n){throw new Error(\"Not supported\")},e.prototype.getViewLineMaxColumn=function(e,t,n){throw new Error(\"Not supported\")},e.prototype.getViewLineData=function(e,t,n){throw new Error(\"Not supported\")},e.prototype.getViewLinesData=function(e,t,n,r,i,o,s){throw new Error(\"Not supported\")},e.prototype.getModelColumnOfViewPosition=function(e,t){throw new Error(\"Not supported\")},e.prototype.getViewPositionOfModelPosition=function(e,t){throw new Error(\"Not supported\")},e.prototype.getViewLineNumberOfModelPosition=function(e,t){throw new Error(\"Not supported\")},e.INSTANCE=new e,e}(),wd=function(){function e(e,t){this.positionMapper=e,this.wrappedIndent=this.positionMapper.getWrappedLinesIndent(),this.wrappedIndentLength=this.wrappedIndent.length,this.outputLineCount=this.positionMapper.getOutputLineCount(),this._isVisible=t}return e.prototype.isVisible=function(){return this._isVisible},e.prototype.setVisible=function(e){return this._isVisible=e,this},e.prototype.getViewLineCount=function(){return this._isVisible?this.outputLineCount:0},e.prototype.getInputStartOffsetOfOutputLineIndex=function(e){return this.positionMapper.getInputOffsetOfOutputPosition(e,0)},e.prototype.getInputEndOffsetOfOutputLineIndex=function(e,t,n){return n+1===this.outputLineCount?e.getLineMaxColumn(t)-1:this.positionMapper.getInputOffsetOfOutputPosition(n+1,0)},e.prototype.getViewLineContent=function(e,t,n){if(!this._isVisible)throw new Error(\"Not supported\");var r=this.getInputStartOffsetOfOutputLineIndex(n),i=this.getInputEndOffsetOfOutputLineIndex(e,t,n),o=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(o=this.wrappedIndent+o),o},e.prototype.getViewLineLength=function(e,t,n){if(!this._isVisible)throw new Error(\"Not supported\");var r=this.getInputStartOffsetOfOutputLineIndex(n),i=this.getInputEndOffsetOfOutputLineIndex(e,t,n)-r;return n>0&&(i=this.wrappedIndent.length+i),i},e.prototype.getViewLineMinColumn=function(e,t,n){if(!this._isVisible)throw new Error(\"Not supported\");return n>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,n){if(!this._isVisible)throw new Error(\"Not supported\");return this.getViewLineContent(e,t,n).length+1},e.prototype.getViewLineData=function(e,t,n){if(!this._isVisible)throw new Error(\"Not supported\");var r=this.getInputStartOffsetOfOutputLineIndex(n),i=this.getInputEndOffsetOfOutputLineIndex(e,t,n),o=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});n>0&&(o=this.wrappedIndent+o);var s=n>0?this.wrappedIndentLength+1:1,a=o.length+1,u=0;n>0&&(u=this.wrappedIndentLength);var l=e.getLineTokens(t);return new id(o,s,a,l.sliceAndInflate(r,i,u))},e.prototype.getViewLinesData=function(e,t,n,r,i,o,s){if(!this._isVisible)throw new Error(\"Not supported\");for(var a=n;a<r;a++){var u=i+a-n;o[u]?s[u]=this.getViewLineData(e,t,a):s[u]=null}},e.prototype.getModelColumnOfViewPosition=function(e,t){if(!this._isVisible)throw new Error(\"Not supported\");var n=t-1;return e>0&&(n<this.wrappedIndentLength?n=0:n-=this.wrappedIndentLength),this.positionMapper.getInputOffsetOfOutputPosition(e,n)+1},e.prototype.getViewPositionOfModelPosition=function(e,t){if(!this._isVisible)throw new Error(\"Not supported\");var n=this.positionMapper.getOutputPositionOfInputOffset(t-1),r=n.outputLineIndex,i=n.outputOffset+1;return r>0&&(i+=this.wrappedIndentLength),new ye(e+r,i)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error(\"Not supported\");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function Dd(e,t,n,r,i,o,s){var a=e.createLineMapping(t,n,r,i,o);return null===a?s?_d.INSTANCE:Cd.INSTANCE:new wd(a,s)}var Ed=function(){function e(e){this._lines=e}return e.prototype._validPosition=function(e){return this._lines.model.validatePosition(e)},e.prototype._validRange=function(e){return this._lines.model.validateRange(e)},e.prototype.convertViewPositionToModelPosition=function(e){return this._validPosition(e)},e.prototype.convertViewRangeToModelRange=function(e){return this._validRange(e)},e.prototype.validateViewPosition=function(e,t){return this._validPosition(t)},e.prototype.validateViewRange=function(e,t){return this._validRange(t)},e.prototype.convertModelPositionToViewPosition=function(e){return this._validPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this._validRange(e)},e.prototype.modelPositionIsVisible=function(e){var t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)},e}(),Ad=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new Ed(this)},e.prototype.getHiddenAreas=function(){return[]},e.prototype.setHiddenAreas=function(e){return!1},e.prototype.setTabSize=function(e){return!1},e.prototype.setWrappingSettings=function(e,t,n){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,n){return new Bh(t,n)},e.prototype.onModelLinesInserted=function(e,t,n,r){return new Rh(t,n)},e.prototype.onModelLineChanged=function(e,t,n){return[!1,new Ph(t,t),null,null]},e.prototype.acceptVersionId=function(e){},e.prototype.getViewLineCount=function(){return this.model.getLineCount()},e.prototype.warmUpLookupCache=function(e,t){},e.prototype.getActiveIndentGuide=function(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var n=t-e+1,r=new Array(n),i=0;i<n;i++)r[i]=0;return r},e.prototype.getViewLineContent=function(e){return this.model.getLineContent(e)},e.prototype.getViewLineLength=function(e){return this.model.getLineLength(e)},e.prototype.getViewLineMinColumn=function(e){return this.model.getLineMinColumn(e)},e.prototype.getViewLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},e.prototype.getViewLineData=function(e){var t=this.model.getLineTokens(e),n=t.getLineContent();return new id(n,1,n.length+1,t.inflate())},e.prototype.getViewLinesData=function(e,t,n){var r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);for(var i=[],o=e;o<=t;o++){var s=o-e;n[s]||(i[s]=null),i[s]=this.getViewLineData(o)}return i},e.prototype.getAllOverviewRulerDecorations=function(e,t,n){for(var r=this.model.getOverviewRulerDecorations(e,t),i=new Sd,o=0,s=r.length;o<s;o++){var a=r[o],u=a.options.overviewRuler,l=u.position;if(0!==l){var c=xd(u,n),h=a.range.startLineNumber,d=a.range.endLineNumber;i.accept(c,h,d,l)}}return i.result},e.prototype.getDecorationsInRange=function(e,t,n){return this.model.getDecorationsInRange(e,t,n)},e}(),Sd=function(){function e(){this.result=Object.create(null)}return e.prototype.accept=function(e,t,n,r){var i=this.result[e];if(i){var o=i[i.length-3],s=i[i.length-1];if(o===r&&s+1>=t)return void(n>s&&(i[i.length-1]=n));i.push(r,t,n)}else this.result[e]=[r,t,n]},e}();function xd(e,t){if(!e._resolvedColor){var n=t.type,r=\"dark\"===n?e.darkColor:\"light\"===n?e.color:e.hcColor;e._resolvedColor=function(e,t){if(\"string\"==typeof e)return e;var n=e?t.getColor(e.id):null;n||(n=md.transparent);return n.toString()}(r,t)}return e._resolvedColor}var Md,Nd=function(){function e(t,n,r,i){this.r=e._clamp(t),this.g=e._clamp(n),this.b=e._clamp(r),this.a=e._clamp(i)}return e._clamp=function(e){return e<0?0:e>255?255:0|e},e}(),Id=function(){function e(){var e=this;this._onDidChange=new wn,this.onDidChange=this._onDidChange.event,this._updateColorMap(),xi.onDidChange(function(t){t.changedColorMap&&e._updateColorMap()})}return e.getInstance=function(){return this._INSTANCE||(this._INSTANCE=new e),this._INSTANCE},e.prototype._updateColorMap=function(){var e=xi.getColorMap();if(!e)return this._colors=[null],void(this._backgroundIsLight=!0);this._colors=[null];for(var t=1;t<e.length;t++){var n=e[t].rgba;this._colors[t]=new Nd(n.r,n.g,n.b,Math.round(255*n.a))}var r=e[2].getRelativeLuminance();this._backgroundIsLight=r>=.5,this._onDidChange.fire(void 0)},e.prototype.getColor=function(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]},e.prototype.backgroundIsLight=function(){return this._backgroundIsLight},e._INSTANCE=null,e}(),Ld=function(){function e(t,n){if(760!==t.length)throw new Error(\"Invalid x2CharData\");if(190!==n.length)throw new Error(\"Invalid x1CharData\");this.x2charData=t,this.x1charData=n,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(n,50/60)}return e.soften=function(e,t){for(var n=new Uint8ClampedArray(e.length),r=0,i=e.length;r<i;r++)n[r]=e[r]*t;return n},e._getChIndex=function(e){return(e-=32)<0&&(e+=95),e%95},e.prototype.x2RenderChar=function(t,n,r,i,o,s,a){if(n+2>t.width||r+4>t.height)console.warn(\"bad render request outside image data\");else{var u=a?this.x2charDataLight:this.x2charData,l=e._getChIndex(i),c=4*t.width,h=s.r,d=s.g,p=s.b,f=o.r-h,g=o.g-d,m=o.b-p,v=t.data,y=4*l*2,b=r*c+4*n,_=u[y]/255;v[b+0]=h+f*_,v[b+1]=d+g*_,v[b+2]=p+m*_;_=u[y+1]/255;v[b+4]=h+f*_,v[b+5]=d+g*_,v[b+6]=p+m*_,b+=c;_=u[y+2]/255;v[b+0]=h+f*_,v[b+1]=d+g*_,v[b+2]=p+m*_;_=u[y+3]/255;v[b+4]=h+f*_,v[b+5]=d+g*_,v[b+6]=p+m*_,b+=c;_=u[y+4]/255;v[b+0]=h+f*_,v[b+1]=d+g*_,v[b+2]=p+m*_;_=u[y+5]/255;v[b+4]=h+f*_,v[b+5]=d+g*_,v[b+6]=p+m*_,b+=c;_=u[y+6]/255;v[b+0]=h+f*_,v[b+1]=d+g*_,v[b+2]=p+m*_;_=u[y+7]/255;v[b+4]=h+f*_,v[b+5]=d+g*_,v[b+6]=p+m*_}},e.prototype.x1RenderChar=function(t,n,r,i,o,s,a){if(n+1>t.width||r+2>t.height)console.warn(\"bad render request outside image data\");else{var u=a?this.x1charDataLight:this.x1charData,l=e._getChIndex(i),c=4*t.width,h=s.r,d=s.g,p=s.b,f=o.r-h,g=o.g-d,m=o.b-p,v=t.data,y=2*l*1,b=r*c+4*n,_=u[y]/255;v[b+0]=h+f*_,v[b+1]=d+g*_,v[b+2]=p+m*_,b+=c;_=u[y+1]/255;v[b+0]=h+f*_,v[b+1]=d+g*_,v[b+2]=p+m*_}},e.prototype.x2BlockRenderChar=function(e,t,n,r,i,o){if(t+2>e.width||n+4>e.height)console.warn(\"bad render request outside image data\");else{var s=4*e.width,a=i.r,u=i.g,l=i.b,c=a+.5*(r.r-a),h=u+.5*(r.g-u),d=l+.5*(r.b-l),p=e.data,f=n*s+4*t;p[f+0]=c,p[f+1]=h,p[f+2]=d,p[f+4]=c,p[f+5]=h,p[f+6]=d,p[(f+=s)+0]=c,p[f+1]=h,p[f+2]=d,p[f+4]=c,p[f+5]=h,p[f+6]=d,p[(f+=s)+0]=c,p[f+1]=h,p[f+2]=d,p[f+4]=c,p[f+5]=h,p[f+6]=d,p[(f+=s)+0]=c,p[f+1]=h,p[f+2]=d,p[f+4]=c,p[f+5]=h,p[f+6]=d}},e.prototype.x1BlockRenderChar=function(e,t,n,r,i,o){if(t+1>e.width||n+2>e.height)console.warn(\"bad render request outside image data\");else{var s=4*e.width,a=i.r,u=i.g,l=i.b,c=a+.5*(r.r-a),h=u+.5*(r.g-u),d=l+.5*(r.b-l),p=e.data,f=n*s+4*t;p[f+0]=c,p[f+1]=h,p[f+2]=d,p[(f+=s)+0]=c,p[f+1]=h,p[f+2]=d}},e}(),kd=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Td=function(e){function t(t,n,r){for(var i=e.call(this,0)||this,o=0;o<t.length;o++)i.set(t.charCodeAt(o),1);for(o=0;o<n.length;o++)i.set(n.charCodeAt(o),2);for(o=0;o<r.length;o++)i.set(r.charCodeAt(o),3);return i}return kd(t,e),t.prototype.get=function(t){return t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(Ps),Fd=function(){function e(e,t,n){this.classifier=new Td(e,t,n)}return e.nextVisibleColumn=function(e,t,n,r){return e=+e,t=+t,r=+r,n?e+(t-e%t):e+r},e.prototype.createLineMapping=function(t,n,r,i,o){if(-1===r)return null;n=+n,r=+r,i=+i;var s=0,a=\"\",u=-1;if((o=+o)!==vs.None&&-1!==(u=bt(t))){a=t.substring(0,u);for(var l=0;l<u;l++)s=e.nextVisibleColumn(s,n,9===t.charCodeAt(l),1);o===vs.Indent&&(a+=\"\\t\",s=e.nextVisibleColumn(s,n,!0,1)),s+i>r&&(a=\"\",s=0)}var c=this.classifier,h=0,d=[],p=0,f=0,g=-1,m=0,v=-1,y=0,b=t.length;for(l=0;l<b;l++){var _=t.charCodeAt(l),C=9===_,w=c.get(_);if(1===w&&(g=l,m=s),4===w&&l>0){var D=t.charCodeAt(l-1);1!==c.get(D)&&(g=l,m=s)}var E=1;if(Ht(_)&&(E=i),(f=e.nextVisibleColumn(f,n,C,E))>r&&0!==l){var A=void 0,S=void 0;-1!==g&&m<=r?(A=g,S=m):-1!==v&&y<=r?(A=v,S=y):(A=l,S=s),d[p++]=A-h,h=A,f=e.nextVisibleColumn(S,n,C,E),g=-1,m=0,v=-1,y=0}if(-1!==g&&(m=e.nextVisibleColumn(m,n,C,E)),-1!==v&&(y=e.nextVisibleColumn(y,n,C,E)),2===w&&(o===vs.None||l>=u)&&(g=l+1,m=s),4===w&&l<b-1){var x=t.charCodeAt(l+1);2!==c.get(x)&&(g=l+1,m=s)}3===w&&(v=l+1,y=s)}return 0===p?null:(d[p++]=b-h,new Od(new cd(function(e){for(var t=e.length,n=new Uint32Array(t),r=0;r<t;r++)n[r]=Os(e[r]);return n}(d)),a))},e}(),Od=function(){function e(e,t){this._prefixSums=e,this._wrappedLinesIndent=t}return e.prototype.getOutputLineCount=function(){return this._prefixSums.getCount()},e.prototype.getWrappedLinesIndent=function(){return this._wrappedLinesIndent},e.prototype.getInputOffsetOfOutputPosition=function(e,t){return 0===e?t:this._prefixSums.getAccumulatedValue(e-1)+t},e.prototype.getOutputPositionOfInputOffset=function(e){var t=this._prefixSums.getIndexOf(e);return new vd(t.index,t.remainder)},e}(),Pd=function(){function e(){this._heights=[],this._ids=[],this._afterLineNumbers=[],this._ordinals=[],this._prefixSum=[],this._prefixSumValidIndex=-1,this._whitespaceId2Index={},this._lastWhitespaceId=0}return e.findInsertionIndex=function(e,t,n,r){for(var i=0,o=e.length;i<o;){var s=i+o>>>1;t===e[s]?r<n[s]?o=s:i=s+1:t<e[s]?o=s:i=s+1}return i},e.prototype.insertWhitespace=function(t,n,r){t|=0,n|=0,r|=0;var i=++this._lastWhitespaceId,o=e.findInsertionIndex(this._afterLineNumbers,t,this._ordinals,n);return this._insertWhitespaceAtIndex(i,o,t,n,r),i},e.prototype._insertWhitespaceAtIndex=function(e,t,n,r,i){e|=0,t|=0,n|=0,r|=0,i|=0,this._heights.splice(t,0,i),this._ids.splice(t,0,e),this._afterLineNumbers.splice(t,0,n),this._ordinals.splice(t,0,r),this._prefixSum.splice(t,0,0);for(var o=Object.keys(this._whitespaceId2Index),s=0,a=o.length;s<a;s++){var u=o[s],l=this._whitespaceId2Index[u];l>=t&&(this._whitespaceId2Index[u]=l+1)}this._whitespaceId2Index[e.toString()]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,n){e|=0,t|=0,n|=0;var r=!1;return r=this.changeWhitespaceHeight(e,n)||r,r=this.changeWhitespaceAfterLineNumber(e,t)||r},e.prototype.changeWhitespaceHeight=function(e,t){t|=0;var n=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(n)){var r=this._whitespaceId2Index[n];if(this._heights[r]!==t)return this._heights[r]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1),!0}return!1},e.prototype.changeWhitespaceAfterLineNumber=function(t,n){n|=0;var r=(t|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(r)){var i=this._whitespaceId2Index[r];if(this._afterLineNumbers[i]!==n){var o=this._ordinals[i],s=this._heights[i];this.removeWhitespace(t);var a=e.findInsertionIndex(this._afterLineNumbers,n,this._ordinals,o);return this._insertWhitespaceAtIndex(t,a,n,o,s),!0}}return!1},e.prototype.removeWhitespace=function(e){var t=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(t)){var n=this._whitespaceId2Index[t];return delete this._whitespaceId2Index[t],this._removeWhitespaceAtIndex(n),!0}return!1},e.prototype._removeWhitespaceAtIndex=function(e){e|=0,this._heights.splice(e,1),this._ids.splice(e,1),this._afterLineNumbers.splice(e,1),this._ordinals.splice(e,1),this._prefixSum.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1);for(var t=Object.keys(this._whitespaceId2Index),n=0,r=t.length;n<r;n++){var i=t[n],o=this._whitespaceId2Index[i];o>=e&&(this._whitespaceId2Index[i]=o-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var n=0,r=this._afterLineNumbers.length;n<r;n++){var i=this._afterLineNumbers[n];e<=i&&i<=t?this._afterLineNumbers[n]=e-1:i>t&&(this._afterLineNumbers[n]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var n=0,r=this._afterLineNumbers.length;n<r;n++){e<=this._afterLineNumbers[n]&&(this._afterLineNumbers[n]+=t-e+1)}},e.prototype.getTotalHeight=function(){return 0===this._heights.length?0:this.getAccumulatedHeight(this._heights.length-1)},e.prototype.getAccumulatedHeight=function(e){e|=0;var t=Math.max(0,this._prefixSumValidIndex+1);0===t&&(this._prefixSum[0]=this._heights[0],t++);for(var n=t;n<=e;n++)this._prefixSum[n]=this._prefixSum[n-1]+this._heights[n];return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._prefixSum[e]},e.prototype.getAccumulatedHeightBeforeLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e);return-1===t?0:this.getAccumulatedHeight(t)},e.prototype._findLastWhitespaceBeforeLineNumber=function(e){e|=0;for(var t=this._afterLineNumbers,n=0,r=t.length-1;n<=r;){var i=n+((r-n|0)/2|0)|0;if(t[i]<e){if(i+1>=t.length||t[i+1]>=e)return i;n=i+1|0}else r=i-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._heights.length?t:-1},e.prototype.getFirstWhitespaceIndexAfterLineNumber=function(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)},e.prototype.getCount=function(){return this._heights.length},e.prototype.getAfterLineNumberForWhitespaceIndex=function(e){return e|=0,this._afterLineNumbers[e]},e.prototype.getIdForWhitespaceIndex=function(e){return e|=0,this._ids[e]},e.prototype.getHeightForWhitespaceIndex=function(e){return e|=0,this._heights[e]},e.prototype.getWhitespaces=function(e){e|=0;for(var t=[],n=0;n<this._heights.length;n++)t.push({id:this._ids[n],afterLineNumber:this._afterLineNumbers[n],heightInLines:this._heights[n]/e});return t},e}(),Bd=function(){function e(e,t){this._lineCount=e,this._lineHeight=t,this._whitespaces=new Pd}return e.prototype.setLineHeight=function(e){this._lineHeight=e},e.prototype.onFlushed=function(e){this._lineCount=e},e.prototype.insertWhitespace=function(e,t,n){return this._whitespaces.insertWhitespace(e,t,n)},e.prototype.changeWhitespace=function(e,t,n){return this._whitespaces.changeWhitespace(e,t,n)},e.prototype.removeWhitespace=function(e){return this._whitespaces.removeWhitespace(e)},e.prototype.onLinesDeleted=function(e,t){this._lineCount-=t-e+1,this._whitespaces.onLinesDeleted(e,t)},e.prototype.onLinesInserted=function(e,t){this._lineCount+=t-e+1,this._whitespaces.onLinesInserted(e,t)},e.prototype.getLinesTotalHeight=function(){return this._lineHeight*this._lineCount+this._whitespaces.getTotalHeight()},e.prototype.getVerticalOffsetForLineNumber=function(e){return((e|=0)>1?this._lineHeight*(e-1):0)+this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber=function(e){return this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.hasWhitespace=function(){return this._whitespaces.getCount()>0},e.prototype.isAfterLines=function(e){return e>this.getLinesTotalHeight()},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e){if((e|=0)<0)return 1;for(var t=0|this._lineCount,n=this._lineHeight,r=1,i=t;r<i;){var o=(r+i)/2|0,s=0|this.getVerticalOffsetForLineNumber(o);if(e>=s+n)r=o+1;else{if(e>=s)return o;i=o}}return r>t?t:r},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var n,r,i=this._lineHeight,o=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(o),a=0|this._lineCount,u=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(o),l=0|this._whitespaces.getCount();-1===u?(u=l,r=a+1,n=0):(r=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));var c=s,h=c,d=0;s>=5e5&&(d=5e5*Math.floor(s/5e5),h-=d=Math.floor(d/i)*i);for(var p=[],f=e+(t-e)/2,g=-1,m=o;m<=a;m++){if(-1===g){(c<=f&&f<c+i||c>f)&&(g=m)}for(c+=i,p[m-o]=h,h+=i;r===m;)h+=n,c+=n,++u>=l?r=a+1:(r=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));if(c>=t){a=m;break}}-1===g&&(g=a);var v=0|this.getVerticalOffsetForLineNumber(a),y=o,b=a;return y<b&&s<e&&y++,y<b&&v+i>t&&b--,{bigNumbersDelta:d,startLineNumber:o,endLineNumber:a,relativeVerticalOffset:p,centeredLineNumber:g,completelyVisibleStartLineNumber:y,completelyVisibleEndLineNumber:b}},e.prototype.getVerticalOffsetForWhitespaceIndex=function(e){e|=0;var t=this._whitespaces.getAfterLineNumberForWhitespaceIndex(e);return(t>=1?this._lineHeight*t:0)+(e>0?this._whitespaces.getAccumulatedHeight(e-1):0)},e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset=function(e){e|=0;var t,n,r=0,i=this._whitespaces.getCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this._whitespaces.getHeightForWhitespaceIndex(i))return-1;for(;r<i;)if(t=Math.floor((r+i)/2),e>=(n=this.getVerticalOffsetForWhitespaceIndex(t))+this._whitespaces.getHeightForWhitespaceIndex(t))r=t+1;else{if(e>=n)return t;i=t}return r},e.prototype.getWhitespaceAtVerticalOffset=function(e){e|=0;var t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this._whitespaces.getCount())return null;var n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;var r=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this._whitespaces.getCount()-1;if(n<0)return[];for(var i=[],o=n;o<=r;o++){var s=this.getVerticalOffsetForWhitespaceIndex(o),a=this._whitespaces.getHeightForWhitespaceIndex(o);if(s>=t)break;i.push({id:this._whitespaces.getIdForWhitespaceIndex(o),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:s,height:a})}return i},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}(),Rd=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),jd=function(e){function t(t,n,r){var i=e.call(this)||this;return i._configuration=t,i._linesLayout=new Bd(n,i._configuration.editor.lineHeight),i.scrollable=i._register(new ss(0,r)),i._configureSmoothScrollDuration(),i.scrollable.setScrollDimensions({width:t.editor.layoutInfo.contentWidth,height:t.editor.layoutInfo.contentHeight}),i.onDidScroll=i.scrollable.onScroll,i._updateHeight(),i}return Rd(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onHeightMaybeChanged=function(){this._updateHeight()},t.prototype._configureSmoothScrollDuration=function(){this.scrollable.setSmoothScrollDuration(this._configuration.editor.viewInfo.smoothScrolling?125:0)},t.prototype.onConfigurationChanged=function(e){e.lineHeight&&this._linesLayout.setLineHeight(this._configuration.editor.lineHeight),e.layoutInfo&&this.scrollable.setScrollDimensions({width:this._configuration.editor.layoutInfo.contentWidth,height:this._configuration.editor.layoutInfo.contentHeight}),e.viewInfo&&this._configureSmoothScrollDuration(),this._updateHeight()},t.prototype.onFlushed=function(e){this._linesLayout.onFlushed(e)},t.prototype.onLinesDeleted=function(e,t){this._linesLayout.onLinesDeleted(e,t)},t.prototype.onLinesInserted=function(e,t){this._linesLayout.onLinesInserted(e,t)},t.prototype._getHorizontalScrollbarHeight=function(e){return this._configuration.editor.viewInfo.scrollbar.horizontal===rs.Hidden?0:e.width>=e.scrollWidth?0:this._configuration.editor.viewInfo.scrollbar.horizontalScrollbarSize},t.prototype._getTotalHeight=function(){var e=this.scrollable.getScrollDimensions(),t=this._linesLayout.getLinesTotalHeight();return this._configuration.editor.viewInfo.scrollBeyondLastLine?t+=e.height-this._configuration.editor.lineHeight:t+=this._getHorizontalScrollbarHeight(e),Math.max(e.height,t)},t.prototype._updateHeight=function(){this.scrollable.setScrollDimensions({scrollHeight:this._getTotalHeight()})},t.prototype.getCurrentViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getCurrentScrollPosition();return new nd(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new nd(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,n){return this._configuration.editor.wrappingInfo.isViewportWrapping?Math.max(e,n):Math.max(e+t.LINES_HORIZONTAL_EXTRA_PX,n)},t.prototype.onMaxLineWidthChanged=function(e){var t=this._computeScrollWidth(e,this.getCurrentViewport().width);this.scrollable.setScrollDimensions({scrollWidth:t}),this._updateHeight()},t.prototype.saveState=function(){var e=this.scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}},t.prototype.addWhitespace=function(e,t,n){return this._linesLayout.insertWhitespace(e,t,n)},t.prototype.changeWhitespace=function(e,t,n){return this._linesLayout.changeWhitespace(e,t,n)},t.prototype.removeWhitespace=function(e){return this._linesLayout.removeWhitespace(e)},t.prototype.getVerticalOffsetForLineNumber=function(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)},t.prototype.isAfterLines=function(e){return this._linesLayout.isAfterLines(e)},t.prototype.getLineNumberAtVerticalOffset=function(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)},t.prototype.getWhitespaceAtVerticalOffset=function(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)},t.prototype.getLinesViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)},t.prototype.getLinesViewportDataAtScrollTop=function(e){var t=this.scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)},t.prototype.getWhitespaceViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)},t.prototype.getWhitespaces=function(){return this._linesLayout.getWhitespaces()},t.prototype.getScrollWidth=function(){return this.scrollable.getScrollDimensions().scrollWidth},t.prototype.getScrollHeight=function(){return this.scrollable.getScrollDimensions().scrollHeight},t.prototype.getCurrentScrollLeft=function(){return this.scrollable.getCurrentScrollPosition().scrollLeft},t.prototype.getCurrentScrollTop=function(){return this.scrollable.getCurrentScrollPosition().scrollTop},t.prototype.validateScrollPosition=function(e){return this.scrollable.validateScrollPosition(e)},t.prototype.setScrollPositionNow=function(e){this.scrollable.setScrollPositionNow(e)},t.prototype.setScrollPositionSmooth=function(e){this.scrollable.setScrollPositionSmooth(e)},t.prototype.deltaScrollNow=function(e,t){var n=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})},t.LINES_HORIZONTAL_EXTRA_PX=30,t}(un),zd=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Wd=!0,Vd=function(e){function t(t,n,r,i){var o=e.call(this)||this;if(o.editorId=t,o.configuration=n,o.model=r,o.hasFocus=!1,o.viewportStartLine=-1,o.viewportStartLineTrackedRange=null,o.viewportStartLineTop=0,Wd&&o.model.isTooLargeForTokenization())o.lines=new Ad(o.model);else{var s=o.configuration.editor,a=new Fd(s.wrappingInfo.wordWrapBreakBeforeCharacters,s.wrappingInfo.wordWrapBreakAfterCharacters,s.wrappingInfo.wordWrapBreakObtrusiveCharacters);o.lines=new bd(o.model,a,o.model.getOptions().tabSize,s.wrappingInfo.wrappingColumn,s.fontInfo.typicalFullwidthCharacterWidth/s.fontInfo.typicalHalfwidthCharacterWidth,s.wrappingInfo.wrappingIndent)}return o.coordinatesConverter=o.lines.createCoordinatesConverter(),o.viewLayout=o._register(new jd(o.configuration,o.getLineCount(),i)),o._register(o.viewLayout.onDidScroll(function(e){try{o._beginEmit().emit(new zh(e))}finally{o._endEmit()}})),o.decorations=new ud(o.editorId,o.model,o.configuration,o.lines,o.coordinatesConverter),o._registerModelEvents(),o._register(o.configuration.onDidChange(function(e){try{var t=o._beginEmit();o._onConfigurationChanged(t,e)}finally{o._endEmit()}})),o._register(Id.getInstance().onDidChange(function(){try{o._beginEmit().emit(new Hh)}finally{o._endEmit()}})),o}return zd(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.decorations.dispose(),this.lines.dispose(),this.viewportStartLineTrackedRange=this.model._setTrackedRange(this.viewportStartLineTrackedRange,null,Pn.NeverGrowsWhenTypingAtEdges)},t.prototype.setHasFocus=function(e){this.hasFocus=e},t.prototype._onConfigurationChanged=function(e,t){var n=null;if(-1!==this.viewportStartLine){var r=new ye(this.viewportStartLine,this.getLineMinColumn(this.viewportStartLine));n=this.coordinatesConverter.convertViewPositionToModelPosition(r)}var i=!1,o=this.configuration.editor;if(this.lines.setWrappingSettings(o.wrappingInfo.wrappingIndent,o.wrappingInfo.wrappingColumn,o.fontInfo.typicalFullwidthCharacterWidth/o.fontInfo.typicalHalfwidthCharacterWidth)&&(e.emit(new Th),e.emit(new Oh),e.emit(new kh),this.decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),0!==this.viewLayout.getCurrentScrollTop()&&(i=!0)),t.readOnly&&(this.decorations.reset(),e.emit(new kh)),e.emit(new Ih(t)),this.viewLayout.onConfigurationChanged(t),i&&n){var s=this.coordinatesConverter.convertModelPositionToViewPosition(n),a=this.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber);this.viewLayout.deltaScrollNow(0,a-this.viewportStartLineTop)}},t.prototype._registerModelEvents=function(){var e=this;this._register(this.model.onDidChangeRawContentFast(function(t){try{for(var n=e._beginEmit(),r=!1,i=!1,o=t.changes,s=t.versionId,a=0,u=o.length;a<u;a++){var l=o[a];switch(l.changeType){case 1:e.lines.onModelFlushed(),n.emit(new Th),e.decorations.reset(),e.viewLayout.onFlushed(e.getLineCount()),r=!0;break;case 3:null!==(f=e.lines.onModelLinesDeleted(s,l.fromLineNumber,l.toLineNumber))&&(n.emit(f),e.viewLayout.onLinesDeleted(f.fromLineNumber,f.toLineNumber)),r=!0;break;case 4:null!==(p=e.lines.onModelLinesInserted(s,l.fromLineNumber,l.toLineNumber,l.detail))&&(n.emit(p),e.viewLayout.onLinesInserted(p.fromLineNumber,p.toLineNumber)),r=!0;break;case 2:var c=e.lines.onModelLineChanged(s,l.lineNumber,l.detail),h=c[0],d=c[1],p=c[2],f=c[3];i=h,d&&n.emit(d),p&&(n.emit(p),e.viewLayout.onLinesInserted(p.fromLineNumber,p.toLineNumber)),f&&(n.emit(f),e.viewLayout.onLinesDeleted(f.fromLineNumber,f.toLineNumber))}}e.lines.acceptVersionId(s),e.viewLayout.onHeightMaybeChanged(),!r&&i&&(n.emit(new Oh),n.emit(new kh),e.decorations.onLineMappingChanged())}finally{e._endEmit()}if(e.viewportStartLine=-1,e.configuration.setMaxLineNumber(e.model.getLineCount()),!e.hasFocus&&e.model.getAttachedEditorCount()>=2&&e.viewportStartLineTrackedRange){var g=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(g){var m=e.coordinatesConverter.convertModelPositionToViewPosition(g.getStartPosition()),v=e.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber);e.viewLayout.deltaScrollNow(0,v-e.viewportStartLineTop)}}})),this._register(this.model.onDidChangeTokens(function(t){for(var n=[],r=0,i=t.ranges.length;r<i;r++){var o=t.ranges[r],s=e.coordinatesConverter.convertModelPositionToViewPosition(new ye(o.fromLineNumber,1)).lineNumber,a=e.coordinatesConverter.convertModelPositionToViewPosition(new ye(o.toLineNumber,e.model.getLineMaxColumn(o.toLineNumber))).lineNumber;n[r]={fromLineNumber:s,toLineNumber:a}}try{e._beginEmit().emit(new Wh(n))}finally{e._endEmit()}})),this._register(this.model.onDidChangeLanguageConfiguration(function(t){try{e._beginEmit().emit(new Yh)}finally{e._endEmit()}})),this._register(this.model.onDidChangeOptions(function(t){if(e.lines.setTabSize(e.model.getOptions().tabSize)){e.decorations.onLineMappingChanged(),e.viewLayout.onFlushed(e.getLineCount());try{var n=e._beginEmit();n.emit(new Th),n.emit(new Oh),n.emit(new kh)}finally{e._endEmit()}}})),this._register(this.model.onDidChangeDecorations(function(t){e.decorations.onModelDecorationsChanged();try{e._beginEmit().emit(new kh)}finally{e._endEmit()}}))},t.prototype.setHiddenAreas=function(e){try{var t=this._beginEmit();this.lines.setHiddenAreas(e)&&(t.emit(new Th),t.emit(new Oh),t.emit(new kh),this.decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()))}finally{this._endEmit()}},t.prototype.getVisibleRanges=function(){var e=this.getCompletelyVisibleViewRange(),t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this.lines.getHiddenAreas();if(0===n.length)return[t];for(var r=[],i=0,o=t.startLineNumber,s=t.startColumn,a=t.endLineNumber,u=t.endColumn,l=0,c=n.length;l<c;l++){var h=n[l].startLineNumber,d=n[l].endLineNumber;d<o||(h>a||(o<h&&(r[i++]=new be(o,s,h-1,this.model.getLineMaxColumn(h-1))),o=d+1,s=1))}return(o<a||o===a&&s<u)&&(r[i++]=new be(o,s,a,u)),r},t.prototype.getCompletelyVisibleViewRange=function(){var e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new be(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))},t.prototype.getCompletelyVisibleViewRangeAtScrollTop=function(e){var t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new be(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))},t.prototype.saveState=function(){var e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new ye(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}},t.prototype.reduceRestoreState=function(e){if(void 0===e.firstPosition)return this._reduceRestoreStateCompatibility(e);var t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}},t.prototype._reduceRestoreStateCompatibility=function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}},t.prototype.getTabSize=function(){return this.model.getOptions().tabSize},t.prototype.getLineCount=function(){return this.lines.getViewLineCount()},t.prototype.setViewport=function(e,t,n){this.lines.warmUpLookupCache(e,t),this.viewportStartLine=e;var r=this.coordinatesConverter.convertViewPositionToModelPosition(new ye(e,this.getLineMinColumn(e)));this.viewportStartLineTrackedRange=this.model._setTrackedRange(this.viewportStartLineTrackedRange,new be(r.lineNumber,r.column,r.lineNumber,r.column),Pn.NeverGrowsWhenTypingAtEdges),this.viewportStartLineTop=this.viewLayout.getVerticalOffsetForLineNumber(e)},t.prototype.getActiveIndentGuide=function(e,t,n){return this.lines.getActiveIndentGuide(e,t,n)},t.prototype.getLinesIndentGuides=function(e,t){return this.lines.getViewLinesIndentGuides(e,t)},t.prototype.getLineContent=function(e){return this.lines.getViewLineContent(e)},t.prototype.getLineLength=function(e){return this.lines.getViewLineLength(e)},t.prototype.getLineMinColumn=function(e){return this.lines.getViewLineMinColumn(e)},t.prototype.getLineMaxColumn=function(e){return this.lines.getViewLineMaxColumn(e)},t.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=bt(this.getLineContent(e));return-1===t?0:t+1},t.prototype.getLineLastNonWhitespaceColumn=function(e){var t=Ct(this.getLineContent(e));return-1===t?0:t+2},t.prototype.getDecorationsInViewport=function(e){return this.decorations.getDecorationsViewportData(e).decorations},t.prototype.getViewLineRenderingData=function(e,t){var n=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),i=this.getTabSize(),o=this.lines.getViewLineData(t),s=this.decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return new od(o.minColumn,o.maxColumn,o.content,n,r,o.tokens,s,i)},t.prototype.getViewLineData=function(e){return this.lines.getViewLineData(e)},t.prototype.getMinimapLinesRenderingData=function(e,t,n){var r=this.lines.getViewLinesData(e,t,n);return new rd(this.getTabSize(),r)},t.prototype.getAllOverviewRulerDecorations=function(e){return this.lines.getAllOverviewRulerDecorations(this.editorId,this.configuration.editor.readOnly,e)},t.prototype.invalidateOverviewRulerColorCache=function(){for(var e=this.model.getOverviewRulerDecorations(),t=0,n=e.length;t<n;t++){e[t].options.overviewRuler._resolvedColor=null}},t.prototype.getValueInRange=function(e,t){var n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)},t.prototype.getModelLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},t.prototype.validateModelPosition=function(e){return this.model.validatePosition(e)},t.prototype.deduceModelPositionRelativeToViewPosition=function(e,t,n){var r=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=n:t+=n);var i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)},t.prototype.getEOL=function(){return this.model.getEOL()},t.prototype.getPlainTextToCopy=function(e,t,n){var r=this,i=n?\"\\r\\n\":this.model.getEOL();(e=e.slice(0)).sort(be.compareRangesUsingStarts);var o=e.filter(function(e){return!e.isEmpty()});if(0===o.length){if(!t)return\"\";for(var s=e.map(function(e){var t=new ye(e.startLineNumber,1);return r.coordinatesConverter.convertViewPositionToModelPosition(t).lineNumber}),a=\"\",u=0;u<s.length;u++)u>0&&s[u-1]===s[u]||(a+=this.model.getLineContent(s[u])+i);return a}var l=[];for(u=0;u<o.length;u++)l.push(this.getValueInRange(o[u],n?kn.CRLF:kn.TextDefined));return 1===l.length?l[0]:l},t.prototype.getHTMLToCopy=function(e,t){if(1===this.model.getLanguageIdentifier().id)return null;if(1!==e.length)return null;var n=this.coordinatesConverter.convertViewRangeToModelRange(e[0]);if(n.isEmpty()){if(!t)return null;var r=n.startLineNumber;n=new be(r,this.model.getLineMinColumn(r),r,this.model.getLineMaxColumn(r))}var i=this.configuration.editor.fontInfo,o=this._getColorMap();return'<div style=\"color: '+o[1]+\";background-color: \"+o[2]+\";font-family: \"+i.fontFamily+\";font-weight: \"+i.fontWeight+\";font-size: \"+i.fontSize+\"px;line-height: \"+i.lineHeight+'px;white-space: pre;\">'+this._getHTMLToCopy(n,o)+\"</div>\"},t.prototype._getHTMLToCopy=function(e,t){for(var n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,o=e.endColumn,s=this.getTabSize(),a=\"\",u=n;u<=i;u++){var l=this.model.getLineTokens(u),c=l.getLineContent(),h=u===n?r-1:0,d=u===i?o-1:c.length;a+=\"\"===c?\"<br>\":td(c,l.inflate(),t,h,d,s)}return a},t.prototype._getColorMap=function(){for(var e=xi.getColorMap(),t=[null],n=1,r=e.length;n<r;n++)t[n]=md.Format.CSS.formatHex(e[n]);return t},t}(Zh);function Hd(e,t){switch(void 0===t&&(t=0),typeof e){case\"object\":return null===e?Ud(349,t):Array.isArray(e)?(n=e,r=Ud(104579,r=t),n.reduce(function(e,t){return Hd(t,e)},r)):function(e,t){return t=Ud(181387,t),Object.keys(e).sort().reduce(function(t,n){return t=Yd(n,t),Hd(e[n],t)},t)}(e,t);case\"string\":return Yd(e,t);case\"boolean\":return function(e,t){return Ud(e?433:863,t)}(e,t);case\"number\":return Ud(e,t);case\"undefined\":return Ud(e,937);default:return Ud(e,617)}var n,r}function Ud(e,t){return(t<<5)-t+e|0}function Yd(e,t){t=Ud(149417,t);for(var n=0,r=e.length;n<r;n++)t=Ud(e.charCodeAt(n),t);return t}!function(e){e.inMemory=\"inmemory\",e.vscode=\"vscode\",e.internal=\"private\",e.walkThrough=\"walkThrough\",e.walkThroughSnippet=\"walkThroughSnippet\",e.http=\"http\",e.https=\"https\",e.file=\"file\",e.mailto=\"mailto\",e.untitled=\"untitled\",e.data=\"data\"}(Md||(Md={}));var Zd=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Gd=0,Kd=function(e){function t(t,n,r,i,o,s){var a=e.call(this)||this;return a._onDidDispose=a._register(new wn),a.onDidDispose=a._onDidDispose.event,a._onDidChangeModelContent=a._register(new wn),a.onDidChangeModelContent=a._onDidChangeModelContent.event,a._onDidChangeModelLanguage=a._register(new wn),a.onDidChangeModelLanguage=a._onDidChangeModelLanguage.event,a._onDidChangeModelLanguageConfiguration=a._register(new wn),a.onDidChangeModelLanguageConfiguration=a._onDidChangeModelLanguageConfiguration.event,a._onDidChangeModelOptions=a._register(new wn),a.onDidChangeModelOptions=a._onDidChangeModelOptions.event,a._onDidChangeModelDecorations=a._register(new wn),a.onDidChangeModelDecorations=a._onDidChangeModelDecorations.event,a._onDidChangeConfiguration=a._register(new wn),a.onDidChangeConfiguration=a._onDidChangeConfiguration.event,a._onDidChangeModel=a._register(new wn),a.onDidChangeModel=a._onDidChangeModel.event,a._onDidChangeCursorPosition=a._register(new wn),a.onDidChangeCursorPosition=a._onDidChangeCursorPosition.event,a._onDidChangeCursorSelection=a._register(new wn),a.onDidChangeCursorSelection=a._onDidChangeCursorSelection.event,a._onDidAttemptReadOnlyEdit=a._register(new wn),a.onDidAttemptReadOnlyEdit=a._onDidAttemptReadOnlyEdit.event,a._onDidLayoutChange=a._register(new wn),a.onDidLayoutChange=a._onDidLayoutChange.event,a._editorTextFocus=a._register(new qd),a.onDidFocusEditorText=a._editorTextFocus.onDidChangeToTrue,a.onDidBlurEditorText=a._editorTextFocus.onDidChangeToFalse,a._editorFocus=a._register(new qd),a.onDidFocusEditor=a._editorFocus.onDidChangeToTrue,a.onDidBlurEditor=a._editorFocus.onDidChangeToFalse,a._onWillType=a._register(new wn),a.onWillType=a._onWillType.event,a._onDidType=a._register(new wn),a.onDidType=a._onDidType.event,a._onDidPaste=a._register(new wn),a.onDidPaste=a._onDidPaste.event,a.domElement=t,a.id=++Gd,a._decorationTypeKeysToIds={},a._decorationTypeSubtypes={},a.isSimpleWidget=r,n=n||{},a._configuration=a._register(a._createConfiguration(n)),a._register(a._configuration.onDidChange(function(e){a._onDidChangeConfiguration.fire(e),e.layoutInfo&&a._onDidLayoutChange.fire(a._configuration.editor.layoutInfo)})),a._contextKeyService=a._register(o.createScoped(a.domElement)),a._notificationService=s,a._register(new Qd(a,a._contextKeyService)),a._register(new Xd(a,a._contextKeyService)),a._instantiationService=i.createChild(new Sh([Su,a._contextKeyService])),a._attachModel(null),a._contributions={},a._actions={},a}return Zd(t,e),t.prototype.getId=function(){return this.getEditorType()+\":\"+this.id},t.prototype.getEditorType=function(){return _e.ICodeEditor},t.prototype.dispose=function(){for(var t=Object.keys(this._contributions),n=0,r=t.length;n<r;n++){var i=t[n];this._contributions[i].dispose()}this._contributions={},this._actions={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),e.prototype.dispose.call(this)},t.prototype.invokeWithinContext=function(e){return this._instantiationService.invokeFunction(e)},t.prototype.updateOptions=function(e){this._configuration.updateOptions(e)},t.prototype.getConfiguration=function(){return this._configuration.editor},t.prototype.getRawConfiguration=function(){return this._configuration.getRawOptions()},t.prototype.getValue=function(e){if(void 0===e&&(e=null),this.model){var t=!(!e||!e.preserveBOM),n=kn.TextDefined;return e&&e.lineEnding&&\"\\n\"===e.lineEnding?n=kn.LF:e&&e.lineEnding&&\"\\r\\n\"===e.lineEnding&&(n=kn.CRLF),this.model.getValue(n,t)}return\"\"},t.prototype.setValue=function(e){this.model&&this.model.setValue(e)},t.prototype.getModel=function(){return this.model},t.prototype.setModel=function(e){if(void 0===e&&(e=null),this.model!==e){var t=this._detachModel();this._attachModel(e);var n={oldModelUrl:t?t.uri:null,newModelUrl:e?e.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(t)}},t.prototype._removeDecorationTypes=function(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(var e in this._decorationTypeSubtypes){var t=this._decorationTypeSubtypes[e];for(var n in t)this._removeDecorationType(e+\"-\"+n)}this._decorationTypeSubtypes={}}},t.prototype.getVisibleRanges=function(){return this.hasView?this.viewModel.getVisibleRanges():[]},t.prototype.getWhitespaces=function(){return this.hasView?this.viewModel.viewLayout.getWhitespaces():[]},t.prototype._getVerticalOffsetForPosition=function(e,t){var n=this.model.validatePosition({lineNumber:e,column:t}),r=this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber)},t.prototype.getTopForLineNumber=function(e){return this.hasView?this._getVerticalOffsetForPosition(e,1):-1},t.prototype.getTopForPosition=function(e,t){return this.hasView?this._getVerticalOffsetForPosition(e,t):-1},t.prototype.setHiddenAreas=function(e){this.viewModel&&this.viewModel.setHiddenAreas(e.map(function(e){return be.lift(e)}))},t.prototype.getVisibleColumnFromPosition=function(e){if(!this.model)return e.column;var t=this.model.validatePosition(e),n=this.model.getOptions().tabSize;return ja.visibleColumnFromColumn(this.model.getLineContent(t.lineNumber),t.column,n)+1},t.prototype.getPosition=function(){return this.cursor?this.cursor.getPosition().clone():null},t.prototype.setPosition=function(e){if(this.cursor){if(!ye.isIPosition(e))throw new Error(\"Invalid arguments\");this.cursor.setSelections(\"api\",[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}},t.prototype._sendRevealRange=function(e,t,n,r){if(this.model&&this.cursor){if(!be.isIRange(e))throw new Error(\"Invalid arguments\");var i=this.model.validateRange(e),o=this.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this.cursor.emitCursorRevealRange(o,t,n,r)}},t.prototype.revealLine=function(e,t){void 0===t&&(t=0),this._revealLine(e,0,t)},t.prototype.revealLineInCenter=function(e,t){void 0===t&&(t=0),this._revealLine(e,1,t)},t.prototype.revealLineInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealLine(e,2,t)},t.prototype._revealLine=function(e,t,n){if(\"number\"!=typeof e)throw new Error(\"Invalid arguments\");this._sendRevealRange(new be(e,1,e,1),t,!1,n)},t.prototype.revealPosition=function(e,t){void 0===t&&(t=0),this._revealPosition(e,0,!0,t)},t.prototype.revealPositionInCenter=function(e,t){void 0===t&&(t=0),this._revealPosition(e,1,!0,t)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealPosition(e,2,!0,t)},t.prototype._revealPosition=function(e,t,n,r){if(!ye.isIPosition(e))throw new Error(\"Invalid arguments\");this._sendRevealRange(new be(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)},t.prototype.getSelection=function(){return this.cursor?this.cursor.getSelection().clone():null},t.prototype.getSelections=function(){if(!this.cursor)return null;for(var e=this.cursor.getSelections(),t=[],n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t},t.prototype.setSelection=function(e){var t=Ii.isISelection(e),n=be.isIRange(e);if(!t&&!n)throw new Error(\"Invalid arguments\");if(t)this._setSelectionImpl(e);else if(n){var r={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(r)}},t.prototype._setSelectionImpl=function(e){if(this.cursor){var t=new Ii(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this.cursor.setSelections(\"api\",[t])}},t.prototype.revealLines=function(e,t,n){void 0===n&&(n=0),this._revealLines(e,t,0,n)},t.prototype.revealLinesInCenter=function(e,t,n){void 0===n&&(n=0),this._revealLines(e,t,1,n)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t,n){void 0===n&&(n=0),this._revealLines(e,t,2,n)},t.prototype._revealLines=function(e,t,n,r){if(\"number\"!=typeof e||\"number\"!=typeof t)throw new Error(\"Invalid arguments\");this._sendRevealRange(new be(e,1,t,1),n,!1,r)},t.prototype.revealRange=function(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=!1),void 0===r&&(r=!0),this._revealRange(e,n?1:0,r,t)},t.prototype.revealRangeInCenter=function(e,t){void 0===t&&(t=0),this._revealRange(e,1,!0,t)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealRange(e,2,!0,t)},t.prototype.revealRangeAtTop=function(e,t){void 0===t&&(t=0),this._revealRange(e,3,!0,t)},t.prototype._revealRange=function(e,t,n,r){if(!be.isIRange(e))throw new Error(\"Invalid arguments\");this._sendRevealRange(be.lift(e),t,n,r)},t.prototype.setSelections=function(e){if(this.cursor){if(!e||0===e.length)throw new Error(\"Invalid arguments\");for(var t=0,n=e.length;t<n;t++)if(!Ii.isISelection(e[t]))throw new Error(\"Invalid arguments\");this.cursor.setSelections(\"api\",e)}},t.prototype.getScrollWidth=function(){return this.hasView?this.viewModel.viewLayout.getScrollWidth():-1},t.prototype.getScrollLeft=function(){return this.hasView?this.viewModel.viewLayout.getCurrentScrollLeft():-1},t.prototype.getScrollHeight=function(){return this.hasView?this.viewModel.viewLayout.getScrollHeight():-1},t.prototype.getScrollTop=function(){return this.hasView?this.viewModel.viewLayout.getCurrentScrollTop():-1},t.prototype.setScrollLeft=function(e){if(this.hasView){if(\"number\"!=typeof e)throw new Error(\"Invalid arguments\");this.viewModel.viewLayout.setScrollPositionNow({scrollLeft:e})}},t.prototype.setScrollTop=function(e){if(this.hasView){if(\"number\"!=typeof e)throw new Error(\"Invalid arguments\");this.viewModel.viewLayout.setScrollPositionNow({scrollTop:e})}},t.prototype.setScrollPosition=function(e){this.hasView&&this.viewModel.viewLayout.setScrollPositionNow(e)},t.prototype.saveViewState=function(){if(!this.cursor||!this.hasView)return null;for(var e={},t=Object.keys(this._contributions),n=0,r=t.length;n<r;n++){var i=t[n],o=this._contributions[i];\"function\"==typeof o.saveViewState&&(e[i]=o.saveViewState())}return{cursorState:this.cursor.saveState(),viewState:this.viewModel.saveState(),contributionsState:e}},t.prototype.restoreViewState=function(e){if(this.cursor&&this.hasView&&e&&e.cursorState&&e.viewState){var t=e.cursorState;Array.isArray(t)?this.cursor.restoreState(t):this.cursor.restoreState([t]);for(var n=e.contributionsState||{},r=Object.keys(this._contributions),i=0,o=r.length;i<o;i++){var s=r[i],a=this._contributions[s];\"function\"==typeof a.restoreViewState&&a.restoreViewState(n[s])}}},t.prototype.onVisible=function(){},t.prototype.onHide=function(){},t.prototype.getContribution=function(e){return this._contributions[e]||null},t.prototype.getActions=function(){for(var e=[],t=Object.keys(this._actions),n=0,r=t.length;n<r;n++){var i=t[n];e.push(this._actions[i])}return e},t.prototype.getSupportedActions=function(){var e=this.getActions();return e=e.filter(function(e){return e.isSupported()})},t.prototype.getAction=function(e){return this._actions[e]||null},t.prototype.trigger=function(e,t,n){if(n=n||{},t===Ce.Type){if(!this.cursor||\"string\"!=typeof n.text||0===n.text.length)return;return\"keyboard\"===e&&this._onWillType.fire(n.text),this.cursor.trigger(e,t,n),void(\"keyboard\"===e&&this._onDidType.fire(n.text))}if(t!==Ce.Paste){var r=this.getAction(t);r?cn.b.as(r.run()).then(null,pn):this.cursor&&(this._triggerEditorCommand(e,t,n)||this.cursor.trigger(e,t,n))}else{if(!this.cursor||\"string\"!=typeof n.text||0===n.text.length)return;var i=this.cursor.getSelection().getStartPosition();this.cursor.trigger(e,t,n);var o=this.cursor.getSelection().getStartPosition();\"keyboard\"===e&&this._onDidPaste.fire(new be(i.lineNumber,i.column,o.lineNumber,o.column))}},t.prototype._getCursors=function(){return this.cursor},t.prototype._getCursorConfiguration=function(){return this.cursor.context.config},t.prototype.pushUndoStop=function(){return!!this.model&&(!this._configuration.editor.readOnly&&(this.model.pushStackElement(),!0))},t.prototype.executeEdits=function(e,t,n){return!!this.cursor&&(!this._configuration.editor.readOnly&&(this.model.pushEditOperations(this.cursor.getSelections(),t,function(){return n||null}),n&&this.cursor.setSelections(e,n),!0))},t.prototype.executeCommand=function(e,t){this.cursor&&this.cursor.trigger(e,Ce.ExecuteCommand,t)},t.prototype.executeCommands=function(e,t){this.cursor&&this.cursor.trigger(e,Ce.ExecuteCommands,t)},t.prototype.changeDecorations=function(e){return this.model?this.model.changeDecorations(e,this.id):null},t.prototype.getLineDecorations=function(e){return this.model?this.model.getLineDecorations(e,this.id,this._configuration.editor.readOnly):null},t.prototype.deltaDecorations=function(e,t){return this.model?0===e.length&&0===t.length?e:this.model.deltaDecorations(e,t,this.id):[]},t.prototype.setDecorations=function(e,t){var n={},r=this._decorationTypeSubtypes[e]||{};this._decorationTypeSubtypes[e]=n;for(var i=[],o=0,s=t;o<s.length;o++){var a=s[o],u=e;if(a.renderOptions)u=e+\"-\"+(c=Hd(a.renderOptions).toString(16)),r[c]||n[c]||this._registerDecorationType(u,a.renderOptions,e),n[c]=!0;var l=this._resolveDecorationOptions(u,!!a.hoverMessage);a.hoverMessage&&(l.hoverMessage=a.hoverMessage),i.push({range:a.range,options:l})}for(var c in r)n[c]||this._removeDecorationType(e+\"-\"+c);var h=this._decorationTypeKeysToIds[e]||[];this._decorationTypeKeysToIds[e]=this.deltaDecorations(h,i)},t.prototype.setDecorationsFast=function(e,t){var n=this._decorationTypeSubtypes[e]||{};for(var r in n)this._removeDecorationType(e+\"-\"+r);this._decorationTypeSubtypes[e]={};for(var i=Ma.createDynamic(this._resolveDecorationOptions(e,!1)),o=new Array(t.length),s=0,a=t.length;s<a;s++)o[s]={range:t[s],options:i};var u=this._decorationTypeKeysToIds[e]||[];this._decorationTypeKeysToIds[e]=this.deltaDecorations(u,o)},t.prototype.removeDecorations=function(e){var t=this._decorationTypeKeysToIds[e];t&&this.deltaDecorations(t,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]},t.prototype.getLayoutInfo=function(){return this._configuration.editor.layoutInfo},t.prototype._attachModel=function(e){var t=this;this.model=e||null,this.listenersToRemove=[],this.viewModel=null,this.cursor=null,this.model?(this.domElement.setAttribute(\"data-mode-id\",this.model.getLanguageIdentifier().language),this._configuration.setIsDominatedByLongLines(this.model.isDominatedByLongLines()),this._configuration.setMaxLineNumber(this.model.getLineCount()),this.model.onBeforeAttached(),this.viewModel=new Vd(this.id,this._configuration,this.model,function(e){return t._scheduleAtNextAnimationFrame(e)}),this.listenersToRemove.push(this.model.onDidChangeDecorations(function(e){return t._onDidChangeModelDecorations.fire(e)})),this.listenersToRemove.push(this.model.onDidChangeLanguage(function(e){t.model&&(t.domElement.setAttribute(\"data-mode-id\",t.model.getLanguageIdentifier().language),t._onDidChangeModelLanguage.fire(e))})),this.listenersToRemove.push(this.model.onDidChangeLanguageConfiguration(function(e){return t._onDidChangeModelLanguageConfiguration.fire(e)})),this.listenersToRemove.push(this.model.onDidChangeContent(function(e){return t._onDidChangeModelContent.fire(e)})),this.listenersToRemove.push(this.model.onDidChangeOptions(function(e){return t._onDidChangeModelOptions.fire(e)})),this.listenersToRemove.push(this.model.onWillDispose(function(){return t.setModel(null)})),this.cursor=new Jh(this._configuration,this.model,this.viewModel),this._createView(),this.listenersToRemove.push(this.cursor.onDidReachMaxCursorCount(function(){t._notificationService.warn(ns(\"cursors.maximum\",\"The number of cursors has been limited to {0}.\",Jh.MAX_CURSOR_COUNT))})),this.listenersToRemove.push(this.cursor.onDidAttemptReadOnlyEdit(function(){t._onDidAttemptReadOnlyEdit.fire(void 0)})),this.listenersToRemove.push(this.cursor.onDidChange(function(e){for(var n=[],r=0,i=e.selections.length;r<i;r++)n[r]=e.selections[r].getPosition();var o={position:n[0],secondaryPositions:n.slice(1),reason:e.reason,source:e.source};t._onDidChangeCursorPosition.fire(o);var s={selection:e.selections[0],secondarySelections:e.selections.slice(1),source:e.source,reason:e.reason};t._onDidChangeCursorSelection.fire(s)}))):this.hasView=!1},t.prototype._postDetachModelCleanup=function(e){e&&e.removeAllDecorationsWithOwnerId(this.id)},t.prototype._detachModel=function(){this.model&&this.model.onBeforeDetached(),this.hasView=!1,this.listenersToRemove=on(this.listenersToRemove),this.cursor&&(this.cursor.dispose(),this.cursor=null),this.viewModel&&(this.viewModel.dispose(),this.viewModel=null);var e=this.model;return this.model=null,this.domElement.removeAttribute(\"data-mode-id\"),e},t.prototype.getTelemetryData=function(){return null},t}(un),qd=function(e){function t(){var t=e.call(this)||this;return t._onDidChangeToTrue=t._register(new wn),t.onDidChangeToTrue=t._onDidChangeToTrue.event,t._onDidChangeToFalse=t._register(new wn),t.onDidChangeToFalse=t._onDidChangeToFalse.event,t._value=0,t}return Zd(t,e),t.prototype.setValue=function(e){var t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())},t}(un),Qd=function(e){function t(t,n){var r=e.call(this)||this;return r._editor=t,n.createKey(\"editorId\",t.getId()),r._editorFocus=nl.focus.bindTo(n),r._textInputFocus=nl.textInputFocus.bindTo(n),r._editorTextFocus=nl.editorTextFocus.bindTo(n),r._editorTabMovesFocus=nl.tabMovesFocus.bindTo(n),r._editorReadonly=nl.readOnly.bindTo(n),r._hasMultipleSelections=nl.hasMultipleSelections.bindTo(n),r._hasNonEmptySelection=nl.hasNonEmptySelection.bindTo(n),r._register(r._editor.onDidChangeConfiguration(function(){return r._updateFromConfig()})),r._register(r._editor.onDidChangeCursorSelection(function(){return r._updateFromSelection()})),r._register(r._editor.onDidFocusEditor(function(){return r._updateFromFocus()})),r._register(r._editor.onDidBlurEditor(function(){return r._updateFromFocus()})),r._register(r._editor.onDidFocusEditorText(function(){return r._updateFromFocus()})),r._register(r._editor.onDidBlurEditorText(function(){return r._updateFromFocus()})),r._updateFromConfig(),r._updateFromSelection(),r._updateFromFocus(),r}return Zd(t,e),t.prototype._updateFromConfig=function(){var e=this._editor.getConfiguration();this._editorTabMovesFocus.set(e.tabFocusMode),this._editorReadonly.set(e.readOnly)},t.prototype._updateFromSelection=function(){var e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(function(e){return!e.isEmpty()}))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())},t.prototype._updateFromFocus=function(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.isFocused()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.isFocused())},t}(un),Xd=function(e){function t(t,n){var r=e.call(this)||this;r._editor=t,r._langId=nl.languageId.bindTo(n),r._hasCompletionItemProvider=nl.hasCompletionItemProvider.bindTo(n),r._hasCodeActionsProvider=nl.hasCodeActionsProvider.bindTo(n),r._hasCodeLensProvider=nl.hasCodeLensProvider.bindTo(n),r._hasDefinitionProvider=nl.hasDefinitionProvider.bindTo(n),r._hasImplementationProvider=nl.hasImplementationProvider.bindTo(n),r._hasTypeDefinitionProvider=nl.hasTypeDefinitionProvider.bindTo(n),r._hasHoverProvider=nl.hasHoverProvider.bindTo(n),r._hasDocumentHighlightProvider=nl.hasDocumentHighlightProvider.bindTo(n),r._hasDocumentSymbolProvider=nl.hasDocumentSymbolProvider.bindTo(n),r._hasReferenceProvider=nl.hasReferenceProvider.bindTo(n),r._hasRenameProvider=nl.hasRenameProvider.bindTo(n),r._hasDocumentFormattingProvider=nl.hasDocumentFormattingProvider.bindTo(n),r._hasDocumentSelectionFormattingProvider=nl.hasDocumentSelectionFormattingProvider.bindTo(n),r._hasSignatureHelpProvider=nl.hasSignatureHelpProvider.bindTo(n),r._isInWalkThrough=nl.isInEmbeddedEditor.bindTo(n);var i=function(){return r._update()};return r._register(t.onDidChangeModel(i)),r._register(t.onDidChangeModelLanguage(i)),r._register(hi.onDidChange(i)),r._register(_i.onDidChange(i)),r._register(bi.onDidChange(i)),r._register(mi.onDidChange(i)),r._register(vi.onDidChange(i)),r._register(yi.onDidChange(i)),r._register(pi.onDidChange(i)),r._register(gi.onDidChange(i)),r._register(fi.onDidChange(i)),r._register(li.onDidChange(i)),r._register(ci.onDidChange(i)),r._register(Ci.onDidChange(i)),r._register(wi.onDidChange(i)),r._register(di.onDidChange(i)),i(),r}return Zd(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()},t.prototype._update=function(){var e=this._editor.getModel();e?(this._langId.set(e.getLanguageIdentifier().language),this._hasCompletionItemProvider.set(hi.has(e)),this._hasCodeActionsProvider.set(_i.has(e)),this._hasCodeLensProvider.set(bi.has(e)),this._hasDefinitionProvider.set(mi.has(e)),this._hasImplementationProvider.set(vi.has(e)),this._hasTypeDefinitionProvider.set(yi.has(e)),this._hasHoverProvider.set(pi.has(e)),this._hasDocumentHighlightProvider.set(gi.has(e)),this._hasDocumentSymbolProvider.set(fi.has(e)),this._hasReferenceProvider.set(li.has(e)),this._hasRenameProvider.set(ci.has(e)),this._hasSignatureHelpProvider.set(di.has(e)),this._hasDocumentFormattingProvider.set(Ci.has(e)||wi.has(e)),this._hasDocumentSelectionFormattingProvider.set(wi.has(e)),this._isInWalkThrough.set(e.uri.scheme===Md.walkThroughSnippet)):this.reset()},t}(un),Jd=\"base.contributions.json\";var $d=new(function(){function e(){this._onDidChangeSchema=new wn,this.onDidChangeSchema=this._onDidChangeSchema.event,this.schemasById={}}return e.prototype.registerSchema=function(e,t){var n;this.schemasById[(n=e,n.length>0&&\"#\"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e.prototype.getSchemaContributions=function(){return{schemas:this.schemasById}},e}());su.add(Jd,$d);var ep,tp={Configuration:\"base.contributions.configuration\"};!function(e){e[e.APPLICATION=1]=\"APPLICATION\",e[e.WINDOW=2]=\"WINDOW\",e[e.RESOURCE=3]=\"RESOURCE\"}(ep||(ep={}));var np={properties:{},patternProperties:{}},rp={properties:{},patternProperties:{}},ip={properties:{},patternProperties:{}},op={properties:{},patternProperties:{}},sp=\"vscode://schemas/settings/editor\",ap=su.as(Jd),up=function(){function e(){this.overrideIdentifiers=[],this._onDidRegisterConfiguration=new wn,this.onDidRegisterConfiguration=this._onDidRegisterConfiguration.event,this.configurationContributors=[],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:\"Unknown editor configuration setting\"},this.configurationProperties={},this.excludedConfigurationProperties={},this.computeOverridePropertyPattern(),ap.registerSchema(sp,this.editorConfigurationSchema)}return e.prototype.registerConfiguration=function(e,t){void 0===t&&(t=!0),this.registerConfigurations([e],[],t)},e.prototype.registerConfigurations=function(e,t,n){var r=this;void 0===n&&(n=!0);var i=this.toConfiguration(t);i&&e.push(i);var o=[];e.forEach(function(e){o.push.apply(o,r.validateAndRegisterProperties(e,n)),r.configurationContributors.push(e),r.registerJSONConfiguration(e),r.updateSchemaForOverrideSettingsConfiguration(e)}),this._onDidRegisterConfiguration.fire(o)},e.prototype.notifyConfigurationSchemaUpdated=function(e){ap.notifySchemaChanged(sp)},e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.toConfiguration=function(e){for(var t={id:\"defaultOverrides\",title:ns(\"defaultConfigurations.title\",\"Default Configuration Overrides\"),properties:{}},n=0,r=e;n<r.length;n++){var i=r[n];for(var o in i.defaults){var s=i.defaults[o];dp.test(o)&&\"object\"==typeof s&&(t.properties[o]={type:\"object\",default:s,description:ns(\"overrideSettings.description\",\"Configure editor settings to be overridden for {0} language.\",o),$ref:sp})}}return Object.keys(t.properties).length?t:null},e.prototype.validateAndRegisterProperties=function(e,t,n,r){void 0===t&&(t=!0),void 0===n&&(n=ep.WINDOW),void 0===r&&(r=!1),n=void 0!==e.scope&&null!==e.scope?e.scope:n,r=e.overridable||r;var i=[],o=e.properties;if(o)for(var s in o){var a=void 0;if(t&&(a=gp(s)))console.warn(a),delete o[s];else{var u=o[s];Gr(u.default)&&(u.default=pp(u.type)),r&&(u.overridable=!0),void 0===u.scope&&(u.scope=n),!o[s].hasOwnProperty(\"included\")||o[s].included?(this.configurationProperties[s]=o[s],i.push(s)):(this.excludedConfigurationProperties[s]=o[s],delete o[s])}}var l=e.allOf;if(l)for(var c=0,h=l;c<h.length;c++){var d=h[c];i.push.apply(i,this.validateAndRegisterProperties(d,t,n,r))}return i},e.prototype.getConfigurations=function(){return this.configurationContributors},e.prototype.getConfigurationProperties=function(){return this.configurationProperties},e.prototype.getExcludedConfigurationProperties=function(){return this.excludedConfigurationProperties},e.prototype.registerJSONConfiguration=function(e){!function e(t){var n=t.properties;if(n)for(var r in n)switch(np.properties[r]=n[r],n[r].scope){case ep.APPLICATION:rp.properties[r]=n[r];break;case ep.WINDOW:ip.properties[r]=n[r];break;case ep.RESOURCE:op.properties[r]=n[r]}var i=t.allOf;i&&i.forEach(e)}(e)},e.prototype.updateSchemaForOverrideSettingsConfiguration=function(e){e.id!==lp&&(this.update(e),ap.registerSchema(sp,this.editorConfigurationSchema))},e.prototype.updateOverridePropertyPatternKey=function(){var e=np.patternProperties[this.overridePropertyPattern];e||(e={type:\"object\",description:ns(\"overrideSettings.defaultDescription\",\"Configure editor settings to be overridden for a language.\"),errorMessage:\"Unknown Identifier. Use language identifiers\",$ref:sp}),delete np.patternProperties[this.overridePropertyPattern],delete rp.patternProperties[this.overridePropertyPattern],delete ip.patternProperties[this.overridePropertyPattern],delete op.patternProperties[this.overridePropertyPattern],this.computeOverridePropertyPattern(),np.patternProperties[this.overridePropertyPattern]=e,rp.patternProperties[this.overridePropertyPattern]=e,ip.patternProperties[this.overridePropertyPattern]=e,op.patternProperties[this.overridePropertyPattern]=e},e.prototype.update=function(e){var t=this,n=e.properties;if(n)for(var r in n)n[r].overridable&&(this.editorConfigurationSchema.properties[r]=this.getConfigurationProperties()[r]);var i=e.allOf;i&&i.forEach(function(e){return t.update(e)})},e.prototype.computeOverridePropertyPattern=function(){this.overridePropertyPattern=this.overrideIdentifiers.length?hp.replace(\"${0}\",this.overrideIdentifiers.map(function(e){return lt(e,!1).source}).join(\"|\")):cp},e}(),lp=\"override\",cp=\"\\\\[.*\\\\]$\",hp=\"\\\\[(${0})\\\\]$\",dp=new RegExp(cp);function pp(e){switch(Array.isArray(e)?e[0]:e){case\"boolean\":return!1;case\"integer\":case\"number\":return 0;case\"string\":return\"\";case\"array\":return[];case\"object\":return{};default:return null}}var fp=new up;function gp(e){return dp.test(e)?ns(\"config.property.languageDefault\",\"Cannot register '{0}'. This matches property pattern '\\\\\\\\[.*\\\\\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.\",e):void 0!==fp.getConfigurationProperties()[e]?ns(\"config.property.duplicate\",\"Cannot register '{0}'. This property is already registered.\",e):null}su.add(tp.Configuration,fp);var mp=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new wn,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.setZoomLevel=function(e){e=Math.min(Math.max(-9,e),9),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))},e}()),vp=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),yp=we.d?1.5:1.35;function bp(e,t){if(\"number\"==typeof e)return e;var n=parseFloat(e);return isNaN(n)?t:n}function _p(e,t,n){return e<t?t:e>n?n:e}function Cp(e,t){return\"string\"!=typeof e?t:e}var wp=function(){function e(e){this.zoomLevel=e.zoomLevel,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.lineHeight=0|e.lineHeight,this.letterSpacing=e.letterSpacing}return e.createFromRawSettings=function(t,n){var r=Cp(t.fontFamily,Is.fontFamily),i=Cp(t.fontWeight,Is.fontWeight),o=bp(t.fontSize,Is.fontSize);0===(o=_p(o,0,100))?o=Is.fontSize:o<8&&(o=8);var s=function(e,t){if(\"number\"==typeof e)return Math.round(e);var n=parseInt(e);return isNaN(n)?t:n}(t.lineHeight,0);0===(s=_p(s,0,150))?s=Math.round(yp*o):s<8&&(s=8);var a=bp(t.letterSpacing,0);a=_p(a,-5,20);var u=1+.1*mp.getZoomLevel();return new e({zoomLevel:n,fontFamily:r,fontWeight:i,fontSize:o*=u,lineHeight:s*=u,letterSpacing:a})},e.prototype.getId=function(){return this.zoomLevel+\"-\"+this.fontFamily+\"-\"+this.fontWeight+\"-\"+this.fontSize+\"-\"+this.lineHeight+\"-\"+this.letterSpacing},e}(),Dp=function(e){function t(t,n){var r=e.call(this,t)||this;return r.isTrusted=n,r.isMonospace=t.isMonospace,r.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,r.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,r.spaceWidth=t.spaceWidth,r.maxDigitWidth=t.maxDigitWidth,r}return vp(t,e),t.prototype.equals=function(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(wp),Ep=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ap=ks,Sp=Is,xp=Ls,Mp=new(function(){function e(){this._tabFocus=!1,this._onDidChangeTabFocus=new wn,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}return e.prototype.getTabFocusMode=function(){return this._tabFocus},e.prototype.setTabFocusMode=function(e){this._tabFocus!==e&&(this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus))},e}()),Np=function(e){function t(t){var n=e.call(this)||this;return n._onDidChange=n._register(new wn),n.onDidChange=n._onDidChange.event,n._rawOptions=ds({},t||{}),n._rawOptions.scrollbar=ds({},n._rawOptions.scrollbar||{}),n._rawOptions.minimap=ds({},n._rawOptions.minimap||{}),n._rawOptions.find=ds({},n._rawOptions.find||{}),n._validatedOptions=xs.validate(n._rawOptions,Ap),n.editor=null,n._isDominatedByLongLines=!1,n._lineNumbersDigitCount=1,n._register(mp.onDidChangeZoomLevel(function(e){return n._recomputeOptions()})),n._register(Mp.onDidChangeTabFocus(function(e){return n._recomputeOptions()})),n}return Ep(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._recomputeOptions=function(){var e=this.editor,t=this._computeInternalOptions();e&&e.equals(t)||(this.editor=t,e&&this._onDidChange.fire(e.createChangeEvent(t)))},t.prototype.getRawOptions=function(){return this._rawOptions},t.prototype._computeInternalOptions=function(){var e=this._validatedOptions,t=this._getEnvConfiguration(),n=wp.createFromRawSettings(this._rawOptions,t.zoomLevel),r={outerWidth:t.outerWidth,outerHeight:t.outerHeight,fontInfo:this.readConfiguration(n),extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:Mp.getTabFocusMode(),accessibilitySupport:t.accessibilitySupport};return Ms.createInternalEditorOptions(r,e)},t.prototype.updateOptions=function(e){this._rawOptions=ds(this._rawOptions,e||{}),this._validatedOptions=xs.validate(this._rawOptions,Ap),this._recomputeOptions()},t.prototype.setIsDominatedByLongLines=function(e){this._isDominatedByLongLines=e,this._recomputeOptions()},t.prototype.setMaxLineNumber=function(e){var n=t._digitCount(e);this._lineNumbersDigitCount!==n&&(this._lineNumbersDigitCount=n,this._recomputeOptions())},t._digitCount=function(e){for(var t=0;e;)e=Math.floor(e/10),t++;return t||1},t}(un),Ip=su.as(tp.Configuration),Lp={id:\"editor\",order:5,type:\"object\",title:ns(\"editorConfigurationTitle\",\"Editor\"),overridable:!0,scope:ep.RESOURCE,properties:{\"editor.fontFamily\":{type:\"string\",default:Sp.fontFamily,description:ns(\"fontFamily\",\"Controls the font family.\")},\"editor.fontWeight\":{type:\"string\",enum:[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],default:Sp.fontWeight,description:ns(\"fontWeight\",\"Controls the font weight.\")},\"editor.fontSize\":{type:\"number\",default:Sp.fontSize,description:ns(\"fontSize\",\"Controls the font size in pixels.\")},\"editor.lineHeight\":{type:\"number\",default:Sp.lineHeight,description:ns(\"lineHeight\",\"Controls the line height. Use 0 to compute the lineHeight from the fontSize.\")},\"editor.letterSpacing\":{type:\"number\",default:Sp.letterSpacing,description:ns(\"letterSpacing\",\"Controls the letter spacing in pixels.\")},\"editor.lineNumbers\":{type:\"string\",enum:[\"off\",\"on\",\"relative\",\"interval\"],enumDescriptions:[ns(\"lineNumbers.off\",\"Line numbers are not rendered.\"),ns(\"lineNumbers.on\",\"Line numbers are rendered as absolute number.\"),ns(\"lineNumbers.relative\",\"Line numbers are rendered as distance in lines to cursor position.\"),ns(\"lineNumbers.interval\",\"Line numbers are rendered every 10 lines.\")],default:\"on\",description:ns(\"lineNumbers\",\"Controls the display of line numbers.\")},\"editor.rulers\":{type:\"array\",items:{type:\"number\"},default:Ap.viewInfo.rulers,description:ns(\"rulers\",\"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty\")},\"editor.wordSeparators\":{type:\"string\",default:Ap.wordSeparators,description:ns(\"wordSeparators\",\"Characters that will be used as word separators when doing word related navigations or operations\")},\"editor.tabSize\":{type:\"number\",default:xp.tabSize,minimum:1,description:ns(\"tabSize\",\"The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.\"),errorMessage:ns(\"tabSize.errorMessage\",\"Expected 'number'. Note that the value \\\"auto\\\" has been replaced by the `editor.detectIndentation` setting.\")},\"editor.insertSpaces\":{type:\"boolean\",default:xp.insertSpaces,description:ns(\"insertSpaces\",\"Insert spaces when pressing Tab. This setting is overridden based on the file contents when `editor.detectIndentation` is on.\"),errorMessage:ns(\"insertSpaces.errorMessage\",\"Expected 'boolean'. Note that the value \\\"auto\\\" has been replaced by the `editor.detectIndentation` setting.\")},\"editor.detectIndentation\":{type:\"boolean\",default:xp.detectIndentation,description:ns(\"detectIndentation\",\"When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.\")},\"editor.roundedSelection\":{type:\"boolean\",default:Ap.viewInfo.roundedSelection,description:ns(\"roundedSelection\",\"Controls if selections have rounded corners\")},\"editor.scrollBeyondLastLine\":{type:\"boolean\",default:Ap.viewInfo.scrollBeyondLastLine,description:ns(\"scrollBeyondLastLine\",\"Controls if the editor will scroll beyond the last line\")},\"editor.smoothScrolling\":{type:\"boolean\",default:Ap.viewInfo.smoothScrolling,description:ns(\"smoothScrolling\",\"Controls if the editor will scroll using an animation\")},\"editor.minimap.enabled\":{type:\"boolean\",default:Ap.viewInfo.minimap.enabled,description:ns(\"minimap.enabled\",\"Controls if the minimap is shown\")},\"editor.minimap.side\":{type:\"string\",enum:[\"left\",\"right\"],default:Ap.viewInfo.minimap.side,description:ns(\"minimap.side\",\"Controls the side where to render the minimap.\")},\"editor.minimap.showSlider\":{type:\"string\",enum:[\"always\",\"mouseover\"],default:Ap.viewInfo.minimap.showSlider,description:ns(\"minimap.showSlider\",\"Controls whether the minimap slider is automatically hidden.\")},\"editor.minimap.renderCharacters\":{type:\"boolean\",default:Ap.viewInfo.minimap.renderCharacters,description:ns(\"minimap.renderCharacters\",\"Render the actual characters on a line (as opposed to color blocks)\")},\"editor.minimap.maxColumn\":{type:\"number\",default:Ap.viewInfo.minimap.maxColumn,description:ns(\"minimap.maxColumn\",\"Limit the width of the minimap to render at most a certain number of columns\")},\"editor.find.seedSearchStringFromSelection\":{type:\"boolean\",default:Ap.contribInfo.find.seedSearchStringFromSelection,description:ns(\"find.seedSearchStringFromSelection\",\"Controls if we seed the search string in Find Widget from editor selection\")},\"editor.find.autoFindInSelection\":{type:\"boolean\",default:Ap.contribInfo.find.autoFindInSelection,description:ns(\"find.autoFindInSelection\",\"Controls if Find in Selection flag is turned on when multiple characters or lines of text are selected in the editor\")},\"editor.find.globalFindClipboard\":{type:\"boolean\",default:Ap.contribInfo.find.globalFindClipboard,description:ns(\"find.globalFindClipboard\",\"Controls if the Find Widget should read or modify the shared find clipboard on macOS\"),included:we.d},\"editor.wordWrap\":{type:\"string\",enum:[\"off\",\"on\",\"wordWrapColumn\",\"bounded\"],enumDescriptions:[ns(\"wordWrap.off\",\"Lines will never wrap.\"),ns(\"wordWrap.on\",\"Lines will wrap at the viewport width.\"),ns({key:\"wordWrap.wordWrapColumn\",comment:[\"- `editor.wordWrapColumn` refers to a different setting and should not be localized.\"]},\"Lines will wrap at `editor.wordWrapColumn`.\"),ns({key:\"wordWrap.bounded\",comment:[\"- viewport means the edge of the visible window size.\",\"- `editor.wordWrapColumn` refers to a different setting and should not be localized.\"]},\"Lines will wrap at the minimum of viewport and `editor.wordWrapColumn`.\")],default:Ap.wordWrap,description:ns({key:\"wordWrap\",comment:[\"- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.\",\"- `editor.wordWrapColumn` refers to a different setting and should not be localized.\"]},\"Controls how lines should wrap. Can be:\\n - 'off' (disable wrapping),\\n - 'on' (viewport wrapping),\\n - 'wordWrapColumn' (wrap at `editor.wordWrapColumn`) or\\n - 'bounded' (wrap at minimum of viewport and `editor.wordWrapColumn`).\")},\"editor.wordWrapColumn\":{type:\"integer\",default:Ap.wordWrapColumn,minimum:1,description:ns({key:\"wordWrapColumn\",comment:[\"- `editor.wordWrap` refers to a different setting and should not be localized.\",\"- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized.\"]},\"Controls the wrapping column of the editor when `editor.wordWrap` is 'wordWrapColumn' or 'bounded'.\")},\"editor.wrappingIndent\":{type:\"string\",enum:[\"none\",\"same\",\"indent\"],default:\"same\",description:ns(\"wrappingIndent\",\"Controls the indentation of wrapped lines. Can be one of 'none', 'same' or 'indent'.\")},\"editor.mouseWheelScrollSensitivity\":{type:\"number\",default:Ap.viewInfo.scrollbar.mouseWheelScrollSensitivity,description:ns(\"mouseWheelScrollSensitivity\",\"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events\")},\"editor.multiCursorModifier\":{type:\"string\",enum:[\"ctrlCmd\",\"alt\"],enumDescriptions:[ns(\"multiCursorModifier.ctrlCmd\",\"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),ns(\"multiCursorModifier.alt\",\"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")],default:\"alt\",description:ns({key:\"multiCursorModifier\",comment:[\"- `ctrlCmd` refers to a value the setting can take and should not be localized.\",\"- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.\"]},\"The modifier to be used to add multiple cursors with the mouse. `ctrlCmd` maps to `Control` on Windows and Linux and to `Command` on macOS. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier.\")},\"editor.multiCursorMergeOverlapping\":{type:\"boolean\",default:Ap.multiCursorMergeOverlapping,description:ns(\"multiCursorMergeOverlapping\",\"Merge multiple cursors when they are overlapping.\")},\"editor.quickSuggestions\":{anyOf:[{type:\"boolean\"},{type:\"object\",properties:{strings:{type:\"boolean\",default:!1,description:ns(\"quickSuggestions.strings\",\"Enable quick suggestions inside strings.\")},comments:{type:\"boolean\",default:!1,description:ns(\"quickSuggestions.comments\",\"Enable quick suggestions inside comments.\")},other:{type:\"boolean\",default:!0,description:ns(\"quickSuggestions.other\",\"Enable quick suggestions outside of strings and comments.\")}}}],default:Ap.contribInfo.quickSuggestions,description:ns(\"quickSuggestions\",\"Controls if suggestions should automatically show up while typing\")},\"editor.quickSuggestionsDelay\":{type:\"integer\",default:Ap.contribInfo.quickSuggestionsDelay,minimum:0,description:ns(\"quickSuggestionsDelay\",\"Controls the delay in ms after which quick suggestions will show up\")},\"editor.parameterHints\":{type:\"boolean\",default:Ap.contribInfo.parameterHints,description:ns(\"parameterHints\",\"Enables pop-up that shows parameter documentation and type information as you type\")},\"editor.autoClosingBrackets\":{type:\"boolean\",default:Ap.autoClosingBrackets,description:ns(\"autoClosingBrackets\",\"Controls if the editor should automatically close brackets after opening them\")},\"editor.formatOnType\":{type:\"boolean\",default:Ap.contribInfo.formatOnType,description:ns(\"formatOnType\",\"Controls if the editor should automatically format the line after typing\")},\"editor.formatOnPaste\":{type:\"boolean\",default:Ap.contribInfo.formatOnPaste,description:ns(\"formatOnPaste\",\"Controls if the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.\")},\"editor.autoIndent\":{type:\"boolean\",default:Ap.autoIndent,description:ns(\"autoIndent\",\"Controls if the editor should automatically adjust the indentation when users type, paste or move lines. Indentation rules of the language must be available.\")},\"editor.suggestOnTriggerCharacters\":{type:\"boolean\",default:Ap.contribInfo.suggestOnTriggerCharacters,description:ns(\"suggestOnTriggerCharacters\",\"Controls if suggestions should automatically show up when typing trigger characters\")},\"editor.acceptSuggestionOnEnter\":{type:\"string\",enum:[\"on\",\"smart\",\"off\"],default:Ap.contribInfo.acceptSuggestionOnEnter,description:ns(\"acceptSuggestionOnEnter\",\"Controls if suggestions should be accepted on 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions. The value 'smart' means only accept a suggestion with Enter when it makes a textual change\")},\"editor.acceptSuggestionOnCommitCharacter\":{type:\"boolean\",default:Ap.contribInfo.acceptSuggestionOnCommitCharacter,description:ns(\"acceptSuggestionOnCommitCharacter\",\"Controls if suggestions should be accepted on commit characters. For instance in JavaScript the semi-colon (';') can be a commit character that accepts a suggestion and types that character.\")},\"editor.snippetSuggestions\":{type:\"string\",enum:[\"top\",\"bottom\",\"inline\",\"none\"],enumDescriptions:[ns(\"snippetSuggestions.top\",\"Show snippet suggestions on top of other suggestions.\"),ns(\"snippetSuggestions.bottom\",\"Show snippet suggestions below other suggestions.\"),ns(\"snippetSuggestions.inline\",\"Show snippets suggestions with other suggestions.\"),ns(\"snippetSuggestions.none\",\"Do not show snippet suggestions.\")],default:Ap.contribInfo.snippetSuggestions,description:ns(\"snippetSuggestions\",\"Controls whether snippets are shown with other suggestions and how they are sorted.\")},\"editor.emptySelectionClipboard\":{type:\"boolean\",default:Ap.emptySelectionClipboard,description:ns(\"emptySelectionClipboard\",\"Controls whether copying without a selection copies the current line.\")},\"editor.wordBasedSuggestions\":{type:\"boolean\",default:Ap.contribInfo.wordBasedSuggestions,description:ns(\"wordBasedSuggestions\",\"Controls whether completions should be computed based on words in the document.\")},\"editor.suggestSelection\":{type:\"string\",enum:[\"first\",\"recentlyUsed\",\"recentlyUsedByPrefix\"],enumDescriptions:[ns(\"suggestSelection.first\",\"Always select the first suggestion.\"),ns(\"suggestSelection.recentlyUsed\",\"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.\"),ns(\"suggestSelection.recentlyUsedByPrefix\",\"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.\")],default:\"recentlyUsed\",description:ns(\"suggestSelection\",\"Controls how suggestions are pre-selected when showing the suggest list.\")},\"editor.suggestFontSize\":{type:\"integer\",default:0,minimum:0,description:ns(\"suggestFontSize\",\"Font size for the suggest widget\")},\"editor.suggestLineHeight\":{type:\"integer\",default:0,minimum:0,description:ns(\"suggestLineHeight\",\"Line height for the suggest widget\")},\"editor.selectionHighlight\":{type:\"boolean\",default:Ap.contribInfo.selectionHighlight,description:ns(\"selectionHighlight\",\"Controls whether the editor should highlight similar matches to the selection\")},\"editor.occurrencesHighlight\":{type:\"boolean\",default:Ap.contribInfo.occurrencesHighlight,description:ns(\"occurrencesHighlight\",\"Controls whether the editor should highlight semantic symbol occurrences\")},\"editor.overviewRulerLanes\":{type:\"integer\",default:3,description:ns(\"overviewRulerLanes\",\"Controls the number of decorations that can show up at the same position in the overview ruler\")},\"editor.overviewRulerBorder\":{type:\"boolean\",default:Ap.viewInfo.overviewRulerBorder,description:ns(\"overviewRulerBorder\",\"Controls if a border should be drawn around the overview ruler.\")},\"editor.cursorBlinking\":{type:\"string\",enum:[\"blink\",\"smooth\",\"phase\",\"expand\",\"solid\"],default:function(e){if(e===ys.Blink)return\"blink\";if(e===ys.Expand)return\"expand\";if(e===ys.Phase)return\"phase\";if(e===ys.Smooth)return\"smooth\";if(e===ys.Solid)return\"solid\";throw new Error(\"blinkingStyleToString: Unknown blinkingStyle\")}(Ap.viewInfo.cursorBlinking),description:ns(\"cursorBlinking\",\"Control the cursor animation style.\")},\"editor.mouseWheelZoom\":{type:\"boolean\",default:Ap.viewInfo.mouseWheelZoom,description:ns(\"mouseWheelZoom\",\"Zoom the font of the editor when using mouse wheel and holding Ctrl\")},\"editor.cursorStyle\":{type:\"string\",enum:[\"block\",\"block-outline\",\"line\",\"line-thin\",\"underline\",\"underline-thin\"],default:function(e){if(e===bs.Line)return\"line\";if(e===bs.Block)return\"block\";if(e===bs.Underline)return\"underline\";if(e===bs.LineThin)return\"line-thin\";if(e===bs.BlockOutline)return\"block-outline\";if(e===bs.UnderlineThin)return\"underline-thin\";throw new Error(\"cursorStyleToString: Unknown cursorStyle\")}(Ap.viewInfo.cursorStyle),description:ns(\"cursorStyle\",\"Controls the cursor style, accepted values are 'block', 'block-outline', 'line', 'line-thin', 'underline' and 'underline-thin'\")},\"editor.cursorWidth\":{type:\"integer\",default:Ap.viewInfo.cursorWidth,description:ns(\"cursorWidth\",\"Controls the width of the cursor when editor.cursorStyle is set to 'line'\")},\"editor.fontLigatures\":{type:\"boolean\",default:Ap.viewInfo.fontLigatures,description:ns(\"fontLigatures\",\"Enables font ligatures\")},\"editor.hideCursorInOverviewRuler\":{type:\"boolean\",default:Ap.viewInfo.hideCursorInOverviewRuler,description:ns(\"hideCursorInOverviewRuler\",\"Controls if the cursor should be hidden in the overview ruler.\")},\"editor.renderWhitespace\":{type:\"string\",enum:[\"none\",\"boundary\",\"all\"],default:Ap.viewInfo.renderWhitespace,description:ns(\"renderWhitespace\",\"Controls how the editor should render whitespace characters, possibilities are 'none', 'boundary', and 'all'. The 'boundary' option does not render single spaces between words.\")},\"editor.renderControlCharacters\":{type:\"boolean\",default:Ap.viewInfo.renderControlCharacters,description:ns(\"renderControlCharacters\",\"Controls whether the editor should render control characters\")},\"editor.renderIndentGuides\":{type:\"boolean\",default:Ap.viewInfo.renderIndentGuides,description:ns(\"renderIndentGuides\",\"Controls whether the editor should render indent guides\")},\"editor.renderLineHighlight\":{type:\"string\",enum:[\"none\",\"gutter\",\"line\",\"all\"],default:Ap.viewInfo.renderLineHighlight,description:ns(\"renderLineHighlight\",\"Controls how the editor should render the current line highlight, possibilities are 'none', 'gutter', 'line', and 'all'.\")},\"editor.codeLens\":{type:\"boolean\",default:Ap.contribInfo.codeLens,description:ns(\"codeLens\",\"Controls if the editor shows CodeLens\")},\"editor.folding\":{type:\"boolean\",default:Ap.contribInfo.folding,description:ns(\"folding\",\"Controls whether the editor has code folding enabled\")},\"editor.foldingStrategy\":{type:\"string\",enum:[\"auto\",\"indentation\"],enumDescriptions:[ns(\"foldingStrategyAuto\",\"If available, use a language specific folding strategy, otherwise falls back to the indentation based strategy.\"),ns(\"foldingStrategyIndentation\",\"Always use the indentation based folding strategy\")],default:Ap.contribInfo.foldingStrategy,description:ns(\"foldingStrategy\",\"Controls the way folding ranges are computed. 'auto' picks uses a language specific folding strategy, if available. 'indentation' forces that the indentation based folding strategy is used.\")},\"editor.showFoldingControls\":{type:\"string\",enum:[\"always\",\"mouseover\"],default:Ap.contribInfo.showFoldingControls,description:ns(\"showFoldingControls\",\"Controls whether the fold controls on the gutter are automatically hidden.\")},\"editor.matchBrackets\":{type:\"boolean\",default:Ap.contribInfo.matchBrackets,description:ns(\"matchBrackets\",\"Highlight matching brackets when one of them is selected.\")},\"editor.glyphMargin\":{type:\"boolean\",default:Ap.viewInfo.glyphMargin,description:ns(\"glyphMargin\",\"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.\")},\"editor.useTabStops\":{type:\"boolean\",default:Ap.useTabStops,description:ns(\"useTabStops\",\"Inserting and deleting whitespace follows tab stops\")},\"editor.trimAutoWhitespace\":{type:\"boolean\",default:xp.trimAutoWhitespace,description:ns(\"trimAutoWhitespace\",\"Remove trailing auto inserted whitespace\")},\"editor.stablePeek\":{type:\"boolean\",default:!1,description:ns(\"stablePeek\",\"Keep peek editors open even when double clicking their content or when hitting Escape.\")},\"editor.dragAndDrop\":{type:\"boolean\",default:Ap.dragAndDrop,description:ns(\"dragAndDrop\",\"Controls if the editor should allow to move selections via drag and drop.\")},\"editor.accessibilitySupport\":{type:\"string\",enum:[\"auto\",\"on\",\"off\"],enumDescriptions:[ns(\"accessibilitySupport.auto\",\"The editor will use platform APIs to detect when a Screen Reader is attached.\"),ns(\"accessibilitySupport.on\",\"The editor will be permanently optimized for usage with a Screen Reader.\"),ns(\"accessibilitySupport.off\",\"The editor will never be optimized for usage with a Screen Reader.\")],default:Ap.accessibilitySupport,description:ns(\"accessibilitySupport\",\"Controls whether the editor should run in a mode where it is optimized for screen readers.\")},\"editor.links\":{type:\"boolean\",default:Ap.contribInfo.links,description:ns(\"links\",\"Controls whether the editor should detect links and make them clickable\")},\"editor.colorDecorators\":{type:\"boolean\",default:Ap.contribInfo.colorDecorators,description:ns(\"colorDecorators\",\"Controls whether the editor should render the inline color decorators and color picker.\")},\"editor.lightbulb.enabled\":{type:\"boolean\",default:Ap.contribInfo.lightbulbEnabled,description:ns(\"codeActions\",\"Enables the code action lightbulb\")},\"editor.codeActionsOnSave\":{type:\"object\",properties:{\"source.organizeImports\":{type:\"boolean\",description:ns(\"codeActionsOnSave.organizeImports\",\"Run organize imports on save?\")}},additionalProperties:{type:\"boolean\"},default:Ap.contribInfo.codeActionsOnSave,description:ns(\"codeActionsOnSave\",\"Code action kinds to be run on save.\")},\"editor.codeActionsOnSaveTimeout\":{type:\"number\",default:Ap.contribInfo.codeActionsOnSaveTimeout,description:ns(\"codeActionsOnSaveTimeout\",\"Timeout for code actions run on save.\")},\"editor.selectionClipboard\":{type:\"boolean\",default:Ap.contribInfo.selectionClipboard,description:ns(\"selectionClipboard\",\"Controls if the Linux primary clipboard should be supported.\"),included:we.c},\"diffEditor.renderSideBySide\":{type:\"boolean\",default:!0,description:ns(\"sideBySide\",\"Controls if the diff editor shows the diff side by side or inline\")},\"diffEditor.ignoreTrimWhitespace\":{type:\"boolean\",default:!0,description:ns(\"ignoreTrimWhitespace\",\"Controls if the diff editor shows changes in leading or trailing whitespace as diffs\")},\"editor.largeFileOptimizations\":{type:\"boolean\",default:xp.largeFileOptimizations,description:ns(\"largeFileOptimizations\",\"Special handling for large files to disable certain memory intensive features.\")},\"diffEditor.renderIndicators\":{type:\"boolean\",default:!0,description:ns(\"renderIndicators\",\"Controls if the diff editor shows +/- indicators for added/removed changes\")}}};Ip.registerConfiguration(Lp);var kp=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Tp=function(e){function t(t,n){var r=e.call(this)||this;return r.referenceDomElement=t,r.changeCallback=n,r.measureReferenceDomElementToken=-1,r.width=-1,r.height=-1,r.measureReferenceDomElement(!1),r}return kp(t,e),t.prototype.dispose=function(){this.stopObserving(),e.prototype.dispose.call(this)},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.startObserving=function(){var e=this;-1===this.measureReferenceDomElementToken&&(this.measureReferenceDomElementToken=setInterval(function(){return e.measureReferenceDomElement(!0)},100))},t.prototype.stopObserving=function(){-1!==this.measureReferenceDomElementToken&&(clearInterval(this.measureReferenceDomElementToken),this.measureReferenceDomElementToken=-1)},t.prototype.observe=function(e){this.measureReferenceDomElement(!0,e)},t.prototype.measureReferenceDomElement=function(e,t){var n=0,r=0;t?(n=t.width,r=t.height):this.referenceDomElement&&(n=this.referenceDomElement.clientWidth,r=this.referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),this.width===n&&this.height===r||(this.width=n,this.height=r,e&&this.changeCallback())},t}(un),Fp=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}(),Op=function(){function e(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}return e.prototype.read=function(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null},e.prototype._createDomElements=function(){var t=document.createElement(\"div\");t.style.position=\"absolute\",t.style.top=\"-50000px\",t.style.width=\"50000px\";var n=document.createElement(\"div\");n.style.fontFamily=this._bareFontInfo.fontFamily,n.style.fontWeight=this._bareFontInfo.fontWeight,n.style.fontSize=this._bareFontInfo.fontSize+\"px\",n.style.lineHeight=this._bareFontInfo.lineHeight+\"px\",n.style.letterSpacing=this._bareFontInfo.letterSpacing+\"px\",t.appendChild(n);var r=document.createElement(\"div\");r.style.fontFamily=this._bareFontInfo.fontFamily,r.style.fontWeight=\"bold\",r.style.fontSize=this._bareFontInfo.fontSize+\"px\",r.style.lineHeight=this._bareFontInfo.lineHeight+\"px\",r.style.letterSpacing=this._bareFontInfo.letterSpacing+\"px\",t.appendChild(r);var i=document.createElement(\"div\");i.style.fontFamily=this._bareFontInfo.fontFamily,i.style.fontWeight=this._bareFontInfo.fontWeight,i.style.fontSize=this._bareFontInfo.fontSize+\"px\",i.style.lineHeight=this._bareFontInfo.lineHeight+\"px\",i.style.letterSpacing=this._bareFontInfo.letterSpacing+\"px\",i.style.fontStyle=\"italic\",t.appendChild(i);for(var o=[],s=0,a=this._requests.length;s<a;s++){var u=this._requests[s],l=void 0;0===u.type&&(l=n),2===u.type&&(l=r),1===u.type&&(l=i),l.appendChild(document.createElement(\"br\"));var c=document.createElement(\"span\");e._render(c,u),l.appendChild(c),o[s]=c}this._container=t,this._testElements=o},e._render=function(e,t){if(\" \"===t.chr){for(var n=\"&nbsp;\",r=0;r<8;r++)n+=n;e.innerHTML=n}else{var i=t.chr;for(r=0;r<8;r++)i+=i;e.textContent=i}},e.prototype._readFromDomElements=function(){for(var e=0,t=this._requests.length;e<t;e++){var n=this._requests[e],r=this._testElements[e];n.fulfill(r.offsetWidth/256)}},e}();var Pp,Bp=Or(\"storageService\");!function(e){e[e.GLOBAL=0]=\"GLOBAL\",e[e.WORKSPACE=1]=\"WORKSPACE\"}(Pp||(Pp={}));var Rp={_serviceBrand:void 0,store:function(){},remove:function(){},get:function(e,t,n){return n},getInteger:function(e,t,n){return n},getBoolean:function(e,t,n){return n}},jp=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),zp=function(){function e(){this._keys=Object.create(null),this._values=Object.create(null)}return e.prototype.has=function(e){var t=e.getId();return!!this._values[t]},e.prototype.get=function(e){var t=e.getId();return this._values[t]},e.prototype.put=function(e,t){var n=e.getId();this._keys[n]=e,this._values[n]=t},e.prototype.remove=function(e){var t=e.getId();delete this._keys[t],delete this._values[t]},e.prototype.getValues=function(){var e=this;return Object.keys(this._keys).map(function(t){return e._values[t]})},e}();var Wp=function(e){function t(){var t=e.call(this)||this;return t._onDidChange=t._register(new wn),t.onDidChange=t._onDidChange.event,t._cache=new zp,t._evictUntrustedReadingsTimeout=-1,t}return jp(t,e),t.prototype.dispose=function(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),e.prototype.dispose.call(this)},t.prototype._writeToCache=function(e,t){var n=this;this._cache.put(e,t),t.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=setTimeout(function(){n._evictUntrustedReadingsTimeout=-1,n._evictUntrustedReadings()},5e3))},t.prototype._evictUntrustedReadings=function(){for(var e=this._cache.getValues(),t=!1,n=0,r=e.length;n<r;n++){var i=e[n];i.isTrusted||(t=!0,this._cache.remove(i))}t&&this._onDidChange.fire()},t.prototype.saveFontInfo=function(){return this._cache.getValues().filter(function(e){return e.isTrusted})},t.prototype.restoreFontInfo=function(e){for(var t=0,n=e.length;t<n;t++){var r=new Dp(e[t],!1);this._writeToCache(r,r)}},t.prototype.readConfiguration=function(e){if(!this._cache.has(e)){var n=t._actualReadConfiguration(e);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new Dp({zoomLevel:Gl(),fontFamily:n.fontFamily,fontWeight:n.fontWeight,fontSize:n.fontSize,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,isMonospace:n.isMonospace,typicalHalfwidthCharacterWidth:Math.max(n.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(n.typicalFullwidthCharacterWidth,5),spaceWidth:Math.max(n.spaceWidth,5),maxDigitWidth:Math.max(n.maxDigitWidth,5)},!1)),this._writeToCache(e,n)}return this._cache.get(e)},t.createRequest=function(e,t,n,r){var i=new Fp(e,t);return n.push(i),r&&r.push(i),i},t._actualReadConfiguration=function(e){var t=[],n=[],r=this.createRequest(\"n\",0,t,n),i=this.createRequest(\"ｍ\",0,t,null),o=this.createRequest(\" \",0,t,n),s=this.createRequest(\"0\",0,t,n),a=this.createRequest(\"1\",0,t,n),u=this.createRequest(\"2\",0,t,n),l=this.createRequest(\"3\",0,t,n),c=this.createRequest(\"4\",0,t,n),h=this.createRequest(\"5\",0,t,n),d=this.createRequest(\"6\",0,t,n),p=this.createRequest(\"7\",0,t,n),f=this.createRequest(\"8\",0,t,n),g=this.createRequest(\"9\",0,t,n);this.createRequest(\"→\",0,t,n),this.createRequest(\"·\",0,t,n),this.createRequest(\"|\",0,t,n),this.createRequest(\"/\",0,t,n),this.createRequest(\"-\",0,t,n),this.createRequest(\"_\",0,t,n),this.createRequest(\"i\",0,t,n),this.createRequest(\"l\",0,t,n),this.createRequest(\"m\",0,t,n),this.createRequest(\"|\",1,t,n),this.createRequest(\"_\",1,t,n),this.createRequest(\"i\",1,t,n),this.createRequest(\"l\",1,t,n),this.createRequest(\"m\",1,t,n),this.createRequest(\"n\",1,t,n),this.createRequest(\"|\",2,t,n),this.createRequest(\"_\",2,t,n),this.createRequest(\"i\",2,t,n),this.createRequest(\"l\",2,t,n),this.createRequest(\"m\",2,t,n),this.createRequest(\"n\",2,t,n),function(e,t){new Op(e,t).read()}(e,t);for(var m=Math.max(s.width,a.width,u.width,l.width,c.width,h.width,d.width,p.width,f.width,g.width),v=!0,y=n[0].width,b=1,_=n.length;b<_;b++){var C=y-n[b].width;if(C<-.001||C>.001){v=!1;break}}var w=Zl.INSTANCE.getTimeSinceLastZoomLevelChanged()>2e3;return new Dp({zoomLevel:Gl(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:v,typicalHalfwidthCharacterWidth:r.width,typicalFullwidthCharacterWidth:i.width,spaceWidth:o.width,maxDigitWidth:m},w)},t.INSTANCE=new t,t}(un),Vp=function(e){function t(t,n){void 0===n&&(n=null);var r,i=e.call(this,t)||this;return i._elementSizeObserver=i._register(new Tp(n,function(){return i._onReferenceDomElementSizeChanged()})),i._register(Wp.INSTANCE.onDidChange(function(){return i._onCSSBasedConfigurationChanged()})),i._validatedOptions.automaticLayout&&i._elementSizeObserver.startObserving(),i._register(Kl(function(e){return i._recomputeOptions()})),i._register((r=function(){return i._recomputeOptions()},Zl.INSTANCE.onDidChangeAccessibilitySupport(r))),i._recomputeOptions(),i}return jp(t,e),t._massageFontFamily=function(e){return/[,\"']/.test(e)?e:/[+ ]/.test(e)?'\"'+e+'\"':e},t.applyFontInfoSlow=function(e,n){e.style.fontFamily=t._massageFontFamily(n.fontFamily),e.style.fontWeight=n.fontWeight,e.style.fontSize=n.fontSize+\"px\",e.style.lineHeight=n.lineHeight+\"px\",e.style.letterSpacing=n.letterSpacing+\"px\"},t.applyFontInfo=function(e,n){e.setFontFamily(t._massageFontFamily(n.fontFamily)),e.setFontWeight(n.fontWeight),e.setFontSize(n.fontSize),e.setLineHeight(n.lineHeight),e.setLetterSpacing(n.letterSpacing)},t.prototype._onReferenceDomElementSizeChanged=function(){this._recomputeOptions()},t.prototype._onCSSBasedConfigurationChanged=function(){this._recomputeOptions()},t.prototype.observeReferenceElement=function(e){this._elementSizeObserver.observe(e)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getExtraEditorClassName=function(){var e=\"\";return Xl?e+=\"ie \":ec?e+=\"ff \":Jl?e+=\"edge \":rc&&(e+=\"safari \"),we.d&&(e+=\"mac \"),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:tc||ec,pixelRatio:ql(),zoomLevel:Gl(),accessibilitySupport:Zl.INSTANCE.getAccessibilitySupport()}},t.prototype.readConfiguration=function(e){return Wp.INSTANCE.readConfiguration(e)},t}(Np),Hp=function(){function e(e){this.domNode=e,this._maxWidth=-1,this._width=-1,this._height=-1,this._top=-1,this._left=-1,this._bottom=-1,this._right=-1,this._fontFamily=\"\",this._fontWeight=\"\",this._fontSize=-1,this._lineHeight=-1,this._letterSpacing=-100,this._className=\"\",this._display=\"\",this._position=\"\",this._visibility=\"\",this._layerHint=!1}return e.prototype.setMaxWidth=function(e){this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth+\"px\")},e.prototype.setWidth=function(e){this._width!==e&&(this._width=e,this.domNode.style.width=this._width+\"px\")},e.prototype.setHeight=function(e){this._height!==e&&(this._height=e,this.domNode.style.height=this._height+\"px\")},e.prototype.setTop=function(e){this._top!==e&&(this._top=e,this.domNode.style.top=this._top+\"px\")},e.prototype.unsetTop=function(){-1!==this._top&&(this._top=-1,this.domNode.style.top=\"\")},e.prototype.setLeft=function(e){this._left!==e&&(this._left=e,this.domNode.style.left=this._left+\"px\")},e.prototype.setBottom=function(e){this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom+\"px\")},e.prototype.setRight=function(e){this._right!==e&&(this._right=e,this.domNode.style.right=this._right+\"px\")},e.prototype.setFontFamily=function(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)},e.prototype.setFontWeight=function(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)},e.prototype.setFontSize=function(e){this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize+\"px\")},e.prototype.setLineHeight=function(e){this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight+\"px\")},e.prototype.setLetterSpacing=function(e){this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing+\"px\")},e.prototype.setClassName=function(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)},e.prototype.toggleClassName=function(e,t){Ic(this.domNode,e,t),this._className=this.domNode.className},e.prototype.setDisplay=function(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)},e.prototype.setPosition=function(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)},e.prototype.setVisibility=function(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)},e.prototype.setLayerHinting=function(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.willChange=this._layerHint?\"transform\":\"auto\")},e.prototype.setAttribute=function(e,t){this.domNode.setAttribute(e,t)},e.prototype.removeAttribute=function(e){this.domNode.removeAttribute(e)},e.prototype.appendChild=function(e){this.domNode.appendChild(e.domNode)},e.prototype.removeChild=function(e){this.domNode.removeChild(e.domNode)},e}();function Up(e){return new Hp(e)}var Yp=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Zp=function(e){function t(){var t=e.call(this)||this;return t._shouldRender=!0,t}return Yp(t,e),t.prototype.shouldRender=function(){return this._shouldRender},t.prototype.forceShouldRender=function(){this._shouldRender=!0},t.prototype.setShouldRender=function(){this._shouldRender=!0},t.prototype.onDidRender=function(){this._shouldRender=!1},t.prototype.onConfigurationChanged=function(e){return!1},t.prototype.onCursorStateChanged=function(e){return!1},t.prototype.onDecorationsChanged=function(e){return!1},t.prototype.onFlushed=function(e){return!1},t.prototype.onFocusChanged=function(e){return!1},t.prototype.onLanguageConfigurationChanged=function(e){return!1},t.prototype.onLineMappingChanged=function(e){return!1},t.prototype.onLinesChanged=function(e){return!1},t.prototype.onLinesDeleted=function(e){return!1},t.prototype.onLinesInserted=function(e){return!1},t.prototype.onRevealRangeRequest=function(e){return!1},t.prototype.onScrollChanged=function(e){return!1},t.prototype.onTokensChanged=function(e){return!1},t.prototype.onTokensColorsChanged=function(e){return!1},t.prototype.onZonesChanged=function(e){return!1},t.prototype.onThemeChanged=function(e){return!1},t.prototype.handleEvents=function(e){for(var t=!1,n=0,r=e.length;n<r;n++){var i=e[n];switch(i.type){case 1:this.onConfigurationChanged(i)&&(t=!0);break;case 2:this.onCursorStateChanged(i)&&(t=!0);break;case 3:this.onDecorationsChanged(i)&&(t=!0);break;case 4:this.onFlushed(i)&&(t=!0);break;case 5:this.onFocusChanged(i)&&(t=!0);break;case 16:this.onLanguageConfigurationChanged(i)&&(t=!0);break;case 6:this.onLineMappingChanged(i)&&(t=!0);break;case 7:this.onLinesChanged(i)&&(t=!0);break;case 8:this.onLinesDeleted(i)&&(t=!0);break;case 9:this.onLinesInserted(i)&&(t=!0);break;case 10:this.onRevealRangeRequest(i)&&(t=!0);break;case 11:this.onScrollChanged(i)&&(t=!0);break;case 12:this.onTokensChanged(i)&&(t=!0);break;case 13:this.onTokensColorsChanged(i)&&(t=!0);break;case 14:this.onZonesChanged(i)&&(t=!0);break;case 15:this.onThemeChanged(i)&&(t=!0);break;default:console.info(\"View received unknown event: \"),console.info(i)}}t&&(this._shouldRender=!0)},t}(un),Gp=(n(314),function(){function e(e,t,n,r,i){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=r,this.selectionEndPosition=i}return e.prototype.toString=function(){return\"[ <\"+this.value+\">, selectionStart: \"+this.selectionStart+\", selectionEnd: \"+this.selectionEnd+\"]\"},e.readFromTextArea=function(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd(),null,null)},e.prototype.collapseSelection=function(){return new e(this.value,this.value.length,this.value.length,null,null)},e.prototype.writeToTextArea=function(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)},e.prototype.deduceEditorPosition=function(e){if(e<=this.selectionStart){var t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}var n=this.value.substring(this.selectionStart,e);if(-1===n.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,n,1);var r=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,r,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,n){for(var r=0,i=-1;-1!==(i=t.indexOf(\"\\n\",i+1));)r++;return[e,n*t.length,r]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,n,r){if(!e)return{text:\"\",replaceCharCnt:0};var i=e.value,o=e.selectionStart,s=e.selectionEnd,a=t.value,u=t.selectionStart,l=t.selectionEnd;r&&i.length>0&&o===s&&u===l&&ut(a,i)&&(o=0,s=0);var c=Lt(i.substring(s),a.substring(l));a=a.substring(0,a.length-c);var h=(i=i.substring(0,i.length-c)).substring(0,o),d=It(h,a.substring(0,u));if(a=a.substring(d),i=i.substring(d),u-=d,o-=d,l-=d,s-=d,n&&u===l&&i.length>0){var p=null;if(u===a.length?at(a,i)&&(p=a.substring(i.length)):ut(a,i)&&(p=a.substring(0,a.length-i.length)),null!==p&&p.length>0&&(/\\uFE0F/.test(p)||jt(p)))return{text:p,replaceCharCnt:0}}return u===l?i===a&&0===o&&s===i.length&&u===a.length&&-1===a.indexOf(\"\\n\")&&Vt(a)?{text:\"\",replaceCharCnt:0}:{text:a,replaceCharCnt:h.length-d}:{text:a,replaceCharCnt:s-o}},e.EMPTY=new e(\"\",0,0,null,null),e}()),Kp=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var n=t*e._LINES_PER_PAGE,r=n+1,i=n+e._LINES_PER_PAGE;return new be(r,1,i+1,1)},e.fromEditorSelection=function(t,n,r,i){var o=e._getPageOfLine(r.startLineNumber),s=e._getRangeForPage(o),a=e._getPageOfLine(r.endLineNumber),u=e._getRangeForPage(a),l=s.intersectRanges(new be(1,1,r.startLineNumber,r.startColumn)),c=n.getValueInRange(l,kn.LF),h=n.getLineCount(),d=n.getLineMaxColumn(h),p=u.intersectRanges(new be(r.endLineNumber,r.endColumn,h,d)),f=n.getValueInRange(p,kn.LF),g=null;if(o===a||o+1===a)g=n.getValueInRange(r,kn.LF);else{var m=s.intersectRanges(r),v=u.intersectRanges(r);g=n.getValueInRange(m,kn.LF)+String.fromCharCode(8230)+n.getValueInRange(v,kn.LF)}if(i){c.length>500&&(c=c.substring(c.length-500,c.length)),f.length>500&&(f=f.substring(0,500)),g.length>1e3&&(g=g.substring(0,500)+String.fromCharCode(8230)+g.substring(g.length-500,g.length))}return new Gp(c+g+f,c.length,c.length+g.length,new ye(r.startLineNumber,r.startColumn),new ye(r.endLineNumber,r.endColumn))},e._LINES_PER_PAGE=10,e}(),qp=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Qp={forceCopyWithSyntaxHighlighting:!1},Xp=function(e){function t(t,n){var r=e.call(this)||this;r._onFocus=r._register(new wn),r.onFocus=r._onFocus.event,r._onBlur=r._register(new wn),r.onBlur=r._onBlur.event,r._onKeyDown=r._register(new wn),r.onKeyDown=r._onKeyDown.event,r._onKeyUp=r._register(new wn),r.onKeyUp=r._onKeyUp.event,r._onCut=r._register(new wn),r.onCut=r._onCut.event,r._onPaste=r._register(new wn),r.onPaste=r._onPaste.event,r._onType=r._register(new wn),r.onType=r._onType.event,r._onCompositionStart=r._register(new wn),r.onCompositionStart=r._onCompositionStart.event,r._onCompositionUpdate=r._register(new wn),r.onCompositionUpdate=r._onCompositionUpdate.event,r._onCompositionEnd=r._register(new wn),r.onCompositionEnd=r._onCompositionEnd.event,r._onSelectionChangeRequest=r._register(new wn),r.onSelectionChangeRequest=r._onSelectionChangeRequest.event,r._host=t,r._textArea=r._register(new $p(n)),r._lastTextAreaEvent=0,r._asyncTriggerCut=r._register(new Yl(function(){return r._onCut.fire()},0)),r._textAreaState=Gp.EMPTY,r.writeScreenReaderContent(\"ctor\"),r._hasFocus=!1,r._isDoingComposition=!1,r._nextCommand=0,r._register(Tc(n.domNode,\"keydown\",function(e){!r._isDoingComposition||109!==e.keyCode&&1!==e.keyCode||e.stopPropagation(),e.equals(9)&&e.preventDefault(),r._onKeyDown.fire(e)})),r._register(Tc(n.domNode,\"keyup\",function(e){r._onKeyUp.fire(e)})),r._register(kc(n.domNode,\"compositionstart\",function(e){r._lastTextAreaEvent=1,r._isDoingComposition||(r._isDoingComposition=!0,$l||r._setAndWriteTextAreaState(\"compositionstart\",Gp.EMPTY),r._onCompositionStart.fire())}));var i=function(e,t){var n=r._textAreaState,i=Gp.readFromTextArea(r._textArea);return[i,Gp.deduceInput(n,i,e,t)]},o=function(e){var t=r._textAreaState,n=Gp.selectedText(e);return[n,{text:n.value,replaceCharCnt:t.selectionEnd-t.selectionStart}]},s=function(e){return!(!$l||\"ja\"!==e)||!(!Xl||0!==e.indexOf(\"zh-Han\"))};r._register(kc(n.domNode,\"compositionupdate\",function(e){if(r._lastTextAreaEvent=2,!sc){if(s(e.locale)){var t=i(!1,!1),n=t[0],a=t[1];return r._textAreaState=n,r._onType.fire(a),void r._onCompositionUpdate.fire(e)}var u=o(e.data),l=u[0],c=u[1];r._textAreaState=l,r._onType.fire(c),r._onCompositionUpdate.fire(e)}})),r._register(kc(n.domNode,\"compositionend\",function(e){if(r._lastTextAreaEvent=3,s(e.locale)){var t=i(!1,!1),n=t[0],a=t[1];r._textAreaState=n,r._onType.fire(a)}else{var u=o(e.data);n=u[0],a=u[1];r._textAreaState=n,r._onType.fire(a)}($l||nc)&&(r._textAreaState=Gp.readFromTextArea(r._textArea)),r._isDoingComposition&&(r._isDoingComposition=!1,r._onCompositionEnd.fire())})),r._register(kc(n.domNode,\"input\",function(){var e=8===r._lastTextAreaEvent;if(r._lastTextAreaEvent=4,r._textArea.setIgnoreSelectionChangeTime(\"received input event\"),r._isDoingComposition){if(sc){var t=o(r._textArea.getValue()),n=t[0],s=t[1];r._textAreaState=n,r._onType.fire(s);var a={data:s.text};r._onCompositionUpdate.fire(a)}}else{var u=i(we.d,e&&we.d),l=u[0],c=u[1];0===c.replaceCharCnt&&1===c.text.length&&Ft(c.text.charCodeAt(0))||(r._textAreaState=l,0===r._nextCommand?\"\"!==c.text&&r._onType.fire(c):(\"\"!==c.text&&r._onPaste.fire({text:c.text}),r._nextCommand=0))}})),r._register(kc(n.domNode,\"cut\",function(e){r._lastTextAreaEvent=5,r._textArea.setIgnoreSelectionChangeTime(\"received cut event\"),r._ensureClipboardGetsEditorSelection(e),r._asyncTriggerCut.schedule()})),r._register(kc(n.domNode,\"copy\",function(e){r._lastTextAreaEvent=6,r._ensureClipboardGetsEditorSelection(e)})),r._register(kc(n.domNode,\"paste\",function(e){if(r._lastTextAreaEvent=7,r._textArea.setIgnoreSelectionChangeTime(\"received paste event\"),Jp.canUseTextData(e)){var t=Jp.getTextData(e);\"\"!==t&&r._onPaste.fire({text:t})}else r._textArea.getSelectionStart()!==r._textArea.getSelectionEnd()&&r._setAndWriteTextAreaState(\"paste\",Gp.EMPTY),r._nextCommand=1})),r._register(kc(n.domNode,\"focus\",function(){r._lastTextAreaEvent=8,r._setHasFocus(!0)})),r._register(kc(n.domNode,\"blur\",function(){r._lastTextAreaEvent=9,r._setHasFocus(!1)}));var a=0;return r._register(kc(document,\"selectionchange\",function(e){if(r._hasFocus&&!r._isDoingComposition&&nc&&we.g){var t=Date.now(),n=t-a;if(a=t,!(n<5)){var i=t-r._textArea.getIgnoreSelectionChangeTime();if(r._textArea.resetSelectionChangeTime(),!(i<100)&&r._textAreaState.selectionStartPosition&&r._textAreaState.selectionEndPosition){var o=r._textArea.getValue();if(r._textAreaState.value===o){var s=r._textArea.getSelectionStart(),u=r._textArea.getSelectionEnd();if(r._textAreaState.selectionStart!==s||r._textAreaState.selectionEnd!==u){var l=r._textAreaState.deduceEditorPosition(s),c=r._host.deduceModelPosition(l[0],l[1],l[2]),h=r._textAreaState.deduceEditorPosition(u),d=r._host.deduceModelPosition(h[0],h[1],h[2]),p=new Ii(c.lineNumber,c.column,d.lineNumber,d.column);r._onSelectionChangeRequest.fire(p)}}}}}})),r}return qp(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.focusTextArea=function(){this._setHasFocus(!0)},t.prototype.isFocused=function(){return this._hasFocus},t.prototype._setHasFocus=function(e){this._hasFocus!==e&&(this._hasFocus=e,this._hasFocus&&(Jl?this._setAndWriteTextAreaState(\"focusgain\",Gp.EMPTY):this.writeScreenReaderContent(\"focusgain\")),this._hasFocus?this._onFocus.fire():this._onBlur.fire())},t.prototype._setAndWriteTextAreaState=function(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t},t.prototype.writeScreenReaderContent=function(e){this._isDoingComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))},t.prototype._ensureClipboardGetsEditorSelection=function(e){var t=this._host.getPlainTextToCopy();if(Jp.canUseTextData(e)){var n=null;(function(){if(Xl)return!1;if(Jl){var e=Ql.indexOf(\"Edge/\"),t=parseInt(Ql.substring(e+5,Ql.indexOf(\".\",e)),10);if(!t||t>=12&&t<=16)return!1}return!0})()&&(t.length<65536||Qp.forceCopyWithSyntaxHighlighting)&&(n=this._host.getHTMLToCopy()),Jp.setTextData(e,t,n)}else this._setAndWriteTextAreaState(\"copy or cut\",Gp.selectedText(t))},t}(un),Jp=function(){function e(){}return e.canUseTextData=function(e){return!!e.clipboardData||!!window.clipboardData},e.getTextData=function(e){if(e.clipboardData)return e.preventDefault(),e.clipboardData.getData(\"text/plain\");if(window.clipboardData)return e.preventDefault(),window.clipboardData.getData(\"Text\");throw new Error(\"ClipboardEventUtils.getTextData: Cannot use text data!\")},e.setTextData=function(e,t,n){if(e.clipboardData)return e.clipboardData.setData(\"text/plain\",t),null!==n&&e.clipboardData.setData(\"text/html\",n),void e.preventDefault();if(window.clipboardData)return window.clipboardData.setData(\"Text\",t),void e.preventDefault();throw new Error(\"ClipboardEventUtils.setTextData: Cannot use text data!\")},e}(),$p=function(e){function t(t){var n=e.call(this)||this;return n._actual=t,n._ignoreSelectionChangeTime=0,n}return qp(t,e),t.prototype.setIgnoreSelectionChangeTime=function(e){this._ignoreSelectionChangeTime=Date.now()},t.prototype.getIgnoreSelectionChangeTime=function(){return this._ignoreSelectionChangeTime},t.prototype.resetSelectionChangeTime=function(){this._ignoreSelectionChangeTime=0},t.prototype.getValue=function(){return this._actual.domNode.value},t.prototype.setValue=function(e,t){var n=this._actual.domNode;n.value!==t&&(this.setIgnoreSelectionChangeTime(\"setValue\"),n.value=t)},t.prototype.getSelectionStart=function(){return this._actual.domNode.selectionStart},t.prototype.getSelectionEnd=function(){return this._actual.domNode.selectionEnd},t.prototype.setSelectionRange=function(e,t,n){var r=this._actual.domNode,i=document.activeElement===r,o=r.selectionStart,s=r.selectionEnd;if(i&&o===t&&s===n)ec&&window.parent!==window&&r.focus();else{if(i)return this.setIgnoreSelectionChangeTime(\"setSelectionRange\"),r.setSelectionRange(t,n),void(ec&&window.parent!==window&&r.focus());try{var a=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t}(r);this.setIgnoreSelectionChangeTime(\"setSelectionRange\"),r.focus(),r.setSelectionRange(t,n),function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode}(r,a)}catch(e){}}},t}(un),ef=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),nf=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._context.addEventHandler(n),n}return ef(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t}(Zp),rf=function(){function e(){}return e.write=function(e,t){e.setAttribute(\"data-mprt\",String(t))},e.read=function(e){var t=e.getAttribute(\"data-mprt\");return null===t?0:parseInt(t,10)},e.collect=function(e,t){for(var n=[],r=0;e&&e!==document.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(n[r++]=this.read(e)),e=e.parentElement;for(var i=new Uint8Array(r),o=0;o<r;o++)i[o]=n[r-o-1];return i},e}(),of=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),sf=function(e){function t(t){var n=e.call(this,t)||this;return n._canUseLayerHinting=n._context.configuration.editor.canUseLayerHinting,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n._glyphMarginLeft=n._context.configuration.editor.layoutInfo.glyphMarginLeft,n._glyphMarginWidth=n._context.configuration.editor.layoutInfo.glyphMarginWidth,n._domNode=n._createDomNode(),n}return of(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._createDomNode=function(){var e=Up(document.createElement(\"div\"));return e.setClassName(t.OUTER_CLASS_NAME),e.setPosition(\"absolute\"),e.setAttribute(\"role\",\"presentation\"),e.setAttribute(\"aria-hidden\",\"true\"),this._glyphMarginBackgroundDomNode=Up(document.createElement(\"div\")),this._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),e.appendChild(this._glyphMarginBackgroundDomNode),e},t.prototype.onConfigurationChanged=function(e){return e.canUseLayerHinting&&(this._canUseLayerHinting=this._context.configuration.editor.canUseLayerHinting),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._glyphMarginLeft=this._context.configuration.editor.layoutInfo.glyphMarginLeft,this._glyphMarginWidth=this._context.configuration.editor.layoutInfo.glyphMarginWidth),!0},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollTopChanged},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setLayerHinting(this._canUseLayerHinting);var t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);var n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)},t.CLASS_NAME=\"glyph-margin\",t.OUTER_CLASS_NAME=\"margin\",t}(nf),af=(n(315),\"base.contributions.colors\"),uf=new(function(){function e(){this.colorSchema={type:\"object\",description:ns(\"schema.colors\",\"Colors used in the workbench.\"),properties:{},additionalProperties:!1},this.colorReferenceSchema={type:\"string\",enum:[],enumDescriptions:[]},this.colorsById={}}return e.prototype.registerColor=function(e,t,n,r,i){void 0===r&&(r=!1);var o={id:e,description:n,defaults:t,needsTransparency:r};this.colorsById[e]=o;var s={type:\"string\",description:n,format:\"color-hex\",default:\"#ff0000\"};return i&&(s.deprecationMessage=i),this.colorSchema.properties[e]=s,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),e},e.prototype.getColors=function(){var e=this;return Object.keys(this.colorsById).map(function(t){return e.colorsById[t]})},e.prototype.resolveDefaultColor=function(e,t){var n=this.colorsById[e];return n&&n.defaults?Fg(n.defaults[t.type],t):null},e.prototype.getColorSchema=function(){return this.colorSchema},e.prototype.getColorReferenceSchema=function(){return this.colorReferenceSchema},e.prototype.toString=function(){var e=this;return Object.keys(this.colorsById).sort(function(e,t){var n=-1===e.indexOf(\".\")?0:1,r=-1===t.indexOf(\".\")?0:1;return n!==r?n-r:e.localeCompare(t)}).map(function(t){return\"- `\"+t+\"`: \"+e.colorsById[t].description}).join(\"\\n\")},e}());function lf(e,t,n,r,i){return uf.registerColor(e,t,n,r,i)}su.add(af,uf);var cf,hf,df=lf(\"foreground\",{dark:\"#CCCCCC\",light:\"#6C6C6C\",hc:\"#FFFFFF\"},ns(\"foreground\",\"Overall foreground color. This color is only used if not overridden by a component.\")),pf=lf(\"errorForeground\",{dark:\"#F48771\",light:\"#A1260D\",hc:\"#F48771\"},ns(\"errorForeground\",\"Overall foreground color for error messages. This color is only used if not overridden by a component.\")),ff=(lf(\"descriptionForeground\",{light:Lg(df,.7),dark:Lg(df,.7),hc:Lg(df,.7)},ns(\"descriptionForeground\",\"Foreground color for description text providing additional information, for example for a label.\")),lf(\"focusBorder\",{dark:md.fromHex(\"#0E639C\").transparent(.6),light:md.fromHex(\"#007ACC\").transparent(.4),hc:\"#F38518\"},ns(\"focusBorder\",\"Overall border color for focused elements. This color is only used if not overridden by a component.\"))),gf=lf(\"contrastBorder\",{light:null,dark:null,hc:\"#6FC3DF\"},ns(\"contrastBorder\",\"An extra border around elements to separate them from others for greater contrast.\")),mf=lf(\"contrastActiveBorder\",{light:null,dark:null,hc:ff},ns(\"activeContrastBorder\",\"An extra border around active elements to separate them from others for greater contrast.\")),vf=(lf(\"selection.background\",{light:null,dark:null,hc:null},ns(\"selectionBackground\",\"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.\")),lf(\"textSeparator.foreground\",{light:\"#0000002e\",dark:\"#ffffff2e\",hc:md.black},ns(\"textSeparatorForeground\",\"Color for text separators.\")),lf(\"textLink.foreground\",{light:\"#4080D0\",dark:\"#4080D0\",hc:\"#4080D0\"},ns(\"textLinkForeground\",\"Foreground color for links in text.\"))),yf=(lf(\"textLink.activeForeground\",{light:\"#4080D0\",dark:\"#4080D0\",hc:\"#4080D0\"},ns(\"textLinkActiveForeground\",\"Foreground color for active links in text.\")),lf(\"textPreformat.foreground\",{light:\"#A31515\",dark:\"#D7BA7D\",hc:\"#D7BA7D\"},ns(\"textPreformatForeground\",\"Foreground color for preformatted text segments.\")),lf(\"textBlockQuote.background\",{light:\"#7f7f7f1a\",dark:\"#7f7f7f1a\",hc:null},ns(\"textBlockQuoteBackground\",\"Background color for block quotes in text.\")),lf(\"textBlockQuote.border\",{light:\"#007acc80\",dark:\"#007acc80\",hc:md.white},ns(\"textBlockQuoteBorder\",\"Border color for block quotes in text.\")),lf(\"textCodeBlock.background\",{light:\"#dcdcdc66\",dark:\"#0a0a0a66\",hc:md.black},ns(\"textCodeBlockBackground\",\"Background color for code blocks in text.\"))),bf=lf(\"widget.shadow\",{dark:\"#000000\",light:\"#A8A8A8\",hc:null},ns(\"widgetShadow\",\"Shadow color of widgets such as find/replace inside the editor.\")),_f=lf(\"input.background\",{dark:\"#3C3C3C\",light:md.white,hc:md.black},ns(\"inputBoxBackground\",\"Input box background.\")),Cf=lf(\"input.foreground\",{dark:df,light:df,hc:df},ns(\"inputBoxForeground\",\"Input box foreground.\")),wf=lf(\"input.border\",{dark:null,light:null,hc:gf},ns(\"inputBoxBorder\",\"Input box border.\")),Df=lf(\"inputOption.activeBorder\",{dark:\"#007ACC\",light:\"#007ACC\",hc:mf},ns(\"inputBoxActiveOptionBorder\",\"Border color of activated options in input fields.\")),Ef=(lf(\"input.placeholderForeground\",{dark:null,light:null,hc:null},ns(\"inputPlaceholderForeground\",\"Input box foreground color for placeholder text.\")),lf(\"inputValidation.infoBackground\",{dark:\"#063B49\",light:\"#D6ECF2\",hc:md.black},ns(\"inputValidationInfoBackground\",\"Input validation background color for information severity.\"))),Af=lf(\"inputValidation.infoBorder\",{dark:\"#007acc\",light:\"#007acc\",hc:gf},ns(\"inputValidationInfoBorder\",\"Input validation border color for information severity.\")),Sf=lf(\"inputValidation.warningBackground\",{dark:\"#352A05\",light:\"#F6F5D2\",hc:md.black},ns(\"inputValidationWarningBackground\",\"Input validation background color for warning severity.\")),xf=lf(\"inputValidation.warningBorder\",{dark:\"#B89500\",light:\"#B89500\",hc:gf},ns(\"inputValidationWarningBorder\",\"Input validation border color for warning severity.\")),Mf=lf(\"inputValidation.errorBackground\",{dark:\"#5A1D1D\",light:\"#F2DEDE\",hc:md.black},ns(\"inputValidationErrorBackground\",\"Input validation background color for error severity.\")),Nf=lf(\"inputValidation.errorBorder\",{dark:\"#BE1100\",light:\"#BE1100\",hc:gf},ns(\"inputValidationErrorBorder\",\"Input validation border color for error severity.\")),If=lf(\"dropdown.background\",{dark:\"#3C3C3C\",light:md.white,hc:md.black},ns(\"dropdownBackground\",\"Dropdown background.\")),Lf=(lf(\"dropdown.listBackground\",{dark:null,light:null,hc:md.black},ns(\"dropdownListBackground\",\"Dropdown list background.\")),lf(\"dropdown.foreground\",{dark:\"#F0F0F0\",light:null,hc:md.white},ns(\"dropdownForeground\",\"Dropdown foreground.\")),lf(\"dropdown.border\",{dark:If,light:\"#CECECE\",hc:gf},ns(\"dropdownBorder\",\"Dropdown border.\")),lf(\"list.focusBackground\",{dark:\"#073655\",light:\"#DCEBFC\",hc:null},ns(\"listFocusBackground\",\"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\"))),kf=lf(\"list.focusForeground\",{dark:null,light:null,hc:null},ns(\"listFocusForeground\",\"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),Tf=lf(\"list.activeSelectionBackground\",{dark:\"#094771\",light:\"#3399FF\",hc:null},ns(\"listActiveSelectionBackground\",\"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),Ff=lf(\"list.activeSelectionForeground\",{dark:md.white,light:md.white,hc:null},ns(\"listActiveSelectionForeground\",\"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),Of=lf(\"list.inactiveSelectionBackground\",{dark:\"#3F3F46\",light:\"#CCCEDB\",hc:null},ns(\"listInactiveSelectionBackground\",\"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),Pf=lf(\"list.inactiveSelectionForeground\",{dark:null,light:null,hc:null},ns(\"listInactiveSelectionForeground\",\"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),Bf=lf(\"list.inactiveFocusBackground\",{dark:\"#313135\",light:\"#d8dae6\",hc:null},ns(\"listInactiveSelectionBackground\",\"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),Rf=lf(\"list.hoverBackground\",{dark:\"#2A2D2E\",light:\"#F0F0F0\",hc:null},ns(\"listHoverBackground\",\"List/Tree background when hovering over items using the mouse.\")),jf=lf(\"list.hoverForeground\",{dark:null,light:null,hc:null},ns(\"listHoverForeground\",\"List/Tree foreground when hovering over items using the mouse.\")),zf=lf(\"list.dropBackground\",{dark:Lf,light:Lf,hc:null},ns(\"listDropBackground\",\"List/Tree drag and drop background when moving items around using the mouse.\")),Wf=lf(\"list.highlightForeground\",{dark:\"#0097fb\",light:\"#007acc\",hc:ff},ns(\"highlight\",\"List/Tree foreground color of the match highlights when searching inside the list/tree.\")),Vf=(lf(\"list.invalidItemForeground\",{dark:\"#B89500\",light:\"#B89500\",hc:\"#B89500\"},ns(\"invalidItemForeground\",\"List/Tree foreground color for invalid items, for example an unresolved root in explorer.\")),lf(\"pickerGroup.foreground\",{dark:md.fromHex(\"#0097FB\").transparent(.6),light:md.fromHex(\"#007ACC\").transparent(.6),hc:md.white},ns(\"pickerGroupForeground\",\"Quick picker color for grouping labels.\")),lf(\"pickerGroup.border\",{dark:\"#3F3F46\",light:\"#CCCEDB\",hc:md.white},ns(\"pickerGroupBorder\",\"Quick picker color for grouping borders.\")),lf(\"button.foreground\",{dark:md.white,light:md.white,hc:md.white},ns(\"buttonForeground\",\"Button foreground color.\")),lf(\"button.background\",{dark:\"#0E639C\",light:\"#007ACC\",hc:null},ns(\"buttonBackground\",\"Button background color.\"))),Hf=(lf(\"button.hoverBackground\",{dark:Ig(Vf,.2),light:(cf=Vf,hf=.2,function(e){var t=Fg(cf,e);return t?t.darken(hf):null}),hc:null},ns(\"buttonHoverBackground\",\"Button background color when hovering.\")),lf(\"badge.background\",{dark:\"#4D4D4D\",light:\"#BEBEBE\",hc:md.black},ns(\"badgeBackground\",\"Badge background color. Badges are small information labels, e.g. for search results count.\"))),Uf=lf(\"badge.foreground\",{dark:md.white,light:md.white,hc:md.white},ns(\"badgeForeground\",\"Badge foreground color. Badges are small information labels, e.g. for search results count.\")),Yf=lf(\"scrollbar.shadow\",{dark:\"#000000\",light:\"#DDDDDD\",hc:null},ns(\"scrollbarShadow\",\"Scrollbar shadow to indicate that the view is scrolled.\")),Zf=lf(\"scrollbarSlider.background\",{dark:md.fromHex(\"#797979\").transparent(.4),light:md.fromHex(\"#646464\").transparent(.4),hc:Lg(gf,.6)},ns(\"scrollbarSliderBackground\",\"Scrollbar slider background color.\")),Gf=lf(\"scrollbarSlider.hoverBackground\",{dark:md.fromHex(\"#646464\").transparent(.7),light:md.fromHex(\"#646464\").transparent(.7),hc:Lg(gf,.8)},ns(\"scrollbarSliderHoverBackground\",\"Scrollbar slider background color when hovering.\")),Kf=lf(\"scrollbarSlider.activeBackground\",{dark:md.fromHex(\"#BFBFBF\").transparent(.4),light:md.fromHex(\"#000000\").transparent(.6),hc:gf},ns(\"scrollbarSliderActiveBackground\",\"Scrollbar slider background color when active.\")),qf=(lf(\"progressBar.background\",{dark:md.fromHex(\"#0E70C0\"),light:md.fromHex(\"#0E70C0\"),hc:gf},ns(\"progressBarBackground\",\"Background color of the progress bar that can show for long running operations.\")),lf(\"editor.background\",{light:\"#fffffe\",dark:\"#1E1E1E\",hc:md.black},ns(\"editorBackground\",\"Editor background color.\"))),Qf=lf(\"editor.foreground\",{light:\"#333333\",dark:\"#BBBBBB\",hc:md.white},ns(\"editorForeground\",\"Editor default foreground color.\")),Xf=lf(\"editorWidget.background\",{dark:\"#2D2D30\",light:\"#EFEFF2\",hc:\"#0C141F\"},ns(\"editorWidgetBackground\",\"Background color of editor widgets, such as find/replace.\")),Jf=lf(\"editorWidget.border\",{dark:\"#454545\",light:\"#C8C8C8\",hc:gf},ns(\"editorWidgetBorder\",\"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.\")),$f=lf(\"editor.selectionBackground\",{light:\"#ADD6FF\",dark:\"#264F78\",hc:\"#f3f518\"},ns(\"editorSelectionBackground\",\"Color of the editor selection.\")),eg=lf(\"editor.selectionForeground\",{light:null,dark:null,hc:\"#000000\"},ns(\"editorSelectionForeground\",\"Color of the selected text for high contrast.\")),tg=lf(\"editor.inactiveSelectionBackground\",{light:Lg($f,.5),dark:Lg($f,.5),hc:Lg($f,.5)},ns(\"editorInactiveSelection\",\"Color of the selection in an inactive editor. The color must not be opaque to not hide underlying decorations.\"),!0),ng=lf(\"editor.selectionHighlightBackground\",{light:Tg($f,qf,.3,.6),dark:Tg($f,qf,.3,.6),hc:null},ns(\"editorSelectionHighlight\",\"Color for regions with the same content as the selection. The color must not be opaque to not hide underlying decorations.\"),!0),rg=lf(\"editor.selectionHighlightBorder\",{light:null,dark:null,hc:mf},ns(\"editorSelectionHighlightBorder\",\"Border color for regions with the same content as the selection.\")),ig=lf(\"editor.findMatchBackground\",{light:\"#A8AC94\",dark:\"#515C6A\",hc:null},ns(\"editorFindMatch\",\"Color of the current search match.\")),og=lf(\"editor.findMatchHighlightBackground\",{light:\"#EA5C0055\",dark:\"#EA5C0055\",hc:null},ns(\"findMatchHighlight\",\"Color of the other search matches. The color must not be opaque to not hide underlying decorations.\"),!0),sg=lf(\"editor.findRangeHighlightBackground\",{dark:\"#3a3d4166\",light:\"#b4b4b44d\",hc:null},ns(\"findRangeHighlight\",\"Color of the range limiting the search. The color must not be opaque to not hide underlying decorations.\"),!0),ag=lf(\"editor.findMatchBorder\",{light:null,dark:null,hc:mf},ns(\"editorFindMatchBorder\",\"Border color of the current search match.\")),ug=lf(\"editor.findMatchHighlightBorder\",{light:null,dark:null,hc:mf},ns(\"findMatchHighlightBorder\",\"Border color of the other search matches.\")),lg=lf(\"editor.findRangeHighlightBorder\",{dark:null,light:null,hc:Lg(mf,.4)},ns(\"findRangeHighlightBorder\",\"Border color of the range limiting the search. The color must not be opaque to not hide underlying decorations.\"),!0),cg=lf(\"editor.hoverHighlightBackground\",{light:\"#ADD6FF26\",dark:\"#264f7840\",hc:\"#ADD6FF26\"},ns(\"hoverHighlight\",\"Highlight below the word for which a hover is shown. The color must not be opaque to not hide underlying decorations.\"),!0),hg=lf(\"editorHoverWidget.background\",{light:Xf,dark:Xf,hc:Xf},ns(\"hoverBackground\",\"Background color of the editor hover.\")),dg=lf(\"editorHoverWidget.border\",{light:Jf,dark:Jf,hc:Jf},ns(\"hoverBorder\",\"Border color of the editor hover.\")),pg=lf(\"editorLink.activeForeground\",{dark:\"#4E94CE\",light:md.blue,hc:md.cyan},ns(\"activeLinkForeground\",\"Color of active links.\")),fg=new md(new pd(155,185,85,.2)),gg=new md(new pd(255,0,0,.2)),mg=lf(\"diffEditor.insertedTextBackground\",{dark:fg,light:fg,hc:null},ns(\"diffEditorInserted\",\"Background color for text that got inserted. The color must not be opaque to not hide underlying decorations.\"),!0),vg=lf(\"diffEditor.removedTextBackground\",{dark:gg,light:gg,hc:null},ns(\"diffEditorRemoved\",\"Background color for text that got removed. The color must not be opaque to not hide underlying decorations.\"),!0),yg=lf(\"diffEditor.insertedTextBorder\",{dark:null,light:null,hc:\"#33ff2eff\"},ns(\"diffEditorInsertedOutline\",\"Outline color for the text that got inserted.\")),bg=lf(\"diffEditor.removedTextBorder\",{dark:null,light:null,hc:\"#FF008F\"},ns(\"diffEditorRemovedOutline\",\"Outline color for text that got removed.\")),_g=md.fromHex(\"#40C8AE\").transparent(.5),Cg=md.fromHex(\"#40A6FF\").transparent(.5),wg=md.fromHex(\"#606060\").transparent(.4),Dg=lf(\"merge.currentHeaderBackground\",{dark:_g,light:_g,hc:null},ns(\"mergeCurrentHeaderBackground\",\"Current header background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.\"),!0),Eg=(lf(\"merge.currentContentBackground\",{dark:Lg(Dg,.4),light:Lg(Dg,.4),hc:Lg(Dg,.4)},ns(\"mergeCurrentContentBackground\",\"Current content background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.\"),!0),lf(\"merge.incomingHeaderBackground\",{dark:Cg,light:Cg,hc:null},ns(\"mergeIncomingHeaderBackground\",\"Incoming header background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.\"),!0)),Ag=(lf(\"merge.incomingContentBackground\",{dark:Lg(Eg,.4),light:Lg(Eg,.4),hc:Lg(Eg,.4)},ns(\"mergeIncomingContentBackground\",\"Incoming content background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.\"),!0),lf(\"merge.commonHeaderBackground\",{dark:wg,light:wg,hc:null},ns(\"mergeCommonHeaderBackground\",\"Common ancestor header background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.\"),!0)),Sg=(lf(\"merge.commonContentBackground\",{dark:Lg(Ag,.4),light:Lg(Ag,.4),hc:Lg(Ag,.4)},ns(\"mergeCommonContentBackground\",\"Common ancestor content background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.\"),!0),lf(\"merge.border\",{dark:null,light:null,hc:\"#C3DF6F\"},ns(\"mergeBorder\",\"Border color on headers and the splitter in inline merge-conflicts.\"))),xg=(lf(\"editorOverviewRuler.currentContentForeground\",{dark:Lg(Dg,1),light:Lg(Dg,1),hc:Sg},ns(\"overviewRulerCurrentContentForeground\",\"Current overview ruler foreground for inline merge-conflicts.\")),lf(\"editorOverviewRuler.incomingContentForeground\",{dark:Lg(Eg,1),light:Lg(Eg,1),hc:Sg},ns(\"overviewRulerIncomingContentForeground\",\"Incoming overview ruler foreground for inline merge-conflicts.\")),lf(\"editorOverviewRuler.commonContentForeground\",{dark:Lg(Ag,1),light:Lg(Ag,1),hc:Sg},ns(\"overviewRulerCommonContentForeground\",\"Common ancestor overview ruler foreground for inline merge-conflicts.\")),new md(new pd(246,185,77,.7))),Mg=lf(\"editorOverviewRuler.findMatchForeground\",{dark:xg,light:xg,hc:xg},ns(\"overviewRulerFindMatchForeground\",\"Overview ruler marker color for find matches. The color must not be opaque to not hide underlying decorations.\"),!0),Ng=lf(\"editorOverviewRuler.selectionHighlightForeground\",{dark:\"#A0A0A0CC\",light:\"#A0A0A0CC\",hc:\"#A0A0A0CC\"},ns(\"overviewRulerSelectionHighlightForeground\",\"Overview ruler marker color for selection highlights. The color must not be opaque to not hide underlying decorations.\"),!0);function Ig(e,t){return function(n){var r=Fg(e,n);return r?r.lighten(t):null}}function Lg(e,t){return function(n){var r=Fg(e,n);return r?r.transparent(t):null}}function kg(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){for(var n=0,r=e;n<r.length;n++){var i=Fg(r[n],t);if(i)return i}return null}}function Tg(e,t,n,r){return function(i){var o=Fg(e,i);if(o){var s=Fg(t,i);return s?o.isDarkerThan(s)?md.getLighterColor(o,s,n).transparent(r):md.getDarkerColor(o,s,n).transparent(r):o.transparent(n*r)}return null}}function Fg(e,t){return null===e?null:\"string\"==typeof e?\"#\"===e[0]?md.fromHex(e):t.getColor(e):e instanceof md?e:\"function\"==typeof e?e(t):null}var Og=Or(\"themeService\");function Pg(e){return{id:e}}var Bg=\"dark\",Rg=\"hc\";function jg(e){switch(e){case Bg:return\"vs-dark\";case Rg:return\"hc-black\";default:return\"vs\"}}var zg=\"base.contributions.theming\",Wg=new(function(){function e(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new wn}return e.prototype.onThemeChange=function(e){var t=this;return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),{dispose:function(){var n=t.themingParticipants.indexOf(e);t.themingParticipants.splice(n,1)}}},Object.defineProperty(e.prototype,\"onThemingParticipantAdded\",{get:function(){return this.onThemingParticipantAddedEmitter.event},enumerable:!0,configurable:!0}),e.prototype.getThemingParticipants=function(){return this.themingParticipants},e}());function Vg(e){return Wg.onThemeChange(e)}su.add(zg,Wg);var Hg=lf(\"editor.lineHighlightBackground\",{dark:null,light:null,hc:null},ns(\"lineHighlight\",\"Background color for the highlight of line at the cursor position.\")),Ug=lf(\"editor.lineHighlightBorder\",{dark:\"#282828\",light:\"#eeeeee\",hc:\"#f38518\"},ns(\"lineHighlightBorderBox\",\"Background color for the border around the line at the cursor position.\")),Yg=lf(\"editor.rangeHighlightBackground\",{dark:\"#ffffff0b\",light:\"#fdff0033\",hc:null},ns(\"rangeHighlight\",\"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque to not hide underlying decorations.\"),!0),Zg=lf(\"editor.rangeHighlightBorder\",{dark:null,light:null,hc:mf},ns(\"rangeHighlightBorder\",\"Background color of the border around highlighted ranges.\"),!0),Gg=lf(\"editorCursor.foreground\",{dark:\"#AEAFAD\",light:md.black,hc:md.white},ns(\"caret\",\"Color of the editor cursor.\")),Kg=lf(\"editorCursor.background\",null,ns(\"editorCursorBackground\",\"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.\")),qg=lf(\"editorWhitespace.foreground\",{dark:\"#e3e4e229\",light:\"#33333333\",hc:\"#e3e4e229\"},ns(\"editorWhitespaces\",\"Color of whitespace characters in the editor.\")),Qg=lf(\"editorIndentGuide.background\",{dark:qg,light:qg,hc:qg},ns(\"editorIndentGuides\",\"Color of the editor indentation guides.\")),Xg=lf(\"editorIndentGuide.activeBackground\",{dark:qg,light:qg,hc:qg},ns(\"editorActiveIndentGuide\",\"Color of the active editor indentation guides.\")),Jg=lf(\"editorLineNumber.foreground\",{dark:\"#5A5A5A\",light:\"#2B91AF\",hc:md.white},ns(\"editorLineNumbers\",\"Color of editor line numbers.\")),$g=lf(\"editorActiveLineNumber.foreground\",{dark:null,light:null,hc:null},ns(\"editorActiveLineNumber\",\"Color of editor active line number\"),!1,ns(\"deprecatedEditorActiveLineNumber\",\"Id is deprecated. Use 'editorLineNumber.activeForeground' instead.\")),em=lf(\"editorLineNumber.activeForeground\",{dark:$g,light:$g,hc:$g},ns(\"editorActiveLineNumber\",\"Color of editor active line number\")),tm=lf(\"editorRuler.foreground\",{dark:\"#5A5A5A\",light:md.lightgrey,hc:md.white},ns(\"editorRuler\",\"Color of the editor rulers.\")),nm=(lf(\"editorCodeLens.foreground\",{dark:\"#999999\",light:\"#999999\",hc:\"#999999\"},ns(\"editorCodeLensForeground\",\"Foreground color of editor code lenses\")),lf(\"editorBracketMatch.background\",{dark:\"#0064001a\",light:\"#0064001a\",hc:\"#0064001a\"},ns(\"editorBracketMatchBackground\",\"Background color behind matching brackets\"))),rm=lf(\"editorBracketMatch.border\",{dark:\"#888\",light:\"#B9B9B9\",hc:\"#fff\"},ns(\"editorBracketMatchBorder\",\"Color for matching brackets boxes\")),im=lf(\"editorOverviewRuler.border\",{dark:\"#7f7f7f4d\",light:\"#7f7f7f4d\",hc:\"#7f7f7f4d\"},ns(\"editorOverviewRulerBorder\",\"Color of the overview ruler border.\")),om=lf(\"editorGutter.background\",{dark:qf,light:qf,hc:qf},ns(\"editorGutter\",\"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.\")),sm=lf(\"editorError.foreground\",{dark:\"#ea4646\",light:\"#d60a0a\",hc:null},ns(\"errorForeground\",\"Foreground color of error squigglies in the editor.\")),am=lf(\"editorError.border\",{dark:null,light:null,hc:md.fromHex(\"#E47777\").transparent(.8)},ns(\"errorBorder\",\"Border color of error squigglies in the editor.\")),um=lf(\"editorWarning.foreground\",{dark:\"#4d9e4d\",light:\"#117711\",hc:null},ns(\"warningForeground\",\"Foreground color of warning squigglies in the editor.\")),lm=lf(\"editorWarning.border\",{dark:null,light:null,hc:md.fromHex(\"#71B771\").transparent(.8)},ns(\"warningBorder\",\"Border color of warning squigglies in the editor.\")),cm=lf(\"editorInfo.foreground\",{dark:\"#008000\",light:\"#008000\",hc:null},ns(\"infoForeground\",\"Foreground color of info squigglies in the editor.\")),hm=lf(\"editorInfo.border\",{dark:null,light:null,hc:md.fromHex(\"#71B771\").transparent(.8)},ns(\"infoBorder\",\"Border color of info squigglies in the editor.\")),dm=lf(\"editorHint.foreground\",{dark:md.fromHex(\"#eeeeee\").transparent(.7),light:\"#6c6c6c\",hc:null},ns(\"hintForeground\",\"Foreground color of hint squigglies in the editor.\")),pm=lf(\"editorHint.border\",{dark:null,light:null,hc:md.fromHex(\"#eeeeee\").transparent(.8)},ns(\"hintBorder\",\"Border color of hint squigglies in the editor.\")),fm=new md(new pd(0,122,204,.6)),gm=(lf(\"editorOverviewRuler.rangeHighlightForeground\",{dark:fm,light:fm,hc:fm},ns(\"overviewRulerRangeHighlight\",\"Overview ruler marker color for range highlights. The color must not be opaque to not hide underlying decorations.\"),!0),lf(\"editorOverviewRuler.errorForeground\",{dark:new md(new pd(255,18,18,.7)),light:new md(new pd(255,18,18,.7)),hc:new md(new pd(255,50,50,1))},ns(\"overviewRuleError\",\"Overview ruler marker color for errors.\"))),mm=lf(\"editorOverviewRuler.warningForeground\",{dark:new md(new pd(18,136,18,.7)),light:new md(new pd(18,136,18,.7)),hc:new md(new pd(50,255,50,1))},ns(\"overviewRuleWarning\",\"Overview ruler marker color for warnings.\")),vm=lf(\"editorOverviewRuler.infoForeground\",{dark:new md(new pd(18,18,136,.7)),light:new md(new pd(18,18,136,.7)),hc:new md(new pd(50,50,255,1))},ns(\"overviewRuleInfo\",\"Overview ruler marker color for infos.\"));Vg(function(e,t){var n=e.getColor(qf);n&&t.addRule(\".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: \"+n+\"; }\");var r=e.getColor(Qf);r&&t.addRule(\".monaco-editor, .monaco-editor .inputarea.ime-input { color: \"+r+\"; }\");var i=e.getColor(om);i&&t.addRule(\".monaco-editor .margin { background-color: \"+i+\"; }\");var o=e.getColor(Yg);o&&t.addRule(\".monaco-editor .rangeHighlight { background-color: \"+o+\"; }\");var s=e.getColor(Zg);s&&t.addRule(\".monaco-editor .rangeHighlight { border: 1px \"+(\"hc\"===e.type?\"dotted\":\"solid\")+\" \"+s+\"; }\");var a=e.getColor(qg);a&&t.addRule(\".vs-whitespace { color: \"+a+\" !important; }\")});var ym=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),bm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ym(t,e),t}(Zp),_m=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Cm=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._readConfig(),n._lastCursorModelPosition=new ye(1,1),n._renderResult=null,n._context.addEventHandler(n),n}return _m(t,e),t.prototype._readConfig=function(){var e=this._context.configuration.editor;this._lineHeight=e.lineHeight,this._renderLineNumbers=e.viewInfo.renderLineNumbers,this._renderCustomLineNumbers=e.viewInfo.renderCustomLineNumbers,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return this._readConfig(),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0].getPosition();return this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(t),2===this._renderLineNumbers||3===this._renderLineNumbers},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getLineRenderLineNumber=function(e){var t=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ye(e,1));if(1!==t.column)return\"\";var n=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){var r=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===r?'<span class=\"relative-current-line-number\">'+n+\"</span>\":String(r)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n?String(n):n%10==0?String(n):\"\":String(n)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var n=we.c?this._lineHeight%2==0?\" lh-even\":\" lh-odd\":\"\",r=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,o='<div class=\"'+t.CLASS_NAME+n+'\" style=\"left:'+this._lineNumbersLeft.toString()+\"px;width:\"+this._lineNumbersWidth.toString()+'px;\">',s=[],a=r;a<=i;a++){var u=a-r,l=this._getLineRenderLineNumber(a);s[u]=l?o+l+\"</div>\":\"\"}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return\"\";var n=t-e;return n<0||n>=this._renderResult.length?\"\":this._renderResult[n]},t.CLASS_NAME=\"line-numbers\",t}(bm);Vg(function(e,t){var n=e.getColor(Jg);n&&t.addRule(\".monaco-editor .line-numbers { color: \"+n+\"; }\");var r=e.getColor(em);r&&t.addRule(\".monaco-editor .current-line ~ .line-numbers { color: \"+r+\"; }\")});var wm=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Dm=function(){function e(e,t,n){this.top=e,this.left=t,this.width=n}return e.prototype.setWidth=function(t){return new e(this.top,this.left,t)},e}(),Em=$l||ec,Am=function(){function e(){this._lastState=null}return e.prototype.set=function(e){this._lastState=e},e.prototype.get=function(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState:(this._lastState=null,null)},e.INSTANCE=new e,e}(),Sm=function(e){function t(t,n,r){var i=e.call(this,t)||this;i._primaryCursorVisibleRange=null,i._viewController=n,i._viewHelper=r;var o=i._context.configuration.editor;i._accessibilitySupport=o.accessibilitySupport,i._contentLeft=o.layoutInfo.contentLeft,i._contentWidth=o.layoutInfo.contentWidth,i._contentHeight=o.layoutInfo.contentHeight,i._scrollLeft=0,i._scrollTop=0,i._fontInfo=o.fontInfo,i._lineHeight=o.lineHeight,i._emptySelectionClipboard=o.emptySelectionClipboard,i._visibleTextArea=null,i._selections=[new Ii(1,1,1,1)],i.textArea=Up(document.createElement(\"textarea\")),rf.write(i.textArea,6),i.textArea.setClassName(\"inputarea\"),i.textArea.setAttribute(\"wrap\",\"off\"),i.textArea.setAttribute(\"autocorrect\",\"off\"),i.textArea.setAttribute(\"autocapitalize\",\"off\"),i.textArea.setAttribute(\"autocomplete\",\"off\"),i.textArea.setAttribute(\"spellcheck\",\"false\"),i.textArea.setAttribute(\"aria-label\",o.viewInfo.ariaLabel),i.textArea.setAttribute(\"role\",\"textbox\"),i.textArea.setAttribute(\"aria-multiline\",\"true\"),i.textArea.setAttribute(\"aria-haspopup\",\"false\"),i.textArea.setAttribute(\"aria-autocomplete\",\"both\"),i.textAreaCover=Up(document.createElement(\"div\")),i.textAreaCover.setPosition(\"absolute\");var s={getLineCount:function(){return i._context.model.getLineCount()},getLineMaxColumn:function(e){return i._context.model.getLineMaxColumn(e)},getValueInRange:function(e,t){return i._context.model.getValueInRange(e,t)}},a={getPlainTextToCopy:function(){var e=i._context.model.getPlainTextToCopy(i._selections,i._emptySelectionClipboard,we.g),t=i._context.model.getEOL(),n=i._emptySelectionClipboard&&1===i._selections.length&&i._selections[0].isEmpty(),r=Array.isArray(e)?e:null,o=Array.isArray(e)?e.join(t):e,s=null;(n||r)&&(s={lastCopiedValue:ec?o.replace(/\\r\\n/g,\"\\n\"):o,isFromEmptySelection:i._emptySelectionClipboard&&1===i._selections.length&&i._selections[0].isEmpty(),multicursorText:r});return Am.INSTANCE.set(s),o},getHTMLToCopy:function(){return i._context.model.getHTMLToCopy(i._selections,i._emptySelectionClipboard)},getScreenReaderContent:function(e){if(ic)return Gp.EMPTY;if(1===i._accessibilitySupport){if(we.d){var t=i._selections[0];if(t.isEmpty()){var n=t.getStartPosition(),r=i._getWordBeforePosition(n);if(0===r.length&&(r=i._getCharacterBeforePosition(n)),r.length>0)return new Gp(r,r.length,r.length,n,n)}}return Gp.EMPTY}return Kp.fromEditorSelection(e,s,i._selections[0],0===i._accessibilitySupport)},deduceModelPosition:function(e,t,n){return i._context.model.deduceModelPositionRelativeToViewPosition(e,t,n)}};return i._textAreaInput=i._register(new Xp(a,i.textArea)),i._register(i._textAreaInput.onKeyDown(function(e){i._viewController.emitKeyDown(e)})),i._register(i._textAreaInput.onKeyUp(function(e){i._viewController.emitKeyUp(e)})),i._register(i._textAreaInput.onPaste(function(e){var t=Am.INSTANCE.get(e.text),n=!1,r=null;t&&(n=i._emptySelectionClipboard&&t.isFromEmptySelection,r=t.multicursorText),i._viewController.paste(\"keyboard\",e.text,n,r)})),i._register(i._textAreaInput.onCut(function(){i._viewController.cut(\"keyboard\")})),i._register(i._textAreaInput.onType(function(e){e.replaceCharCnt?i._viewController.replacePreviousChar(\"keyboard\",e.text,e.replaceCharCnt):i._viewController.type(\"keyboard\",e.text)})),i._register(i._textAreaInput.onSelectionChangeRequest(function(e){i._viewController.setSelection(\"keyboard\",e)})),i._register(i._textAreaInput.onCompositionStart(function(){var e=i._selections[0].startLineNumber,t=i._selections[0].startColumn;i._context.privateViewEventBus.emit(new jh(new be(e,t,e,t),0,!0,1));var n=i._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);n&&(i._visibleTextArea=new Dm(i._context.viewLayout.getVerticalOffsetForLineNumber(e),n.left,Em?0:1),i._render()),i.textArea.setClassName(\"inputarea ime-input\"),i._viewController.compositionStart(\"keyboard\")})),i._register(i._textAreaInput.onCompositionUpdate(function(e){i._visibleTextArea=$l?i._visibleTextArea.setWidth(0):i._visibleTextArea.setWidth(function(e,t){var n=document.createElement(\"canvas\").getContext(\"2d\");n.font=(r=t,i=\"normal\",o=r.fontWeight,s=r.fontSize,a=r.lineHeight,u=r.fontFamily,i+\" normal \"+o+\" \"+s+\"px / \"+a+\"px \"+u);var r,i,o,s,a,u;var l=n.measureText(e);return ec?l.width+2:l.width}(e.data,i._fontInfo)),i._render()})),i._register(i._textAreaInput.onCompositionEnd(function(){i._visibleTextArea=null,i._render(),i.textArea.setClassName(\"inputarea\"),i._viewController.compositionEnd(\"keyboard\")})),i._register(i._textAreaInput.onFocus(function(){i._context.privateViewEventBus.emit(new Fh(!0))})),i._register(i._textAreaInput.onBlur(function(){i._context.privateViewEventBus.emit(new Fh(!1))})),i}return wm(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getWordBeforePosition=function(e){for(var t=this._context.model.getLineContent(e.lineNumber),n=Vs(this._context.configuration.editor.wordSeparators),r=e.column,i=0;r>1;){var o=t.charCodeAt(r-2);if(0!==n.get(o)||i>50)return t.substring(r-1,e.column-1);i++,r--}return t.substring(0,e.column-1)},t.prototype._getCharacterBeforePosition=function(e){if(e.column>1){var t=this._context.model.getLineContent(e.lineNumber).charAt(e.column-2);if(!Ft(t.charCodeAt(0)))return t}return\"\"},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.editor;return e.fontInfo&&(this._fontInfo=t.fontInfo),e.viewInfo&&this.textArea.setAttribute(\"aria-label\",t.viewInfo.ariaLabel),e.layoutInfo&&(this._contentLeft=t.layoutInfo.contentLeft,this._contentWidth=t.layoutInfo.contentWidth,this._contentHeight=t.layoutInfo.contentHeight),e.lineHeight&&(this._lineHeight=t.lineHeight),e.accessibilitySupport&&(this._accessibilitySupport=t.accessibilitySupport,this._textAreaInput.writeScreenReaderContent(\"strategy changed\")),e.emptySelectionClipboard&&(this._emptySelectionClipboard=t.emptySelectionClipboard),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),this._textAreaInput.writeScreenReaderContent(\"selection changed\"),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.isFocused=function(){return this._textAreaInput.isFocused()},t.prototype.focusTextArea=function(){this._textAreaInput.focusTextArea()},t.prototype.prepareRender=function(e){if(2===this._accessibilitySupport)this._primaryCursorVisibleRange=null;else{var t=new ye(this._selections[0].positionLineNumber,this._selections[0].positionColumn);this._primaryCursorVisibleRange=e.visibleRangeForPosition(t)}},t.prototype.render=function(e){this._textAreaInput.writeScreenReaderContent(\"render\"),this._render()},t.prototype._render=function(){if(this._visibleTextArea)this._renderInsideEditor(this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight,!0);else if(this._primaryCursorVisibleRange){var e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(e<this._contentLeft||e>this._contentLeft+this._contentWidth)this._renderAtTopLeft();else{var t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;t<0||t>this._contentHeight?this._renderAtTopLeft():this._renderInsideEditor(t,e,Em?0:1,Em?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,n,r,i){var o=this.textArea,s=this.textAreaCover;i?Vp.applyFontInfo(o,this._fontInfo):(o.setFontSize(1),o.setLineHeight(this._fontInfo.lineHeight)),o.setTop(e),o.setLeft(t),o.setWidth(n),o.setHeight(r),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(Vp.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),Em)return e.setWidth(0),e.setHeight(0),t.setWidth(0),void t.setHeight(0);e.setWidth(1),e.setHeight(1),t.setWidth(1),t.setHeight(1),this._context.configuration.editor.viewInfo.glyphMargin?t.setClassName(\"monaco-editor-background textAreaCover \"+sf.OUTER_CLASS_NAME):0!==this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName(\"monaco-editor-background textAreaCover \"+Cm.CLASS_NAME):t.setClassName(\"monaco-editor-background textAreaCover\")},t}(nf);function xm(e,t,n){var r=null,i=null;if(\"function\"==typeof n.value?(r=\"value\",0!==(i=n.value).length&&console.warn(\"Memoize should only be used in functions with zero parameters\")):\"function\"==typeof n.get&&(r=\"get\",i=n.get),!i)throw new Error(\"not supported\");var o=\"$memoize$\"+t;n[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[o]}}var Mm,Nm=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s};!function(e){e.Tap=\"-monaco-gesturetap\",e.Change=\"-monaco-gesturechange\",e.Start=\"-monaco-gesturestart\",e.End=\"-monaco-gesturesend\",e.Contextmenu=\"-monaco-gesturecontextmenu\"}(Mm||(Mm={}));var Im=function(){function e(){var e=this;this.toDispose=[],this.activeTouches={},this.handle=null,this.targets=[],this.toDispose.push(kc(document,\"touchstart\",function(t){return e.onTouchStart(t)})),this.toDispose.push(kc(document,\"touchend\",function(t){return e.onTouchEnd(t)})),this.toDispose.push(kc(document,\"touchmove\",function(t){return e.onTouchMove(t)}))}return e.addTarget=function(t){e.isTouchDevice()&&(e.INSTANCE||(e.INSTANCE=new e),e.INSTANCE.targets.push(t))},e.isTouchDevice=function(){return\"ontouchstart\"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},e.prototype.dispose=function(){this.handle&&(this.handle.dispose(),on(this.toDispose),this.handle=null)},e.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var n=0,r=e.targetTouches.length;n<r;n++){var i=e.targetTouches.item(n);this.activeTouches[i.identifier]={id:i.identifier,initialTarget:i.target,initialTimeStamp:t,initialPageX:i.pageX,initialPageY:i.pageY,rollingTimestamps:[t],rollingPageX:[i.pageX],rollingPageY:[i.pageY]};var o=this.newGestureEvent(Mm.Start,i.target);o.pageX=i.pageX,o.pageY=i.pageY,this.dispatchEvent(o)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},e.prototype.onTouchEnd=function(t){for(var n=Date.now(),r=Object.keys(this.activeTouches).length,i=function(i,s){var a=t.changedTouches.item(i);if(!o.activeTouches.hasOwnProperty(String(a.identifier)))return console.warn(\"move of an UNKNOWN touch\",a),\"continue\";var u=o.activeTouches[a.identifier],l=Date.now()-u.initialTimeStamp;if(l<e.HOLD_DELAY&&Math.abs(u.initialPageX-zn(u.rollingPageX))<30&&Math.abs(u.initialPageY-zn(u.rollingPageY))<30)(c=o.newGestureEvent(Mm.Tap,u.initialTarget)).pageX=zn(u.rollingPageX),c.pageY=zn(u.rollingPageY),o.dispatchEvent(c);else if(l>=e.HOLD_DELAY&&Math.abs(u.initialPageX-zn(u.rollingPageX))<30&&Math.abs(u.initialPageY-zn(u.rollingPageY))<30){var c;(c=o.newGestureEvent(Mm.Contextmenu,u.initialTarget)).pageX=zn(u.rollingPageX),c.pageY=zn(u.rollingPageY),o.dispatchEvent(c)}else if(1===r){var h=zn(u.rollingPageX),d=zn(u.rollingPageY),p=zn(u.rollingTimestamps)-u.rollingTimestamps[0],f=h-u.rollingPageX[0],g=d-u.rollingPageY[0],m=o.targets.filter(function(e){return u.initialTarget instanceof Node&&e.contains(u.initialTarget)});o.inertia(m,n,Math.abs(f)/p,f>0?1:-1,h,Math.abs(g)/p,g>0?1:-1,d)}o.dispatchEvent(o.newGestureEvent(Mm.End,u.initialTarget)),delete o.activeTouches[a.identifier]},o=this,s=0,a=t.changedTouches.length;s<a;s++)i(s);this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)},e.prototype.newGestureEvent=function(e,t){var n=document.createEvent(\"CustomEvent\");return n.initEvent(e,!1,!0),n.initialTarget=t,n},e.prototype.dispatchEvent=function(e){var t=this;this.targets.forEach(function(n){e.initialTarget instanceof Node&&n.contains(e.initialTarget)&&(n.dispatchEvent(e),t.dispatched=!0)})},e.prototype.inertia=function(t,n,r,i,o,s,a,u){var l=this;this.handle=Pc(function(){var c=Date.now(),h=c-n,d=0,p=0,f=!0;r+=e.SCROLL_FRICTION*h,s+=e.SCROLL_FRICTION*h,r>0&&(f=!1,d=i*r*h),s>0&&(f=!1,p=a*s*h);var g=l.newGestureEvent(Mm.Change);g.translationX=d,g.translationY=p,t.forEach(function(e){return e.dispatchEvent(g)}),f||l.inertia(t,c,r,i,o+d,s,a,u+p)})},e.prototype.onTouchMove=function(e){for(var t=Date.now(),n=0,r=e.changedTouches.length;n<r;n++){var i=e.changedTouches.item(n);if(this.activeTouches.hasOwnProperty(String(i.identifier))){var o=this.activeTouches[i.identifier],s=this.newGestureEvent(Mm.Change,o.initialTarget);s.translationX=i.pageX-zn(o.rollingPageX),s.translationY=i.pageY-zn(o.rollingPageY),s.pageX=i.pageX,s.pageY=i.pageY,this.dispatchEvent(s),o.rollingPageX.length>3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(i.pageX),o.rollingPageY.push(i.pageY),o.rollingTimestamps.push(t)}else console.warn(\"end of an UNKNOWN touch\",i)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},e.SCROLL_FRICTION=-.005,e.HOLD_DELAY=700,Nm([xm],e,\"isTouchDevice\",null),e}(),Lm=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function km(e,t){var n=new yc(t);return n.preventDefault(),{leftButton:n.leftButton,posx:n.posx,posy:n.posy}}var Tm=function(e){function t(){var t=e.call(this)||this;return t.hooks=[],t.mouseMoveEventMerger=null,t.mouseMoveCallback=null,t.onStopCallback=null,t}return Lm(t,e),t.prototype.dispose=function(){this.stopMonitoring(!1),e.prototype.dispose.call(this)},t.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks=on(this.hooks),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t()}},t.prototype.isMonitoring=function(){return this.hooks.length>0},t.prototype.startMonitoring=function(e,t,n){var r=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=n;for(var i=mc.getSameOriginWindowChain(),o=0;o<i.length;o++)this.hooks.push(Gc(i[o].window.document,\"mousemove\",function(e){return r.mouseMoveCallback(e)},function(e,t){return r.mouseMoveEventMerger(e,t)})),this.hooks.push(kc(i[o].window.document,\"mouseup\",function(e){return r.stopMonitoring(!0)}));if(mc.hasDifferentOriginAncestor()){var s=i[i.length-1];this.hooks.push(kc(s.window.document,\"mouseout\",function(e){\"html\"===new yc(e).target.tagName.toLowerCase()&&r.stopMonitoring(!0)})),this.hooks.push(kc(s.window.document,\"mouseover\",function(e){\"html\"===new yc(e).target.tagName.toLowerCase()&&r.stopMonitoring(!0)})),this.hooks.push(kc(s.window.document.body,\"mouseleave\",function(e){r.stopMonitoring(!0)}))}}},t}(un),Fm=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Om=function(){function e(e,t){this.x=e,this.y=t}return e.prototype.toClientCoordinates=function(){return new Pm(this.x-th.scrollX,this.y-th.scrollY)},e}(),Pm=function(){function e(e,t){this.clientX=e,this.clientY=t}return e.prototype.toPageCoordinates=function(){return new Om(this.clientX+th.scrollX,this.clientY+th.scrollY)},e}(),Bm=function(){return function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}}();function Rm(e){var t=eh(e);return new Bm(t.left,t.top,t.width,t.height)}var jm,zm=function(e){function t(t,n){var r=e.call(this,t)||this;return r.pos=new Om(r.posx,r.posy),r.editorPos=Rm(n),r}return Fm(t,e),t}(yc),Wm=function(){function e(e){this._editorViewDomNode=e}return e.prototype._create=function(e){return new zm(e,this._editorViewDomNode)},e.prototype.onContextMenu=function(e,t){var n=this;return kc(e,\"contextmenu\",function(e){t(n._create(e))})},e.prototype.onMouseUp=function(e,t){var n=this;return kc(e,\"mouseup\",function(e){t(n._create(e))})},e.prototype.onMouseDown=function(e,t){var n=this;return kc(e,\"mousedown\",function(e){t(n._create(e))})},e.prototype.onMouseLeave=function(e,t){var n=this;return Fc(e,function(e){t(n._create(e))})},e.prototype.onMouseMoveThrottled=function(e,t,n,r){var i=this;return Gc(e,\"mousemove\",t,function(e,t){return n(e,i._create(t))},r)},e}(),Vm=function(e){function t(t){var n=e.call(this)||this;return n._editorViewDomNode=t,n._globalMouseMoveMonitor=n._register(new Tm),n._keydownListener=null,n}return Fm(t,e),t.prototype.startMonitoring=function(e,t,n){var r=this;this._keydownListener=Tc(document,\"keydown\",function(e){e.toKeybinding().isModifierKey()||r._globalMouseMoveMonitor.stopMonitoring(!0)},!0);this._globalMouseMoveMonitor.startMonitoring(function(t,n){return e(t,new zm(n,r._editorViewDomNode))},t,function(){r._keydownListener.dispose(),n()})},t}(un),Hm=function(){function e(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r}return e._equals=function(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type},e.equalsArr=function(t,n){var r=t.length;if(r!==n.length)return!1;for(var i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0},e.filter=function(t,n,r,i){if(0===t.length)return[];for(var o=[],s=0,a=0,u=t.length;a<u;a++){var l=t[a],c=l.range;if(!(c.endLineNumber<n||c.startLineNumber>n)&&(!c.isEmpty()||0!==l.type&&3!==l.type)){var h=c.startLineNumber===n?c.startColumn:r,d=c.endLineNumber===n?c.endColumn:i;o[s++]=new e(h,d,l.inlineClassName,l.type)}}return o},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.className<t.className?-1:e.className>t.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}(),Um=function(){return function(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n}}(),Ym=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]<e;){for(var r=0;r+1<this.count&&this.stopOffsets[r]===this.stopOffsets[r+1];)r++;n.push(new Um(t,this.stopOffsets[r],this.classNames.join(\" \"))),t=this.stopOffsets[r]+1,this.stopOffsets.splice(0,r+1),this.classNames.splice(0,r+1),this.count-=r+1}return this.count>0&&t<e&&(n.push(new Um(t,e-1,this.classNames.join(\" \"))),t=e),t},e.prototype.insert=function(e,t){if(0===this.count||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t);else for(var n=0;n<this.count;n++)if(this.stopOffsets[n]>=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),Zm=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var n=[],r=new Ym,i=0,o=0,s=t.length;o<s;o++){var a=t[o],u=a.startColumn,l=a.endColumn,c=a.className;if(u>1)Ft(e.charCodeAt(u-2))&&u--;if(l>1)Ft(e.charCodeAt(l-2))&&l--;var h=u-1,d=l-2;i=r.consumeLowerThan(h,i,n),0===r.count&&(i=h),r.insert(d,c)}return r.consumeLowerThan(1073741824,i,n),n},e}();jm=\"undefined\"!=typeof TextDecoder?function(e){return new Gm(e)}:function(e){return new Km};var Gm=function(){function e(e){this._decoder=new TextDecoder(\"UTF-16LE\"),this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}return e.prototype.reset=function(){this._completedStrings=null,this._bufferLength=0},e.prototype.build=function(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join(\"\")):this._buildBuffer()},e.prototype._buildBuffer=function(){if(0===this._bufferLength)return\"\";var e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return this._decoder.decode(e)},e.prototype._flushBuffer=function(){var e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e},e.prototype.write1=function(e){var t=this._capacity-this._bufferLength;t<=1&&(0===t||Ft(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCII=function(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCIIString=function(e){var t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var n=0;n<t;n++)this._buffer[this._bufferLength++]=e.charCodeAt(n)},e}(),Km=function(){function e(){this._pieces=[],this._piecesLen=0}return e.prototype.reset=function(){this._pieces=[],this._piecesLen=0},e.prototype.build=function(){return this._pieces.join(\"\")},e.prototype.write1=function(e){this._pieces[this._piecesLen++]=String.fromCharCode(e)},e.prototype.appendASCII=function(e){this._pieces[this._piecesLen++]=String.fromCharCode(e)},e.prototype.appendASCIIString=function(e){this._pieces[this._piecesLen++]=e},e}(),qm=function(){return function(e,t){this.endIndex=e,this.type=t}}(),Qm=function(){function e(e,t,n,r,i,o,s,a,u,l,c,h,d){this.useMonospaceOptimizations=e,this.lineContent=t,this.isBasicASCII=n,this.containsRTL=r,this.fauxIndentLength=i,this.lineTokens=o,this.lineDecorations=s,this.tabSize=a,this.spaceWidth=u,this.stopRenderingLineAfter=l,this.renderWhitespace=\"all\"===c?2:\"boundary\"===c?1:0,this.renderControlCharacters=h,this.fontLigatures=d}return e.prototype.equals=function(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineContent===e.lineContent&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.spaceWidth===e.spaceWidth&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&Hm.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)},e}(),Xm=function(){function e(e,t){this.length=e,this._data=new Uint32Array(this.length),this._absoluteOffsets=new Uint32Array(this.length)}return e.getPartIndex=function(e){return(4294901760&e)>>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,n,r){var i=(t<<16|n<<0)>>>0;this._data[e]=i,this._absoluteOffsets[e]=r+n},e.prototype.getAbsoluteOffsets=function(){return this._absoluteOffsets},e.prototype.charOffsetToPartData=function(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]},e.prototype.partDataToCharOffset=function(t,n,r){if(0===this.length)return 0;for(var i=(t<<16|r<<0)>>>0,o=0,s=this.length-1;o+1<s;){var a=o+s>>>1,u=this._data[a];if(u===i)return a;u>i?s=a:o=a}if(o===s)return o;var l=this._data[o],c=this._data[s];if(l===i)return o;if(c===i)return s;var h=e.getPartIndex(l);return r-e.getCharIndex(l)<=(h!==e.getPartIndex(c)?n:e.getCharIndex(c))-r?o:s},e}(),Jm=function(){return function(e,t,n){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}}();function $m(e,t){if(0===e.lineContent.length){var n=0,r=\"<span><span> </span></span>\";if(e.lineDecorations.length>0){for(var i=[],o=0,s=e.lineDecorations.length;o<s;o++){var a=e.lineDecorations[o];1===a.type&&(i.push(e.lineDecorations[o].className),n|=1),2===a.type&&(i.push(e.lineDecorations[o].className),n|=2)}0!==n&&(r='<span><span class=\"'+i.join(\" \")+'\"></span></span>')}return t.appendASCIIString(r),new Jm(new Xm(0,0),!1,n)}return function(e,t){var n=e.fontIsMonospace,r=e.containsForeignElements,i=e.lineContent,o=e.len,s=e.isOverflowing,a=e.parts,u=e.tabSize,l=e.containsRTL,c=e.spaceWidth,h=e.renderWhitespace,d=e.renderControlCharacters,p=new Xm(o+1,a.length),f=0,g=0,m=0,v=0,y=0;t.appendASCIIString(\"<span>\");for(var b=0,_=a.length;b<_;b++){y+=v;var C=a[b],w=C.endIndex,D=C.type,E=0!==h&&D.indexOf(\"vs-whitespace\")>=0;if(m=0,t.appendASCIIString('<span class=\"'),t.appendASCIIString(D),t.appendASCII(34),E){for(var A=0,S=f,x=g;S<w;S++){var M=i.charCodeAt(S);if(9===M){var N=u-(S+x)%u;x+=N-1,A+=N}else A++}if(!n){var I=\"vs-whitespace\"===D;!I&&r||(t.appendASCIIString(' style=\"width:'),t.appendASCIIString(String(c*A)),t.appendASCIIString('px\"'))}for(t.appendASCII(62);f<w;f++){p.setPartData(f,b,m,y);var M=i.charCodeAt(f);if(9===M){var N=u-(f+g)%u;for(g+=N-1,m+=N-1,N>0&&(t.write1(8594),N--);N>0;)t.write1(160),N--}else t.write1(183);m++}v=A}else{var A=0;for(l&&t.appendASCIIString(' dir=\"ltr\"'),t.appendASCII(62);f<w;f++){p.setPartData(f,b,m,y);var M=i.charCodeAt(f);switch(M){case 9:var N=u-(f+g)%u;for(g+=N-1,m+=N-1;N>0;)t.write1(160),A++,N--;break;case 32:t.write1(160),A++;break;case 60:t.appendASCIIString(\"&lt;\"),A++;break;case 62:t.appendASCIIString(\"&gt;\"),A++;break;case 38:t.appendASCIIString(\"&amp;\"),A++;break;case 0:t.appendASCIIString(\"&#00;\"),A++;break;case 65279:case 8232:t.write1(65533),A++;break;default:Ht(M)&&g++,d&&M<32?(t.write1(9216+M),A++):(t.write1(M),A++)}m++}v=A}t.appendASCIIString(\"</span>\")}p.setPartData(o,a.length-1,m,y),s&&t.appendASCIIString(\"<span>&hellip;</span>\");return t.appendASCIIString(\"</span>\"),new Jm(p,l,r)}(function(e){var t,n,r=e.useMonospaceOptimizations,i=e.lineContent;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter<i.length?(t=!0,n=e.stopRenderingLineAfter):(t=!1,n=i.length);var o=function(e,t,n){var r=[],i=0;t>0&&(r[i++]=new qm(t,\"\"));for(var o=0,s=e.getCount();o<s;o++){var a=e.getEndOffset(o);if(!(a<=t)){var u=e.getClassName(o);if(a>=n){r[i++]=new qm(n,u);break}r[i++]=new qm(a,u)}}return r}(e.lineTokens,e.fauxIndentLength,n);2!==e.renderWhitespace&&1!==e.renderWhitespace||(o=function(e,t,n,r,i,o,s){var a,u=[],l=0,c=0,h=n[c].type,d=n[c].endIndex,p=bt(e);-1===p?(p=t,a=t):a=Ct(e);for(var f=0,g=0;g<r;g++){var m=e.charCodeAt(g);9===m?f=i:Ht(m)?f+=2:f++}f%=i;for(var v=!1,g=r;g<t;g++){var m=e.charCodeAt(g),y=void 0;if(g<p||g>a)y=!0;else if(9===m)y=!0;else if(32===m)if(s)if(v)y=!0;else{var b=g+1<t?e.charCodeAt(g+1):0;y=32===b||9===b}else y=!0;else y=!1;v?(!y||!o&&f>=i)&&(u[l++]=new qm(g,\"vs-whitespace\"),f%=i):(g===d||y&&g>r)&&(u[l++]=new qm(g,h),f%=i),9===m?f=i:Ht(m)?f+=2:f++,v=y,g===d&&(h=n[++c].type,d=n[c].endIndex)}u[l++]=new qm(t,v?\"vs-whitespace\":h);return u}(i,n,o,e.fauxIndentLength,e.tabSize,r,1===e.renderWhitespace));var s=0;if(e.lineDecorations.length>0){for(var a=0,u=e.lineDecorations.length;a<u;a++){var l=e.lineDecorations[a];3===l.type?s|=1:1===l.type?s|=1:2===l.type&&(s|=2)}o=function(e,t,n,r){r.sort(Hm.compare);for(var i=Zm.normalize(e,r),o=i.length,s=0,a=[],u=0,l=0,c=0,h=n.length;c<h;c++){for(var d=n[c],p=d.endIndex,f=d.type;s<o&&i[s].startOffset<p;){var g=i[s];if(g.startOffset>l&&(l=g.startOffset,a[u++]=new qm(l,f)),!(g.endOffset+1<=p)){l=p,a[u++]=new qm(l,f+\" \"+g.className);break}l=g.endOffset+1,a[u++]=new qm(l,f+\" \"+g.className),s++}p>l&&(l=p,a[u++]=new qm(l,f))}var m=n[n.length-1].endIndex;if(s<o&&i[s].startOffset===m){for(var v=[];s<o&&i[s].startOffset===m;)v.push(i[s].className),s++;a[u++]=new qm(l,v.join(\" \"))}return a}(i,0,o,e.lineDecorations)}e.isBasicASCII&&!e.fontLigatures&&(o=function(e,t){for(var n=0,r=[],i=0,o=0,s=t.length;o<s;o++){var a=t[o],u=a.endIndex,l=u-n;if(l>50){for(var c=a.type,h=Math.ceil(l/50),d=1;d<h;d++){var p=n+50*d;r[i++]=new qm(p,c)}r[i++]=new qm(u,c)}else r[i++]=a;n=u}return r}(0,o));return new nv(r,i,n,t,o,s,e.tabSize,e.containsRTL,e.spaceWidth,e.renderWhitespace,e.renderControlCharacters)}(e),t)}var ev=function(){return function(e,t,n,r){this.characterMapping=e,this.html=t,this.containsRTL=n,this.containsForeignElements=r}}();function tv(e){var t=jm(1e4),n=$m(e,t);return new ev(n.characterMapping,t.build(),n.containsRTL,n.containsForeignElements)}var nv=function(){return function(e,t,n,r,i,o,s,a,u,l,c){this.fontIsMonospace=e,this.lineContent=t,this.len=n,this.isOverflowing=r,this.parts=i,this.containsForeignElements=o,this.tabSize=s,this.containsRTL=a,this.spaceWidth=u,this.renderWhitespace=l,this.renderControlCharacters=c}}();var rv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),iv=function(e){function t(t,n,r){var i=e.call(this,t,n)||this;return i._viewLines=r,i}return rv(t,e),t.prototype.linesVisibleRangesForRange=function(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)},t.prototype.visibleRangeForPosition=function(e){var t=this._viewLines.visibleRangesForRange2(new be(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},t}(function(){function e(e,t){this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;var n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height}return e.prototype.getScrolledTopFromAbsoluteTop=function(e){return e-this.scrollTop},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.getDecorationsInViewport=function(){return this.viewportData.getDecorationsInViewport()},e}()),ov=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}(),sv=function(){function e(e,t){this.left=Math.round(e),this.width=Math.round(t)}return e.prototype.toString=function(){return\"[\"+this.left+\",\"+this.width+\"]\"},e}(),av=function(){function e(e,t){this.left=e,this.width=t}return e.prototype.toString=function(){return\"[\"+this.left+\",\"+this.width+\"]\"},e.compare=function(e,t){return e.left-t.left},e}(),uv=function(){function e(){}return e._createRange=function(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange},e._detachRange=function(e,t){e.selectNodeContents(t)},e._readClientRects=function(e,t,n,r,i){var o=this._createRange();try{return o.setStart(e,t),o.setEnd(n,r),o.getClientRects()}catch(e){return null}finally{this._detachRange(o,i)}},e._mergeAdjacentRanges=function(e){if(1===e.length)return[new sv(e[0].left,e[0].width)];e.sort(av.compare);for(var t=[],n=0,r=e[0].left,i=e[0].width,o=1,s=e.length;o<s;o++){var a=e[o],u=a.left,l=a.width;r+i+.9>=u?i=Math.max(i,u+l-r):(t[n++]=new sv(r,i),r=u,i=l)}return t[n++]=new sv(r,i),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var n=[],r=0,i=e.length;r<i;r++){var o=e[r];n[r]=new av(Math.max(0,o.left-t),o.width)}return this._mergeAdjacentRanges(n)},e.readHorizontalRanges=function(e,t,n,r,i,o,s){var a=e.children.length-1;if(0>a)return null;(t=Math.min(a,Math.max(0,t)))!==(r=Math.min(a,Math.max(0,r)))&&r>0&&0===i&&(r--,i=Number.MAX_VALUE);var u=e.children[t].firstChild,l=e.children[r].firstChild;if(u&&l||(!u&&0===n&&t>0&&(u=e.children[t-1].firstChild,n=1073741824),!l&&0===i&&r>0&&(l=e.children[r-1].firstChild,i=1073741824)),!u||!l)return null;n=Math.min(u.textContent.length,Math.max(0,n)),i=Math.min(l.textContent.length,Math.max(0,i));var c=this._readClientRects(u,n,l,i,s);return this._createHorizontalRangesFromClientRects(c,o)},e}(),lv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),cv=!!we.e||!(we.c||ec||rc),hv=$l,dv=function(){function e(e,t){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectDeltaLeftRead=!1,this.endNode=t}return Object.defineProperty(e.prototype,\"clientRectDeltaLeft\",{get:function(){return this._clientRectDeltaLeftRead||(this._clientRectDeltaLeftRead=!0,this._clientRectDeltaLeft=this._domNode.getBoundingClientRect().left),this._clientRectDeltaLeft},enumerable:!0,configurable:!0}),e}(),pv=function(){function e(e,t){this.themeType=t,this.renderWhitespace=e.editor.viewInfo.renderWhitespace,this.renderControlCharacters=e.editor.viewInfo.renderControlCharacters,this.spaceWidth=e.editor.fontInfo.spaceWidth,this.useMonospaceOptimizations=e.editor.fontInfo.isMonospace&&!e.editor.viewInfo.disableMonospaceOptimizations,this.lineHeight=e.editor.lineHeight,this.stopRenderingLineAfter=e.editor.viewInfo.stopRenderingLineAfter,this.fontLigatures=e.editor.viewInfo.fontLigatures}return e.prototype.equals=function(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures},e}(),fv=function(){function e(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}return e.prototype.getDomNode=function(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null},e.prototype.setDomNode=function(e){if(!this._renderedViewLine)throw new Error(\"I have no rendered view line to set the dom node to...\");this._renderedViewLine.domNode=Up(e)},e.prototype.onContentChanged=function(){this._isMaybeInvalid=!0},e.prototype.onTokensChanged=function(){this._isMaybeInvalid=!0},e.prototype.onDecorationsChanged=function(){this._isMaybeInvalid=!0},e.prototype.onOptionsChanged=function(e){this._isMaybeInvalid=!0,this._options=e},e.prototype.onSelectionChanged=function(){return!(!hv&&this._options.themeType!==Rg)&&(this._isMaybeInvalid=!0,!0)},e.prototype.renderLine=function(t,n,r,i){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;var o=r.getViewLineRenderingData(t),s=this._options,a=Hm.filter(o.inlineDecorations,t,o.minColumn,o.maxColumn);if(hv||s.themeType===Rg)for(var u=r.selections,l=0,c=u.length;l<c;l++){var h=u[l];if(!(h.endLineNumber<t||h.startLineNumber>t)){var d=h.startLineNumber===t?h.startColumn:o.minColumn,p=h.endLineNumber===t?h.endColumn:o.maxColumn;d<p&&a.push(new Hm(d,p,\"inline-selected-text\",0))}}var f=new Qm(s.useMonospaceOptimizations,o.content,o.isBasicASCII,o.containsRTL,o.minColumn-1,o.tokens,a,o.tabSize,s.spaceWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures);if(this._renderedViewLine&&this._renderedViewLine.input.equals(f))return!1;i.appendASCIIString('<div style=\"top:'),i.appendASCIIString(String(n)),i.appendASCIIString(\"px;height:\"),i.appendASCIIString(String(this._options.lineHeight)),i.appendASCIIString('px;\" class=\"'),i.appendASCIIString(e.CLASS_NAME),i.appendASCIIString('\">');var g=$m(f,i);i.appendASCIIString(\"</div>\");var m=null;return cv&&o.isBasicASCII&&s.useMonospaceOptimizations&&0===g.containsForeignElements&&o.content.length<300&&f.lineTokens.getCount()<100&&(m=new gv(this._renderedViewLine?this._renderedViewLine.domNode:null,f,g.characterMapping)),m||(m=yv(this._renderedViewLine?this._renderedViewLine.domNode:null,f,g.characterMapping,g.containsRTL,g.containsForeignElements)),this._renderedViewLine=m,!0},e.prototype.layoutLine=function(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))},e.prototype.getWidth=function(){return this._renderedViewLine?this._renderedViewLine.getWidth():0},e.prototype.getWidthIsFast=function(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()},e.prototype.getVisibleRangesForRange=function(e,t,n){e|=0,t|=0,e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e)),t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t));var r=0|this._renderedViewLine.input.stopRenderingLineAfter;return-1!==r&&e>r&&t>r?null:(-1!==r&&e>r&&(e=r),-1!==r&&t>r&&(t=r),this._renderedViewLine.getVisibleRangesForRange(e,t,n))},e.prototype.getColumnOfNodeOffset=function(e,t,n){return this._renderedViewLine.getColumnOfNodeOffset(e,t,n)},e.CLASS_NAME=\"view-line\",e}(),gv=function(){function e(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,this._charWidth=t.spaceWidth}return e.prototype.getWidth=function(){return this._getCharPosition(this._characterMapping.length)},e.prototype.getWidthIsFast=function(){return!0},e.prototype.getVisibleRangesForRange=function(e,t,n){var r=this._getCharPosition(e),i=this._getCharPosition(t);return[new sv(r,i-r)]},e.prototype._getCharPosition=function(e){var t=this._characterMapping.getAbsoluteOffsets();return 0===t.length?0:Math.round(this._charWidth*t[e-1])},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var r=t.textContent.length,i=-1;t;)t=t.previousSibling,i++;return this._characterMapping.partDataToCharOffset(i,r,n)+1},e}(),mv=function(){function e(e,t,n,r,i){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\\s*$/.test(t.lineContent),this._containsForeignElements=i,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(var o=0,s=this._characterMapping.length;o<=s;o++)this._pixelOffsetCache[o]=-1}}return e.prototype._getReadingTarget=function(){return this.domNode.domNode.firstChild},e.prototype.getWidth=function(){return-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget().offsetWidth),this._cachedWidth},e.prototype.getWidthIsFast=function(){return-1!==this._cachedWidth},e.prototype.getVisibleRangesForRange=function(e,t,n){if(null!==this._pixelOffsetCache){var r=this._readPixelOffset(e,n);if(-1===r)return null;var i=this._readPixelOffset(t,n);return-1===i?null:[new sv(r,i-r)]}return this._readVisibleRangesForRange(e,t,n)},e.prototype._readVisibleRangesForRange=function(e,t,n){if(e===t){var r=this._readPixelOffset(e,n);return-1===r?null:[new sv(r,0)]}return this._readRawVisibleRangesForRange(e,t,n)},e.prototype._readPixelOffset=function(e,t){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth()}if(null!==this._pixelOffsetCache){var n=this._pixelOffsetCache[e];if(-1!==n)return n;var r=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=r,r}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var n=uv.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return n&&0!==n.length?n[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var r=this._characterMapping.charOffsetToPartData(e-1),i=Xm.getPartIndex(r),o=Xm.getCharIndex(r),s=uv.readHorizontalRanges(this._getReadingTarget(),i,o,i,o,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,n){if(1===e&&t===this._characterMapping.length)return[new sv(0,this.getWidth())];var r=this._characterMapping.charOffsetToPartData(e-1),i=Xm.getPartIndex(r),o=Xm.getCharIndex(r),s=this._characterMapping.charOffsetToPartData(t-1),a=Xm.getPartIndex(s),u=Xm.getCharIndex(s);return uv.readHorizontalRanges(this._getReadingTarget(),i,o,a,u,n.clientRectDeltaLeft,n.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var r=t.textContent.length,i=-1;t;)t=t.previousSibling,i++;return this._characterMapping.partDataToCharOffset(i,r,n)+1},e}(),vv=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return lv(t,e),t.prototype._readVisibleRangesForRange=function(t,n,r){var i=e.prototype._readVisibleRangesForRange.call(this,t,n,r);if(!i||0===i.length||t===n||1===t&&n===this._characterMapping.length)return i;var o=this._readPixelOffset(n-1,r),s=this._readPixelOffset(n,r);if(-1!==o&&-1!==s){var a=o<=s,u=i[i.length-1];a&&u.left<s&&(u.width=s-u.left)}return i},t}(mv),yv=tc?bv:_v;function bv(e,t,n,r,i){return new vv(e,t,n,r,i)}function _v(e,t,n,r,i){return new mv(e,t,n,r,i)}var Cv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),wv=function(){function e(e,t,n,r,i,o){void 0===n&&(n=0),void 0===r&&(r=null),void 0===i&&(i=null),void 0===o&&(o=null),this.element=e,this.type=t,this.mouseColumn=n,this.position=r,!i&&r&&(i=new be(r.lineNumber,r.column,r.lineNumber,r.column)),this.range=i,this.detail=o}return e._typeToString=function(e){return e===ju.TEXTAREA?\"TEXTAREA\":e===ju.GUTTER_GLYPH_MARGIN?\"GUTTER_GLYPH_MARGIN\":e===ju.GUTTER_LINE_NUMBERS?\"GUTTER_LINE_NUMBERS\":e===ju.GUTTER_LINE_DECORATIONS?\"GUTTER_LINE_DECORATIONS\":e===ju.GUTTER_VIEW_ZONE?\"GUTTER_VIEW_ZONE\":e===ju.CONTENT_TEXT?\"CONTENT_TEXT\":e===ju.CONTENT_EMPTY?\"CONTENT_EMPTY\":e===ju.CONTENT_VIEW_ZONE?\"CONTENT_VIEW_ZONE\":e===ju.CONTENT_WIDGET?\"CONTENT_WIDGET\":e===ju.OVERVIEW_RULER?\"OVERVIEW_RULER\":e===ju.SCROLLBAR?\"SCROLLBAR\":e===ju.OVERLAY_WIDGET?\"OVERLAY_WIDGET\":\"UNKNOWN\"},e.toString=function(e){return this._typeToString(e.type)+\": \"+e.position+\" - \"+e.range+\" - \"+e.detail},e.prototype.toString=function(){return e.toString(this)},e}(),Dv=function(){function e(){}return e.isTextArea=function(e){return 2===e.length&&3===e[0]&&6===e[1]},e.isChildOfViewLines=function(e){return e.length>=4&&3===e[0]&&7===e[3]},e.isStrictChildOfViewLines=function(e){return e.length>4&&3===e[0]&&7===e[3]},e.isChildOfScrollableElement=function(e){return e.length>=2&&3===e[0]&&5===e[1]},e.isChildOfMinimap=function(e){return e.length>=2&&3===e[0]&&8===e[1]},e.isChildOfContentWidgets=function(e){return e.length>=4&&3===e[0]&&1===e[3]},e.isChildOfOverflowingContentWidgets=function(e){return e.length>=1&&2===e[0]},e.isChildOfOverlayWidgets=function(e){return e.length>=2&&3===e[0]&&4===e[1]},e}(),Ev=function(){function e(e,t,n){this.model=e.model,this.layoutInfo=e.configuration.editor.layoutInfo,this.viewDomNode=t.viewDomNode,this.lineHeight=e.configuration.editor.lineHeight,this.typicalHalfwidthCharacterWidth=e.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this.lastViewCursorsRenderData=n,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){var r=n.verticalOffset+n.height/2,i=e.model.getLineCount(),o=null,s=void 0,a=null;return n.afterLineNumber!==i&&(a=new ye(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(o=new ye(n.afterLineNumber,e.model.getLineMaxColumn(n.afterLineNumber))),s=null===a?o:null===o?a:t<r?o:a,{viewZoneId:n.id,afterLineNumber:n.afterLineNumber,positionBefore:o,positionAfter:a,position:s}}return null},e.prototype.getFullLineRangeAtCoord=function(e){if(this._context.viewLayout.isAfterLines(e)){var t=this._context.model.getLineCount(),n=this._context.model.getLineMaxColumn(t);return{range:new be(t,n,t,n),isAfterLines:!0}}var r=this._context.viewLayout.getLineNumberAtVerticalOffset(e),i=this._context.model.getLineMaxColumn(r);return{range:new be(r,1,r,i),isAfterLines:!1}},e.prototype.getLineNumberAtVerticalOffset=function(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)},e.prototype.isAfterLines=function(e){return this._context.viewLayout.isAfterLines(e)},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.findAttribute=function(t,n){return e._findAttribute(t,n,this._viewHelper.viewDomNode)},e._findAttribute=function(e,t,n){for(;e&&e!==document.body;){if(e.hasAttribute&&e.hasAttribute(t))return e.getAttribute(t);if(e===n)return null;e=e.parentNode}return null},e.prototype.getLineWidth=function(e){return this._viewHelper.getLineWidth(e)},e.prototype.visibleRangeForPosition2=function(e,t){return this._viewHelper.visibleRangeForPosition2(e,t)},e.prototype.getPositionFromDOMInfo=function(e,t){return this._viewHelper.getPositionFromDOMInfo(e,t)},e.prototype.getCurrentScrollTop=function(){return this._context.viewLayout.getCurrentScrollTop()},e.prototype.getCurrentScrollLeft=function(){return this._context.viewLayout.getCurrentScrollLeft()},e}(),Av=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r)||this;return o._ctx=t,i?(o.target=i,o.targetPath=rf.collect(i,t.viewDomNode)):(o.target=null,o.targetPath=new Uint8Array(0)),o}return Cv(t,e),t.prototype.toString=function(){return\"pos(\"+this.pos.x+\",\"+this.pos.y+\"), editorPos(\"+this.editorPos.x+\",\"+this.editorPos.y+\"), mouseVerticalOffset: \"+this.mouseVerticalOffset+\", mouseContentHorizontalOffset: \"+this.mouseContentHorizontalOffset+\"\\n\\ttarget: \"+(this.target?this.target.outerHTML:null)},t.prototype.fulfill=function(e,t,n,r){return void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null),new wv(this.target,e,this.mouseColumn,t,n,r)},t.prototype.withTarget=function(e){return new t(this._ctx,this.editorPos,this.pos,e)},t}(function(){return function(e,t,n){this.editorPos=t,this.pos=n,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+n.y-t.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+n.x-t.x-e.layoutInfo.contentLeft,this.isInMarginArea=n.x-t.x<e.layoutInfo.contentLeft&&n.x-t.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Mv._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}()),Sv={isAfterLines:!0};function xv(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var Mv=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,n=rf.collect(t,this._viewHelper.viewDomNode);return!(!Dv.isChildOfContentWidgets(n)&&!Dv.isChildOfOverflowingContentWidgets(n))||!!Dv.isChildOfOverlayWidgets(n)},e.prototype.createMouseTarget=function(t,n,r,i){var o=new Ev(this._context,this._viewHelper,t),s=new Av(o,n,r,i);try{return e._createMouseTarget(o,s,!1)}catch(e){return s.fulfill(ju.UNKNOWN)}},e._createMouseTarget=function(t,n,r){if(null===n.target){if(r)return n.fulfill(ju.UNKNOWN);var i=e._doHitTest(t,n);return i.position?e.createMouseTargetFromHitTestPosition(t,n,i.position.lineNumber,i.position.column):this._createMouseTarget(t,n.withTarget(i.hitTarget),!0)}var o=null;return(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o||e._hitTestContentWidget(t,n))||e._hitTestOverlayWidget(t,n))||e._hitTestMinimap(t,n))||e._hitTestScrollbarSlider(t,n))||e._hitTestViewZone(t,n))||e._hitTestMargin(t,n))||e._hitTestViewCursor(t,n))||e._hitTestTextArea(t,n))||e._hitTestViewLines(t,n,r))||e._hitTestScrollbar(t,n))||n.fulfill(ju.UNKNOWN)},e._hitTestContentWidget=function(e,t){if(Dv.isChildOfContentWidgets(t.targetPath)||Dv.isChildOfOverflowingContentWidgets(t.targetPath)){var n=e.findAttribute(t.target,\"widgetId\");return n?t.fulfill(ju.CONTENT_WIDGET,null,null,n):t.fulfill(ju.UNKNOWN)}return null},e._hitTestOverlayWidget=function(e,t){if(Dv.isChildOfOverlayWidgets(t.targetPath)){var n=e.findAttribute(t.target,\"widgetId\");return n?t.fulfill(ju.OVERLAY_WIDGET,null,null,n):t.fulfill(ju.UNKNOWN)}return null},e._hitTestViewCursor=function(e,t){if(t.target)for(var n=0,r=(o=e.lastViewCursorsRenderData).length;n<r;n++){var i=o[n];if(t.target===i.domNode)return t.fulfill(ju.CONTENT_TEXT,i.position)}if(t.isInContentArea){var o=e.lastViewCursorsRenderData,s=t.mouseContentHorizontalOffset,a=t.mouseVerticalOffset;for(n=0,r=o.length;n<r;n++){if(!(s<(i=o[n]).contentLeft)&&!(s>i.contentLeft+i.width)){var u=e.getVerticalOffsetForLineNumber(i.position.lineNumber);if(u<=a&&a<=u+i.height)return t.fulfill(ju.CONTENT_TEXT,i.position)}}}return null},e._hitTestViewZone=function(e,t){var n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){var r=t.isInContentArea?ju.CONTENT_VIEW_ZONE:ju.GUTTER_VIEW_ZONE;return t.fulfill(r,n.position,null,n)}return null},e._hitTestTextArea=function(e,t){return Dv.isTextArea(t.targetPath)?t.fulfill(ju.TEXTAREA):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=n.range.getStartPosition(),i=Math.abs(t.pos.x-t.editorPos.x),o={isAfterLines:n.isAfterLines,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:i};return(i-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(ju.GUTTER_GLYPH_MARGIN,r,n.range,o):(i-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(ju.GUTTER_LINE_NUMBERS,r,n.range,o):(i-=e.layoutInfo.lineNumbersWidth,t.fulfill(ju.GUTTER_LINE_DECORATIONS,r,n.range,o))}return null},e._hitTestViewLines=function(t,n,r){if(!Dv.isChildOfViewLines(n.targetPath))return null;if(t.isAfterLines(n.mouseVerticalOffset)){var i=t.model.getLineCount(),o=t.model.getLineMaxColumn(i);return n.fulfill(ju.CONTENT_EMPTY,new ye(i,o),void 0,Sv)}if(r){if(Dv.isStrictChildOfViewLines(n.targetPath)){var s=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var a=t.getLineWidth(s),u=xv(n.mouseContentHorizontalOffset-a);return n.fulfill(ju.CONTENT_EMPTY,new ye(s,1),void 0,u)}}return n.fulfill(ju.UNKNOWN)}var l=e._doHitTest(t,n);return l.position?e.createMouseTargetFromHitTestPosition(t,n,l.position.lineNumber,l.position.column):this._createMouseTarget(t,n.withTarget(l.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(Dv.isChildOfMinimap(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.model.getLineMaxColumn(n);return t.fulfill(ju.SCROLLBAR,new ye(n,r))}return null},e._hitTestScrollbarSlider=function(e,t){if(Dv.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var n=t.target.className;if(n&&/\\b(slider|scrollbar)\\b/.test(n)){var r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(r);return t.fulfill(ju.SCROLLBAR,new ye(r,i))}}return null},e._hitTestScrollbar=function(e,t){if(Dv.isChildOfScrollableElement(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.model.getLineMaxColumn(n);return t.fulfill(ju.SCROLLBAR,new ye(n,r))}return null},e.prototype.getMouseColumn=function(t,n){var r=this._context.configuration.editor.layoutInfo,i=this._context.viewLayout.getCurrentScrollLeft()+n.x-t.x-r.contentLeft;return e._getMouseColumn(i,this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth)},e._getMouseColumn=function(e,t){return e<0?1:Math.round(e/t)+1},e.createMouseTargetFromHitTestPosition=function(e,t,n,r){var i=new ye(n,r),o=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>o){if(Jl&&1===i.column){var s=xv(t.mouseContentHorizontalOffset-o);return t.fulfill(ju.CONTENT_EMPTY,new ye(n,e.model.getLineMaxColumn(n)),void 0,s)}var a=xv(t.mouseContentHorizontalOffset-o);return t.fulfill(ju.CONTENT_EMPTY,i,void 0,a)}var u=e.visibleRangeForPosition2(n,r);if(!u)return t.fulfill(ju.UNKNOWN,i);var l=u.left;if(t.mouseContentHorizontalOffset===l)return t.fulfill(ju.CONTENT_TEXT,i);var c=[];if(c.push({offset:u.left,column:r}),r>1){var h=e.visibleRangeForPosition2(n,r-1);h&&c.push({offset:h.left,column:r-1})}if(r<e.model.getLineMaxColumn(n)){var d=e.visibleRangeForPosition2(n,r+1);d&&c.push({offset:d.left,column:r+1})}c.sort(function(e,t){return e.offset-t.offset});for(var p=1;p<c.length;p++){var f=c[p-1],g=c[p];if(f.offset<=t.mouseContentHorizontalOffset&&t.mouseContentHorizontalOffset<=g.offset){var m=new be(n,f.column,n,g.column);return t.fulfill(ju.CONTENT_TEXT,i,m)}}return t.fulfill(ju.CONTENT_TEXT,i)},e._doHitTestWithCaretRangeFromPoint=function(e,t){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.getVerticalOffsetForLineNumber(n)+Math.floor(e.lineHeight/2),i=t.pos.y+(r-t.mouseVerticalOffset);i<=t.editorPos.y&&(i=t.editorPos.y+1),i>=t.editorPos.y+e.layoutInfo.height&&(i=t.editorPos.y+e.layoutInfo.height-1);var o=new Om(t.pos.x,i),s=this._actualDoHitTestWithCaretRangeFromPoint(e,o.toClientCoordinates());return s.position?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=document.caretRangeFromPoint(t.clientX,t.clientY);if(!n||!n.startContainer)return{position:null,hitTarget:null};var r,i=n.startContainer;if(i.nodeType===i.TEXT_NODE){var o=(a=(s=i.parentNode)?s.parentNode:null)?a.parentNode:null;if((o&&o.nodeType===o.ELEMENT_NODE?o.className:null)===fv.CLASS_NAME)return{position:e.getPositionFromDOMInfo(s,n.startOffset),hitTarget:null};r=i.parentNode}else if(i.nodeType===i.ELEMENT_NODE){var s,a;if(((a=(s=i.parentNode)?s.parentNode:null)&&a.nodeType===a.ELEMENT_NODE?a.className:null)===fv.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};r=i}return{position:null,hitTarget:r}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){var r=n.offsetNode.parentNode,i=r?r.parentNode:null,o=i?i.parentNode:null;return(o&&o.nodeType===o.ELEMENT_NODE?o.className:null)===fv.CLASS_NAME?{position:e.getPositionFromDOMInfo(n.offsetNode.parentNode,n.offset),hitTarget:null}:{position:null,hitTarget:n.offsetNode.parentNode}}return{position:null,hitTarget:n.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var n=null,r=null,i=document.body.createTextRange();try{i.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}i.collapse(!0);var o=i?i.parentElement():null,s=o?o.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:\"\")===fv.CLASS_NAME){var u=i.duplicate();u.moveToElementText(o),u.setEndPoint(\"EndToStart\",i),n=e.getPositionFromDOMInfo(o,u.text.length),u.moveToElementText(e.viewDomNode)}else r=o;return i.moveToElementText(e.viewDomNode),{position:n,hitTarget:r}},e._doHitTest=function(e,t){return document.caretRangeFromPoint?this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint?this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates()):document.body.createTextRange?this._doHitTestWithMoveToPoint(e,t.pos.toClientCoordinates()):{position:null,hitTarget:null}},e}(),Nv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function Iv(e){return function(t,n){var r=!1;return e&&(r=e.mouseTargetIsWidget(n)),r||n.preventDefault(),n}}var Lv=function(e){function t(n,r,i){var o=e.call(this)||this;o._isFocused=!1,o._context=n,o.viewController=r,o.viewHelper=i,o.mouseTargetFactory=new Mv(o._context,i),o._mouseDownOperation=o._register(new kv(o._context,o.viewController,o.viewHelper,function(e,t){return o._createMouseTarget(e,t)},function(e){return o._getMouseColumn(e)})),o._asyncFocus=o._register(new Yl(function(){return o.viewHelper.focusTextArea()},0)),o.lastMouseLeaveTime=-1;var s=new Wm(o.viewHelper.viewDomNode);o._register(s.onContextMenu(o.viewHelper.viewDomNode,function(e){return o._onContextMenu(e,!0)})),o._register(s.onMouseMoveThrottled(o.viewHelper.viewDomNode,function(e){return o._onMouseMove(e)},Iv(o.mouseTargetFactory),t.MOUSE_MOVE_MINIMUM_TIME)),o._register(s.onMouseUp(o.viewHelper.viewDomNode,function(e){return o._onMouseUp(e)})),o._register(s.onMouseLeave(o.viewHelper.viewDomNode,function(e){return o._onMouseLeave(e)})),o._register(s.onMouseDown(o.viewHelper.viewDomNode,function(e){return o._onMouseDown(e)}));var a=function(e){if(o._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new _c(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var n=mp.getZoomLevel(),r=t.deltaY>0?1:-1;mp.setZoomLevel(n+r),t.preventDefault(),t.stopPropagation()}}};return o._register(kc(o.viewHelper.viewDomNode,\"mousewheel\",a,!0)),o._register(kc(o.viewHelper.viewDomNode,\"DOMMouseScroll\",a,!0)),o._context.addEventHandler(o),o}return Nv(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),e.prototype.dispose.call(this)},t.prototype.onCursorStateChanged=function(e){return this._mouseDownOperation.onCursorStateChanged(e),!1},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!1},t.prototype.onScrollChanged=function(e){return this._mouseDownOperation.onScrollChanged(),!1},t.prototype.getTargetAtClientPoint=function(e,t){var n=new Pm(e,t).toPageCoordinates(),r=Rm(this.viewHelper.viewDomNode);if(n.y<r.y||n.y>r.y+r.height||n.x<r.x||n.x>r.x+r.width)return null;var i=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(i,r,n,null)},t.prototype._createMouseTarget=function(e,t){var n=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(n,e.editorPos,e.pos,t?e.target:null)},t.prototype._getMouseColumn=function(e){return this.mouseTargetFactory.getMouseColumn(e.editorPos,e.pos)},t.prototype._onContextMenu=function(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})},t.prototype._onMouseMove=function(e){this._mouseDownOperation.isActive()||(e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)}))},t.prototype._onMouseLeave=function(e){this.lastMouseLeaveTime=(new Date).getTime(),this.viewController.emitMouseLeave({event:e,target:null})},t.prototype._onMouseUp=function(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})},t.prototype._onMouseDown=function(e){var t=this,n=this._createMouseTarget(e,!0),r=n.type===ju.CONTENT_TEXT||n.type===ju.CONTENT_EMPTY,i=n.type===ju.GUTTER_GLYPH_MARGIN||n.type===ju.GUTTER_LINE_NUMBERS||n.type===ju.GUTTER_LINE_DECORATIONS,o=n.type===ju.GUTTER_LINE_NUMBERS,s=this._context.configuration.editor.viewInfo.selectOnLineNumbers,a=n.type===ju.CONTENT_VIEW_ZONE||n.type===ju.GUTTER_VIEW_ZONE,u=n.type===ju.CONTENT_WIDGET,l=e.leftButton||e.middleButton;we.d&&e.leftButton&&e.ctrlKey&&(l=!1);var c=function(){Xl&&!t._isFocused?t._asyncFocus.schedule():(e.preventDefault(),t.viewHelper.focusTextArea())};if(l&&(r||o&&s))c(),this._mouseDownOperation.start(n.type,e);else if(i)e.preventDefault();else if(a){var h=n.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(h.viewZoneId)&&(c(),this._mouseDownOperation.start(n.type,e),e.preventDefault())}else u&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(c(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})},t.MOUSE_MOVE_MINIMUM_TIME=100,t}(Zp),kv=function(e){function t(t,n,r,i,o){var s=e.call(this)||this;return s._context=t,s._viewController=n,s._viewHelper=r,s._createMouseTarget=i,s._getMouseColumn=o,s._mouseMoveMonitor=s._register(new Vm(s._viewHelper.viewDomNode)),s._onScrollTimeout=s._register(new Hl),s._mouseState=new Tv,s._currentSelection=new Ii(1,1,1,1),s._isActive=!1,s._lastMouseEvent=null,s}return Nv(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.isActive=function(){return this._isActive},t.prototype._onMouseDownThenMove=function(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);var t=this._findMousePosition(e,!0);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):this._dispatchMouse(t,!0))},t.prototype.start=function(e,t){var n=this;this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===ju.GUTTER_LINE_NUMBERS),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);var r=this._findMousePosition(t,!0);if(r){if(this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count,!this._context.configuration.editor.readOnly&&this._context.configuration.editor.dragAndDrop&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&this._currentSelection.containsPosition(r.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(Iv(null),function(e){return n._onMouseDownThenMove(e)},function(){var e=n._findMousePosition(n._lastMouseEvent,!0);n._viewController.emitMouseDrop({event:n._lastMouseEvent,target:e?n._createMouseTarget(n._lastMouseEvent,!0):null}),n._stop()});this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(Iv(null),function(e){return n._onMouseDownThenMove(e)},function(){return n._stop()}))}},t.prototype._stop=function(){this._isActive=!1,this._onScrollTimeout.cancel()},t.prototype.onScrollChanged=function(){var e=this;this._isActive&&this._onScrollTimeout.setIfNotSet(function(){var t=e._findMousePosition(e._lastMouseEvent,!1);t&&(e._mouseState.isDragAndDrop||e._dispatchMouse(t,!0))},10)},t.prototype.onCursorStateChanged=function(e){this._currentSelection=e.selections[0]},t.prototype._getPositionOutsideEditor=function(e){var t=e.editorPos,n=this._context.model,r=this._context.viewLayout,i=this._getMouseColumn(e);if(e.posy<t.y){var o=Math.max(r.getCurrentScrollTop()-(t.y-e.posy),0);if(a=Ev.getZoneAtCoord(this._context,o))if(u=this._helpPositionJumpOverViewZone(a))return new wv(null,ju.OUTSIDE_EDITOR,i,u);var s=r.getLineNumberAtVerticalOffset(o);return new wv(null,ju.OUTSIDE_EDITOR,i,new ye(s,1))}if(e.posy>t.y+t.height){var a,u;o=r.getCurrentScrollTop()+(e.posy-t.y);if(a=Ev.getZoneAtCoord(this._context,o))if(u=this._helpPositionJumpOverViewZone(a))return new wv(null,ju.OUTSIDE_EDITOR,i,u);var l=r.getLineNumberAtVerticalOffset(o);return new wv(null,ju.OUTSIDE_EDITOR,i,new ye(l,n.getLineMaxColumn(l)))}var c=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+(e.posy-t.y));return e.posx<t.x?new wv(null,ju.OUTSIDE_EDITOR,i,new ye(c,1)):e.posx>t.x+t.width?new wv(null,ju.OUTSIDE_EDITOR,i,new ye(c,n.getLineMaxColumn(c))):null},t.prototype._findMousePosition=function(e,t){var n=this._getPositionOutsideEditor(e);if(n)return n;var r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===ju.CONTENT_VIEW_ZONE||r.type===ju.GUTTER_VIEW_ZONE){var i=this._helpPositionJumpOverViewZone(r.detail);if(i)return new wv(r.element,r.type,r.mouseColumn,i,null,r.detail)}return r},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new ye(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,r=e.positionAfter;return n&&r?n.isBefore(t)?n:r:null},t.prototype._dispatchMouse=function(e,t){this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton})},t}(un),Tv=function(){function e(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}return Object.defineProperty(e.prototype,\"altKey\",{get:function(){return this._altKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"ctrlKey\",{get:function(){return this._ctrlKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"metaKey\",{get:function(){return this._metaKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"shiftKey\",{get:function(){return this._shiftKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"leftButton\",{get:function(){return this._leftButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"middleButton\",{get:function(){return this._middleButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"startedOnLineNumbers\",{get:function(){return this._startedOnLineNumbers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"count\",{get:function(){return this._lastMouseDownCount},enumerable:!0,configurable:!0}),e.prototype.setModifiers=function(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey},e.prototype.setStartButtons=function(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton},e.prototype.setStartedOnLineNumbers=function(e){this._startedOnLineNumbers=e},e.prototype.trySetCount=function(t,n){var r=(new Date).getTime();r-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=r,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}(),Fv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function Ov(e,t){var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}var Pv=function(e){function t(t,n,r){var i=e.call(this,t,n,r)||this;return i.viewHelper.linesContentDomNode.style.msTouchAction=\"none\",i.viewHelper.linesContentDomNode.style.msContentZooming=\"none\",i._installGestureHandlerTimeout=window.setTimeout(function(){if(i._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=i.viewHelper.linesContentDomNode,t.target=i.viewHelper.linesContentDomNode,i.viewHelper.linesContentDomNode.addEventListener(\"MSPointerDown\",function(n){var r=n.pointerType;r!==(n.MSPOINTER_TYPE_MOUSE||\"mouse\")?r===(n.MSPOINTER_TYPE_TOUCH||\"touch\")?(i._lastPointerType=\"touch\",e.addPointer(n.pointerId)):(i._lastPointerType=\"pen\",t.addPointer(n.pointerId)):i._lastPointerType=\"mouse\"}),i._register(Gc(i.viewHelper.linesContentDomNode,\"MSGestureChange\",function(e){return i._onGestureChange(e)},Ov)),i._register(kc(i.viewHelper.linesContentDomNode,\"MSGestureTap\",function(e){return i._onCaptureGestureTap(e)},!0))}},100),i._lastPointerType=\"mouse\",i}return Fv(t,e),t.prototype._onMouseDown=function(t){\"mouse\"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new zm(e,this.viewHelper.viewDomNode),r=this._createMouseTarget(n,!1);r.position&&this.viewController.moveTo(r.position),n.browserEvent.fromElement?(n.preventDefault(),this.viewHelper.focusTextArea()):setTimeout(function(){t.viewHelper.focusTextArea()})},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(Lv),Bv=function(e){function t(t,n,r){var i=e.call(this,t,n,r)||this;return i.viewHelper.linesContentDomNode.style.touchAction=\"none\",i._installGestureHandlerTimeout=window.setTimeout(function(){if(i._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=i.viewHelper.linesContentDomNode,t.target=i.viewHelper.linesContentDomNode,i.viewHelper.linesContentDomNode.addEventListener(\"pointerdown\",function(n){var r=n.pointerType;\"mouse\"!==r?\"touch\"===r?(i._lastPointerType=\"touch\",e.addPointer(n.pointerId)):(i._lastPointerType=\"pen\",t.addPointer(n.pointerId)):i._lastPointerType=\"mouse\"}),i._register(Gc(i.viewHelper.linesContentDomNode,\"MSGestureChange\",function(e){return i._onGestureChange(e)},Ov)),i._register(kc(i.viewHelper.linesContentDomNode,\"MSGestureTap\",function(e){return i._onCaptureGestureTap(e)},!0))}},100),i._lastPointerType=\"mouse\",i}return Fv(t,e),t.prototype._onMouseDown=function(t){\"mouse\"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new zm(e,this.viewHelper.viewDomNode),r=this._createMouseTarget(n,!1);r.position&&this.viewController.moveTo(r.position),n.browserEvent.fromElement?(n.preventDefault(),this.viewHelper.focusTextArea()):setTimeout(function(){t.viewHelper.focusTextArea()})},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(Lv),Rv=function(e){function t(t,n,r){var i=e.call(this,t,n,r)||this;return Im.addTarget(i.viewHelper.linesContentDomNode),i._register(kc(i.viewHelper.linesContentDomNode,Mm.Tap,function(e){return i.onTap(e)})),i._register(kc(i.viewHelper.linesContentDomNode,Mm.Change,function(e){return i.onChange(e)})),i._register(kc(i.viewHelper.linesContentDomNode,Mm.Contextmenu,function(e){return i._onContextMenu(new zm(e,i.viewHelper.viewDomNode),!1)})),i}return Fv(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new zm(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.moveTo(t.position)},t.prototype.onChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t}(Lv),jv=function(){function e(e,t,n){window.navigator.msPointerEnabled?this.handler=new Pv(e,t,n):window.TouchEvent?this.handler=new Rv(e,t,n):window.navigator.pointerEnabled||window.PointerEvent?this.handler=new Bv(e,t,n):this.handler=new Lv(e,t,n)}return e.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},e.prototype.dispose=function(){this.handler.dispose()},e}(),zv=function(){function e(e,t,n,r,i){this.configuration=e,this.viewModel=t,this._execCoreEditorCommandFunc=n,this.outgoingEvents=r,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source=\"mouse\",this._execCoreEditorCommandFunc(e,t)},e.prototype.paste=function(e,t,n,r){this.commandDelegate.paste(e,t,n,r)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,n){this.commandDelegate.replacePreviousChar(e,t,n)},e.prototype.compositionStart=function(e){this.commandDelegate.compositionStart(e)},e.prototype.compositionEnd=function(e){this.commandDelegate.compositionEnd(e)},e.prototype.cut=function(e){this.commandDelegate.cut(e)},e.prototype.setSelection=function(e,t){this._execCoreEditorCommandFunc(ul.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new ye(e.lineNumber,t):e},e.prototype._hasMulticursorModifier=function(e){switch(this.configuration.editor.multiCursorModifier){case\"altKey\":return e.altKey;case\"ctrlKey\":return e.ctrlKey;case\"metaKey\":return e.metaKey}return!1},e.prototype._hasNonMulticursorModifier=function(e){switch(this.configuration.editor.multiCursorModifier){case\"altKey\":return e.ctrlKey||e.metaKey;case\"ctrlKey\":return e.altKey||e.metaKey;case\"metaKey\":return e.ctrlKey||e.altKey}return!1},e.prototype.dispatchMouse=function(e){e.middleButton?e.inSelectionMode?this.columnSelect(e.position,e.mouseColumn):this.moveTo(e.position):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelect(e.position):this.createCursor(e.position,!0):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):e.mouseDownCount>=4?this.selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelectDrag(e.position):this.lastCursorLineSelect(e.position):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):2===e.mouseDownCount?this._hasMulticursorModifier(e)?this.lastCursorWordSelect(e.position):e.inSelectionMode?this.wordSelectDrag(e.position):this.wordSelect(e.position):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this.columnSelect(e.position,e.mouseColumn):e.inSelectionMode?this.lastCursorMoveToSelect(e.position):this.createCursor(e.position,!1)):e.inSelectionMode?this.moveToSelect(e.position):this.moveTo(e.position)},e.prototype._usualArgs=function(e){return e=this._validateViewColumn(e),{position:this.convertViewToModelPosition(e),viewPosition:e}},e.prototype.moveTo=function(e){this._execMouseCommand(ul.MoveTo,this._usualArgs(e))},e.prototype.moveToSelect=function(e){this._execMouseCommand(ul.MoveToSelect,this._usualArgs(e))},e.prototype.columnSelect=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(ul.ColumnSelect,{position:this.convertViewToModelPosition(e),viewPosition:e,mouseColumn:t})},e.prototype.createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(ul.CreateCursor,{position:this.convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype.lastCursorMoveToSelect=function(e){this._execMouseCommand(ul.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype.wordSelect=function(e){this._execMouseCommand(ul.WordSelect,this._usualArgs(e))},e.prototype.wordSelectDrag=function(e){this._execMouseCommand(ul.WordSelectDrag,this._usualArgs(e))},e.prototype.lastCursorWordSelect=function(e){this._execMouseCommand(ul.LastCursorWordSelect,this._usualArgs(e))},e.prototype.lineSelect=function(e){this._execMouseCommand(ul.LineSelect,this._usualArgs(e))},e.prototype.lineSelectDrag=function(e){this._execMouseCommand(ul.LineSelectDrag,this._usualArgs(e))},e.prototype.lastCursorLineSelect=function(e){this._execMouseCommand(ul.LastCursorLineSelect,this._usualArgs(e))},e.prototype.lastCursorLineSelectDrag=function(e){this._execMouseCommand(ul.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype.selectAll=function(){this._execMouseCommand(ul.SelectAll,{})},e.prototype.convertViewToModelPosition=function(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},e.prototype.emitKeyDown=function(e){this.outgoingEvents.emitKeyDown(e)},e.prototype.emitKeyUp=function(e){this.outgoingEvents.emitKeyUp(e)},e.prototype.emitContextMenu=function(e){this.outgoingEvents.emitContextMenu(e)},e.prototype.emitMouseMove=function(e){this.outgoingEvents.emitMouseMove(e)},e.prototype.emitMouseLeave=function(e){this.outgoingEvents.emitMouseLeave(e)},e.prototype.emitMouseUp=function(e){this.outgoingEvents.emitMouseUp(e)},e.prototype.emitMouseDown=function(e){this.outgoingEvents.emitMouseDown(e)},e.prototype.emitMouseDrag=function(e){this.outgoingEvents.emitMouseDrag(e)},e.prototype.emitMouseDrop=function(e){this.outgoingEvents.emitMouseDrop(e)},e}(),Wv=function(){function e(e){this._eventHandlerGateKeeper=e,this._eventHandlers=[],this._eventQueue=null,this._isConsumingQueue=!1}return e.prototype.addEventHandler=function(e){for(var t=0,n=this._eventHandlers.length;t<n;t++)this._eventHandlers[t]===e&&console.warn(\"Detected duplicate listener in ViewEventDispatcher\",e);this._eventHandlers.push(e)},e.prototype.removeEventHandler=function(e){for(var t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}},e.prototype.emit=function(e){this._eventQueue?this._eventQueue.push(e):this._eventQueue=[e],this._isConsumingQueue||this.consumeQueue()},e.prototype.emitMany=function(e){this._eventQueue?this._eventQueue=this._eventQueue.concat(e):this._eventQueue=e,this._isConsumingQueue||this.consumeQueue()},e.prototype.consumeQueue=function(){var e=this;this._eventHandlerGateKeeper(function(){try{e._isConsumingQueue=!0,e._doConsumeQueue()}finally{e._isConsumingQueue=!1}})},e.prototype._doConsumeQueue=function(){for(;this._eventQueue;){var e=this._eventQueue;this._eventQueue=null;for(var t=this._eventHandlers.slice(0),n=0,r=t.length;n<r;n++)t[n].handleEvents(e)}},e}(),Vv=function(){function e(e){this._createLine=e,this._set(1,[])}return e.prototype.flush=function(){this._set(1,[])},e.prototype._set=function(e,t){this._lines=t,this._rendLineNumberStart=e},e.prototype._get=function(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}},e.prototype.getStartLineNumber=function(){return this._rendLineNumberStart},e.prototype.getEndLineNumber=function(){return this._rendLineNumberStart+this._lines.length-1},e.prototype.getCount=function(){return this._lines.length},e.prototype.getLine=function(e){var t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new Error(\"Illegal value for lineNumber\");return this._lines[t]},e.prototype.onLinesDeleted=function(e,t){if(0===this.getCount())return null;var n=this.getStartLineNumber(),r=this.getEndLineNumber();if(t<n){var i=t-e+1;return this._rendLineNumberStart-=i,null}if(e>r)return null;for(var o=0,s=0,a=n;a<=r;a++){var u=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(o=u,s=1):s++)}if(e<n){var l=0;l=t<n?t-e+1:n-e,this._rendLineNumberStart-=l}return this._lines.splice(o,s)},e.prototype.onLinesChanged=function(e,t){if(0===this.getCount())return!1;for(var n=this.getStartLineNumber(),r=this.getEndLineNumber(),i=!1,o=e;o<=t;o++)o>=n&&o<=r&&(this._lines[o-this._rendLineNumberStart].onContentChanged(),i=!0);return i},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var n=t-e+1,r=this.getStartLineNumber(),i=this.getEndLineNumber();if(e<=r)return this._rendLineNumberStart+=n,null;if(e>i)return null;if(n+e>i)return this._lines.splice(e-this._rendLineNumberStart,i-e+1);for(var o=[],s=0;s<n;s++)o[s]=this._createLine();var a=e-this._rendLineNumberStart,u=this._lines.slice(0,a),l=this._lines.slice(a,this._lines.length-n),c=this._lines.slice(this._lines.length-n,this._lines.length);return this._lines=u.concat(o).concat(l),c},e.prototype.onTokensChanged=function(e){if(0===this.getCount())return!1;for(var t=this.getStartLineNumber(),n=this.getEndLineNumber(),r=!1,i=0,o=e.length;i<o;i++){var s=e[i];if(!(s.toLineNumber<t||s.fromLineNumber>n))for(var a=Math.max(t,s.fromLineNumber),u=Math.min(n,s.toLineNumber),l=a;l<=u;l++){var c=l-this._rendLineNumberStart;this._lines[c].onTokensChanged(),r=!0}}return r},e}(),Hv=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new Vv(function(){return t._host.createVisibleLine()})}return e.prototype._createDomNode=function(){var e=Up(document.createElement(\"div\"));return e.setClassName(\"view-layer\"),e.setPosition(\"absolute\"),e.domNode.setAttribute(\"role\",\"presentation\"),e.domNode.setAttribute(\"aria-hidden\",\"true\"),e},e.prototype.onConfigurationChanged=function(e){return e.layoutInfo},e.prototype.onFlushed=function(e){return this._linesCollection.flush(),!0},e.prototype.onLinesChanged=function(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){var t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(var n=0,r=t.length;n<r;n++){var i=t[n].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0},e.prototype.onLinesInserted=function(e){var t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(var n=0,r=t.length;n<r;n++){var i=t[n].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0},e.prototype.onScrollChanged=function(e){return e.scrollTopChanged},e.prototype.onTokensChanged=function(e){return this._linesCollection.onTokensChanged(e.ranges)},e.prototype.onZonesChanged=function(e){return!0},e.prototype.getStartLineNumber=function(){return this._linesCollection.getStartLineNumber()},e.prototype.getEndLineNumber=function(){return this._linesCollection.getEndLineNumber()},e.prototype.getVisibleLine=function(e){return this._linesCollection.getLine(e)},e.prototype.renderLines=function(e){var t=this._linesCollection._get(),n=new Uv(this.domNode.domNode,this._host,e),r={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},i=n.render(r,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)},e}(),Uv=function(){function e(e,t,n){this.domNode=e,this.host=t,this.viewportData=n}return e.prototype.render=function(e,t,n,r){var i={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(i.rendLineNumberStart+i.linesLength-1<t||n<i.rendLineNumberStart){i.rendLineNumberStart=t,i.linesLength=n-t+1,i.lines=[];for(var o=t;o<=n;o++)i.lines[o-t]=this.host.createVisibleLine();return this._finishRendering(i,!0,r),i}if(this._renderUntouchedLines(i,Math.max(t-i.rendLineNumberStart,0),Math.min(n-i.rendLineNumberStart,i.linesLength-1),r,t),i.rendLineNumberStart>t)(u=t)<=(s=Math.min(n,i.rendLineNumberStart-1))&&(this._insertLinesBefore(i,u,s,r,t),i.linesLength+=s-u+1);else if(i.rendLineNumberStart<t){(a=Math.min(i.linesLength,t-i.rendLineNumberStart))>0&&(this._removeLinesBefore(i,a),i.linesLength-=a)}if(i.rendLineNumberStart=t,i.rendLineNumberStart+i.linesLength-1<n)(u=i.rendLineNumberStart+i.linesLength)<=(s=n)&&(this._insertLinesAfter(i,u,s,r,t),i.linesLength+=s-u+1);else if(i.rendLineNumberStart+i.linesLength-1>n){var s,a,u=Math.max(0,n-i.rendLineNumberStart+1);(a=(s=i.linesLength-1)-u+1)>0&&(this._removeLinesAfter(i,a),i.linesLength-=a)}return this._finishRendering(i,!1,r),i},e.prototype._renderUntouchedLines=function(e,t,n,r,i){for(var o=e.rendLineNumberStart,s=e.lines,a=t;a<=n;a++){var u=o+a;s[a].layoutLine(u,r[u-i])}},e.prototype._insertLinesBefore=function(e,t,n,r,i){for(var o=[],s=0,a=t;a<=n;a++)o[s++]=this.host.createVisibleLine();e.lines=o.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var n=0;n<t;n++){var r=e.lines[n].getDomNode();r&&this.domNode.removeChild(r)}e.lines.splice(0,t)},e.prototype._insertLinesAfter=function(e,t,n,r,i){for(var o=[],s=0,a=t;a<=n;a++)o[s++]=this.host.createVisibleLine();e.lines=e.lines.concat(o)},e.prototype._removeLinesAfter=function(e,t){for(var n=e.linesLength-t,r=0;r<t;r++){var i=e.lines[n+r].getDomNode();i&&this.domNode.removeChild(i)}e.lines.splice(n,t)},e.prototype._finishRenderingNewLines=function(e,t,n,r){var i=this.domNode.lastChild;t||!i?this.domNode.innerHTML=n:i.insertAdjacentHTML(\"afterend\",n);for(var o=this.domNode.lastChild,s=e.linesLength-1;s>=0;s--){var a=e.lines[s];r[s]&&(a.setDomNode(o),o=o.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,n){var r=document.createElement(\"div\");r.innerHTML=t;for(var i=0;i<e.linesLength;i++){var o=e.lines[i];if(n[i]){var s=r.firstChild,a=o.getDomNode();a.parentNode.replaceChild(s,a),o.setDomNode(s)}}},e.prototype._finishRendering=function(t,n,r){var i=e._sb,o=t.linesLength,s=t.lines,a=t.rendLineNumberStart,u=[];i.reset();for(var l=!1,c=0;c<o;c++){var h=s[c];if(u[c]=!1,!h.getDomNode())h.renderLine(c+a,r[c],this.viewportData,i)&&(u[c]=!0,l=!0)}l&&this._finishRenderingNewLines(t,n,i.build(),u),i.reset();var d=!1,p=[];for(c=0;c<o;c++){h=s[c];if(p[c]=!1,!u[c])h.renderLine(c+a,r[c],this.viewportData,i)&&(p[c]=!0,d=!0)}d&&this._finishRenderingInvalidLines(t,i.build(),p)},e._sb=jm(1e5),e}(),Yv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Zv=function(e){function t(t){var n=e.call(this,t)||this;return n._visibleLines=new Hv(n),n.domNode=n._visibleLines.domNode,n._dynamicOverlays=[],n._isFocused=!1,n.domNode.setClassName(\"view-overlays\"),n}return Yv(t,e),t.prototype.shouldRender=function(){if(e.prototype.shouldRender.call(this))return!0;for(var t=0,n=this._dynamicOverlays.length;t<n;t++){if(this._dynamicOverlays[t].shouldRender())return!0}return!1},t.prototype.dispose=function(){e.prototype.dispose.call(this);for(var t=0,n=this._dynamicOverlays.length;t<n;t++){this._dynamicOverlays[t].dispose()}this._dynamicOverlays=null},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new Gv(this._context.configuration,this._dynamicOverlays)},t.prototype.addDynamicOverlay=function(e){this._dynamicOverlays.push(e)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e);for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=t;r<=n;r++){this._visibleLines.getVisibleLine(r).onConfigurationChanged(e)}return!0},t.prototype.onFlushed=function(e){return this._visibleLines.onFlushed(e)},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!0},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onScrollChanged=function(e){return this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._visibleLines.onZonesChanged(e)},t.prototype.prepareRender=function(e){for(var t=this._dynamicOverlays.filter(function(e){return e.shouldRender()}),n=0,r=t.length;n<r;n++){var i=t[n];i.prepareRender(e),i.onDidRender()}return null},t.prototype.render=function(e){this._viewOverlaysRender(e),this.domNode.toggleClassName(\"focused\",this._isFocused)},t.prototype._viewOverlaysRender=function(e){this._visibleLines.renderLines(e.viewportData)},t}(nf),Gv=function(){function e(e,t){this._configuration=e,this._lineHeight=this._configuration.editor.lineHeight,this._dynamicOverlays=t,this._domNode=null,this._renderedContent=null}return e.prototype.getDomNode=function(){return this._domNode?this._domNode.domNode:null},e.prototype.setDomNode=function(e){this._domNode=Up(e)},e.prototype.onContentChanged=function(){},e.prototype.onTokensChanged=function(){},e.prototype.onConfigurationChanged=function(e){e.lineHeight&&(this._lineHeight=this._configuration.editor.lineHeight)},e.prototype.renderLine=function(e,t,n,r){for(var i=\"\",o=0,s=this._dynamicOverlays.length;o<s;o++){i+=this._dynamicOverlays[o].render(n.startLineNumber,e)}return this._renderedContent!==i&&(this._renderedContent=i,r.appendASCIIString('<div style=\"position:absolute;top:'),r.appendASCIIString(String(t)),r.appendASCIIString(\"px;width:100%;height:\"),r.appendASCIIString(String(this._lineHeight)),r.appendASCIIString('px;\">'),r.appendASCIIString(i),r.appendASCIIString(\"</div>\"),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}(),Kv=function(e){function t(t){var n=e.call(this,t)||this;return n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n.domNode.setHeight(0),n}return Yv(t,e),t.prototype.onConfigurationChanged=function(t){return t.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),e.prototype.onConfigurationChanged.call(this,t)},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollWidthChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))},t}(Zv),qv=function(e){function t(t){var n=e.call(this,t)||this;return n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n.domNode.setClassName(\"margin-view-overlays\"),n.domNode.setWidth(1),Vp.applyFontInfo(n.domNode,n._context.configuration.editor.fontInfo),n}return Yv(t,e),t.prototype.onConfigurationChanged=function(t){var n=!1;return t.fontInfo&&(Vp.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),n=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,n=!0),e.prototype.onConfigurationChanged.call(this,t)||n},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollHeightChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t);var n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)},t}(Zv),Qv=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Xv=function(){return function(e,t){this.top=e,this.left=t}}(),Jv=function(e){function t(t,n){var r=e.call(this,t)||this;return r._viewDomNode=n,r._widgets={},r.domNode=Up(document.createElement(\"div\")),rf.write(r.domNode,1),r.domNode.setClassName(\"contentWidgets\"),r.domNode.setPosition(\"absolute\"),r.domNode.setTop(0),r.overflowingContentWidgetsDomNode=Up(document.createElement(\"div\")),rf.write(r.overflowingContentWidgetsDomNode,2),r.overflowingContentWidgetsDomNode.setClassName(\"overflowingContentWidgets\"),r}return Qv(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null,this.domNode=null},t.prototype.onConfigurationChanged=function(e){for(var t=Object.keys(this._widgets),n=0,r=t.length;n<r;n++){var i=t[n];this._widgets[i].onConfigurationChanged(e)}return!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLineMappingChanged=function(e){for(var t=Object.keys(this._widgets),n=0,r=t.length;n<r;n++){var i=t[n];this._widgets[i].onLineMappingChanged(e)}return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.addWidget=function(e){var t=new $v(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t,n){this._widgets[e.getId()].setPosition(t,n),this.setShouldRender()},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t];delete this._widgets[t];var r=n.domNode.domNode;r.parentNode.removeChild(r),r.removeAttribute(\"monaco-visible-content-widget\"),this.setShouldRender()}},t.prototype.shouldSuppressMouseDownOnWidget=function(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown},t.prototype.onBeforeRender=function(e){for(var t=Object.keys(this._widgets),n=0,r=t.length;n<r;n++){var i=t[n];this._widgets[i].onBeforeRender(e)}},t.prototype.prepareRender=function(e){for(var t=Object.keys(this._widgets),n=0,r=t.length;n<r;n++){var i=t[n];this._widgets[i].prepareRender(e)}},t.prototype.render=function(e){for(var t=Object.keys(this._widgets),n=0,r=t.length;n<r;n++){var i=t[n];this._widgets[i].render(e)}},t}(nf),$v=function(){function e(e,t,n){this._context=e,this._viewDomNode=t,this._actual=n,this.domNode=Up(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1,this._fixedOverflowWidgets=this._context.configuration.editor.viewInfo.fixedOverflowWidgets,this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._lineHeight=this._context.configuration.editor.lineHeight,this._setPosition(null),this._preference=null,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?\"fixed\":\"absolute\"),this.domNode.setVisibility(\"hidden\"),this.domNode.setAttribute(\"widgetId\",this.id),this.domNode.setMaxWidth(this._maxWidth)}return e.prototype.onConfigurationChanged=function(e){e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._maxWidth=this._getMaxWidth())},e.prototype.onLineMappingChanged=function(e){this._setPosition(this._position)},e.prototype._setPosition=function(e){if(this._position=e,this._viewPosition=null,this._position){var t=this._context.model.validateModelPosition(this._position);this._context.model.coordinatesConverter.modelPositionIsVisible(t)&&(this._viewPosition=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(t))}},e.prototype._getMaxWidth=function(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth:this._contentWidth},e.prototype.setPosition=function(e,t){this._setPosition(e),this._preference=t,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1},e.prototype._layoutBoxInViewport=function(e,t,n,r){var i=e.top,o=i,s=e.top+this._lineHeight,a=i-n,u=o>=n,l=s,c=r.viewportHeight-s>=n,h=e.left;return h+t>r.scrollLeft+r.viewportWidth&&(h=r.scrollLeft+r.viewportWidth-t),h<r.scrollLeft&&(h=r.scrollLeft),{aboveTop:a,fitsAbove:u,belowTop:l,fitsBelow:c,left:h}},e.prototype._layoutBoxInPage=function(e,t,n,r){var i=e.left-r.scrollLeft;if(i<0||i>this._contentWidth)return null;var o,s=e.top-n,a=e.top+this._lineHeight,u=i+this._contentLeft,l=eh(this._viewDomNode.domNode),c=l.top+s-th.scrollY,h=l.top+a-th.scrollY,d=l.left+u-th.scrollX,p=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f=c>=22,g=h+n<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;d+t+20>p&&(d-=o=d-(p-t-20),u-=o);d<0&&(d-=o=d,u-=o);return this._fixedOverflowWidgets&&(s=c,a=h,u=d),{aboveTop:s,fitsAbove:f,belowTop:a,fitsBelow:g,left:u}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new Xv(e.top,e.left+this._contentLeft)},e.prototype._getTopLeft=function(e){if(!this._viewPosition)return null;var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return null;var n=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop;return new Xv(n,t.left)},e.prototype._prepareRenderWidget=function(e,t){var n=this;if(!e)return null;for(var r=null,i=function(){if(!r){if(-1===n._cachedDomNodeClientWidth||-1===n._cachedDomNodeClientHeight){var i=n.domNode.domNode;n._cachedDomNodeClientWidth=i.clientWidth,n._cachedDomNodeClientHeight=i.clientHeight}r=n.allowEditorOverflow?n._layoutBoxInPage(e,n._cachedDomNodeClientWidth,n._cachedDomNodeClientHeight,t):n._layoutBoxInViewport(e,n._cachedDomNodeClientWidth,n._cachedDomNodeClientHeight,t)}},o=1;o<=2;o++)for(var s=0;s<this._preference.length;s++){var a=this._preference[s];if(a===Bu.ABOVE){if(i(),!r)return null;if(2===o||r.fitsAbove)return new Xv(r.aboveTop,r.left)}else{if(a!==Bu.BELOW)return this.allowEditorOverflow?this._prepareRenderWidgetAtExactPositionOverflowing(e):e;if(i(),!r)return null;if(2===o||r.fitsBelow)return new Xv(r.belowTop,r.left)}}return null},e.prototype.onBeforeRender=function(e){this._viewPosition&&this._preference&&(this._viewPosition.lineNumber<e.startLineNumber||this._viewPosition.lineNumber>e.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){var t=this._getTopLeft(e);this._renderData=this._prepareRenderWidget(t,e)},e.prototype.render=function(e){this._renderData?(this.allowEditorOverflow?(this.domNode.setTop(this._renderData.top),this.domNode.setLeft(this._renderData.left)):(this.domNode.setTop(this._renderData.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.left)),this._isVisible||(this.domNode.setVisibility(\"inherit\"),this.domNode.setAttribute(\"monaco-visible-content-widget\",\"true\"),this._isVisible=!0)):this._isVisible&&(this.domNode.removeAttribute(\"monaco-visible-content-widget\"),this._isVisible=!1,this.domNode.setVisibility(\"hidden\"))},e}(),ey=(n(316),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),ty=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._scrollWidth=0,n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n._context.addEventHandler(n),n}return ey(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),!0},t.prototype.onCursorStateChanged=function(e){var t=!1,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var r=e.selections[0].isEmpty();return this._selectionIsEmpty!==r?(this._selectionIsEmpty=r,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){this._scrollWidth=e.scrollWidth},t.prototype.render=function(e,t){return t===this._primaryCursorLineNumber&&this._shouldShowCurrentLine()?'<div class=\"'+(\"current-line\"+(this._willRenderMarginCurrentLine()?\" current-line-both\":\"\"))+'\" style=\"width:'+String(Math.max(this._scrollWidth,this._contentWidth))+\"px; height:\"+String(this._lineHeight)+'px;\"></div>':\"\"},t.prototype._shouldShowCurrentLine=function(){return(\"line\"===this._renderLineHighlight||\"all\"===this._renderLineHighlight)&&this._selectionIsEmpty},t.prototype._willRenderMarginCurrentLine=function(){return\"gutter\"===this._renderLineHighlight||\"all\"===this._renderLineHighlight},t}(bm);Vg(function(e,t){var n=e.getColor(Hg);if(n&&t.addRule(\".monaco-editor .view-overlays .current-line { background-color: \"+n+\"; }\"),!n||n.isTransparent()||e.defines(Ug)){var r=e.getColor(Ug);r&&(t.addRule(\".monaco-editor .view-overlays .current-line { border: 2px solid \"+r+\"; }\"),\"hc\"===e.type&&t.addRule(\".monaco-editor .view-overlays .current-line { border-width: 1px; }\"))}});n(317);var ny=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),ry=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n._context.addEventHandler(n),n}return ny(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0},t.prototype.onCursorStateChanged=function(e){var t=!1,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var r=e.selections[0].isEmpty();return this._selectionIsEmpty!==r?(this._selectionIsEmpty=r,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e,t){if(t===this._primaryCursorLineNumber){var n=\"current-line\";if(this._shouldShowCurrentLine())n=\"current-line current-line-margin\"+(this._willRenderContentCurrentLine()?\" current-line-margin-both\":\"\");return'<div class=\"'+n+'\" style=\"width:'+String(this._contentLeft)+\"px; height:\"+String(this._lineHeight)+'px;\"></div>'}return\"\"},t.prototype._shouldShowCurrentLine=function(){return\"gutter\"===this._renderLineHighlight||\"all\"===this._renderLineHighlight},t.prototype._willRenderContentCurrentLine=function(){return(\"line\"===this._renderLineHighlight||\"all\"===this._renderLineHighlight)&&this._selectionIsEmpty},t}(bm);Vg(function(e,t){var n=e.getColor(Hg);if(n)t.addRule(\".monaco-editor .margin-view-overlays .current-line-margin { background-color: \"+n+\"; border: none; }\");else{var r=e.getColor(Ug);r&&t.addRule(\".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid \"+r+\"; }\"),\"hc\"===e.type&&t.addRule(\".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }\")}});n(318);var iy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),oy=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return iy(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){for(var t=e.getDecorationsInViewport(),n=[],r=0,i=0,o=t.length;i<o;i++){var s=t[i];s.options.className&&(n[r++]=s)}n=n.sort(function(e,t){if(e.options.zIndex<t.options.zIndex)return-1;if(e.options.zIndex>t.options.zIndex)return 1;var n=e.options.className,r=t.options.className;return n<r?-1:n>r?1:be.compareRangesUsingStarts(e.range,t.range)});for(var a=e.visibleRange.startLineNumber,u=e.visibleRange.endLineNumber,l=[],c=a;c<=u;c++){l[c-a]=\"\"}this._renderWholeLineDecorations(e,n,l),this._renderNormalDecorations(e,n,l),this._renderResult=l},t.prototype._renderWholeLineDecorations=function(e,t,n){for(var r=String(this._lineHeight),i=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,s=0,a=t.length;s<a;s++){var u=t[s];if(u.options.isWholeLine)for(var l='<div class=\"cdr '+u.options.className+'\" style=\"left:0;width:100%;height:'+r+'px;\"></div>',c=Math.max(u.range.startLineNumber,i),h=Math.min(u.range.endLineNumber,o),d=c;d<=h;d++){n[d-i]+=l}}},t.prototype._renderNormalDecorations=function(e,t,n){for(var r=String(this._lineHeight),i=e.visibleRange.startLineNumber,o=null,s=!1,a=null,u=0,l=t.length;u<l;u++){var c=t[u];if(!c.options.isWholeLine){var h=c.options.className,d=c.options.showIfCollapsed,p=c.range;d&&1===p.endColumn&&p.endLineNumber!==p.startLineNumber&&(p=new be(p.startLineNumber,p.startColumn,p.endLineNumber-1,this._context.model.getLineMaxColumn(p.endLineNumber-1))),o===h&&s===d&&be.areIntersectingOrTouching(a,p)?a=be.plusRange(a,p):(null!==o&&this._renderNormalDecoration(e,a,o,s,r,i,n),o=h,s=d,a=p)}}null!==o&&this._renderNormalDecoration(e,a,o,s,r,i,n)},t.prototype._renderNormalDecoration=function(e,t,n,r,i,o,s){var a=e.linesVisibleRangesForRange(t,\"findMatch\"===n);if(a)for(var u=0,l=a.length;u<l;u++){var c=a[u],h=c.lineNumber-o;if(r&&1===c.ranges.length){var d=c.ranges[0];0===d.width&&(c.ranges[0]=new sv(d.left,this._typicalHalfwidthCharacterWidth))}for(var p=0,f=c.ranges.length;p<f;p++){var g=c.ranges[p],m='<div class=\"cdr '+n+'\" style=\"left:'+String(g.left)+\"px;width:\"+String(g.width)+\"px;height:\"+i+'px;\"></div>';s[h]+=m}}},t.prototype.render=function(e,t){if(!this._renderResult)return\"\";var n=t-e;return n<0||n>=this._renderResult.length?\"\":this._renderResult[n]},t}(bm),sy=(n(319),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),ay=function(){return function(e,t,n){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}}(),uy=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return sy(t,e),t.prototype._render=function(e,t,n){for(var r=[],i=e;i<=t;i++){r[i-e]=[]}if(0===n.length)return r;n.sort(function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1});for(var o=null,s=0,a=0,u=n.length;a<u;a++){var l=n[a],c=l.className,h=Math.max(l.startLineNumber,e)-e,d=Math.min(l.endLineNumber,t)-e;o===c?(h=Math.max(s+1,h),s=Math.max(s,d)):(o=c,s=d);for(var p=h;p<=s;p++)r[p].push(o)}return r},t}(bm),ly=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._glyphMargin=n._context.configuration.editor.viewInfo.glyphMargin,n._glyphMarginLeft=n._context.configuration.editor.layoutInfo.glyphMarginLeft,n._glyphMarginWidth=n._context.configuration.editor.layoutInfo.glyphMarginWidth,n._renderResult=null,n._context.addEventHandler(n),n}return sy(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._glyphMargin=this._context.configuration.editor.viewInfo.glyphMargin),e.layoutInfo&&(this._glyphMarginLeft=this._context.configuration.editor.layoutInfo.glyphMarginLeft,this._glyphMarginWidth=this._context.configuration.editor.layoutInfo.glyphMarginWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),n=[],r=0,i=0,o=t.length;i<o;i++){var s=t[i],a=s.options.glyphMarginClassName;a&&(n[r++]=new ay(s.range.startLineNumber,s.range.endLineNumber,a))}return n},t.prototype.prepareRender=function(e){if(this._glyphMargin){for(var t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=this._lineHeight.toString(),o='\" style=\"left:'+this._glyphMarginLeft.toString()+\"px;width:\"+this._glyphMarginWidth.toString()+\"px;height:\"+i+'px;\"></div>',s=[],a=t;a<=n;a++){var u=a-t,l=r[u];0===l.length?s[u]=\"\":s[u]='<div class=\"cgmr '+l.join(\" \")+o}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return\"\";var n=t-e;return n<0||n>=this._renderResult.length?\"\":this._renderResult[n]},t}(uy),cy=(n(320),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),hy=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._primaryLineNumber=0,n._lineHeight=n._context.configuration.editor.lineHeight,n._spaceWidth=n._context.configuration.editor.fontInfo.spaceWidth,n._enabled=n._context.configuration.editor.viewInfo.renderIndentGuides,n._renderResult=null,n._context.addEventHandler(n),n}return cy(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._spaceWidth=this._context.configuration.editor.fontInfo.spaceWidth),e.viewInfo&&(this._enabled=this._context.configuration.editor.viewInfo.renderIndentGuides),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],n=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==n&&(this._primaryLineNumber=n,!0)},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLanguageConfigurationChanged=function(e){return!0},t.prototype.prepareRender=function(e){if(this._enabled){var t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._context.model.getTabSize()*this._spaceWidth,i=this._lineHeight,o=r,s=this._context.model.getLinesIndentGuides(t,n),a=0,u=0,l=0;if(this._primaryLineNumber){var c=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,n);a=c.startLineNumber,u=c.endLineNumber,l=c.indent}for(var h=[],d=t;d<=n;d++){for(var p=a<=d&&d<=u,f=d-t,g=s[f],m=\"\",v=e.visibleRangeForPosition(new ye(d,1)),y=v?v.left:0,b=1;b<=g;b++){m+='<div class=\"'+(p&&b===l?\"cigra\":\"cigr\")+'\" style=\"left:'+y+\"px;height:\"+i+\"px;width:\"+o+'px\"></div>',y+=r}h[f]=m}this._renderResult=h}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return\"\";var n=t-e;return n<0||n>=this._renderResult.length?\"\":this._renderResult[n]},t}(bm);Vg(function(e,t){var n=e.getColor(Qg);n&&t.addRule(\".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 \"+n+\" inset; }\");var r=e.getColor(Xg)||n;r&&t.addRule(\".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 \"+r+\" inset; }\")});n(321);var dy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),py=function(){function e(){this._currentVisibleRange=new be(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),fy=function(){return function(e,t,n,r,i,o){this.lineNumber=e,this.startColumn=t,this.endColumn=n,this.startScrollTop=r,this.stopScrollTop=i,this.scrollType=o}}(),gy=function(e){function t(t,n){var r=e.call(this,t)||this;r._linesContent=n,r._textRangeRestingSpot=document.createElement(\"div\"),r._visibleLines=new Hv(r),r.domNode=r._visibleLines.domNode;var i=r._context.configuration;return r._lineHeight=i.editor.lineHeight,r._typicalHalfwidthCharacterWidth=i.editor.fontInfo.typicalHalfwidthCharacterWidth,r._isViewportWrapping=i.editor.wrappingInfo.isViewportWrapping,r._revealHorizontalRightPadding=i.editor.viewInfo.revealHorizontalRightPadding,r._canUseLayerHinting=i.editor.canUseLayerHinting,r._viewLineOptions=new pv(i,r._context.theme.type),rf.write(r.domNode,7),r.domNode.setClassName(\"view-lines\"),Vp.applyFontInfo(r.domNode,i.editor.fontInfo),r._maxLineWidth=0,r._asyncUpdateLineWidths=new Yl(function(){r._updateLineWidthsSlow()},200),r._lastRenderedData=new py,r._horizontalRevealRequest=null,r}return dy(t,e),t.prototype.dispose=function(){this._asyncUpdateLineWidths.dispose(),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new fv(this._viewLineOptions)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e),e.wrappingInfo&&(this._maxLineWidth=0);var t=this._context.configuration;return e.lineHeight&&(this._lineHeight=t.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=t.editor.fontInfo.typicalHalfwidthCharacterWidth),e.wrappingInfo&&(this._isViewportWrapping=t.editor.wrappingInfo.isViewportWrapping),e.viewInfo&&(this._revealHorizontalRightPadding=t.editor.viewInfo.revealHorizontalRightPadding),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&Vp.applyFontInfo(this.domNode,t.editor.fontInfo),this._onOptionsMaybeChanged(),e.layoutInfo&&(this._maxLineWidth=0),!0},t.prototype._onOptionsMaybeChanged=function(){var e=this._context.configuration,t=new pv(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var n=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber(),i=n;i<=r;i++){this._visibleLines.getVisibleLine(i).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=!1,i=t;i<=n;i++)r=this._visibleLines.getVisibleLine(i).onSelectionChanged()||r;return r},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=t;r<=n;r++)this._visibleLines.getVisibleLine(r).onDecorationsChanged();return!0},t.prototype.onFlushed=function(e){var t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onRevealRangeRequest=function(e){var t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.range,e.verticalType),n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new fy(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var r=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop);return 0===e.scrollType&&r>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(n):this._context.viewLayout.setScrollPositionNow(n),!0},t.prototype.onScrollChanged=function(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){var t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>n)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._visibleLines.onZonesChanged(e)},t.prototype.onThemeChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.getPositionFromDOMInfo=function(e,t){var n=this._getViewLineDomNode(e);if(null===n)return null;var r=this._getLineNumberFor(n);if(-1===r)return null;if(r<1||r>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(r))return new ye(r,1);var i=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(r<i||r>o)return null;var s=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(r,e,t),a=this._context.model.getLineMinColumn(r);return s<a&&(s=a),new ye(r,s)},t.prototype._getViewLineDomNode=function(e){for(;e&&1===e.nodeType;){if(e.className===fv.CLASS_NAME)return e;e=e.parentElement}return null},t.prototype._getLineNumberFor=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=t;r<=n;r++){if(e===this._visibleLines.getVisibleLine(r).getDomNode())return r}return-1},t.prototype.getLineWidth=function(e){var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();return e<t||e>n?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var n=e.endLineNumber;if(!(e=be.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;var r,i=[],o=0,s=new dv(this.domNode.domNode,this._textRangeRestingSpot);t&&(r=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ye(e.startLineNumber,1)).lineNumber);for(var a=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber(),l=e.startLineNumber;l<=e.endLineNumber;l++)if(!(l<a||l>u)){var c=l===e.startLineNumber?e.startColumn:1,h=l===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(l),d=this._visibleLines.getVisibleLine(l).getVisibleRangesForRange(c,h,s);if(d&&0!==d.length){if(t&&l<n)r!==(r=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ye(l+1,1)).lineNumber)&&(d[d.length-1].width+=this._typicalHalfwidthCharacterWidth);i[o++]=new ov(l,d)}}return 0===o?null:i},t.prototype.visibleRangesForRange2=function(e){if(this.shouldRender())return null;if(!(e=be.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;for(var t=[],n=new dv(this.domNode.domNode,this._textRangeRestingSpot),r=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),o=e.startLineNumber;o<=e.endLineNumber;o++)if(!(o<r||o>i)){var s=o===e.startLineNumber?e.startColumn:1,a=o===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(o),u=this._visibleLines.getVisibleLine(o).getVisibleRangesForRange(s,a,n);u&&0!==u.length&&(t=t.concat(u))}return 0===t.length?null:t},t.prototype.updateLineWidths=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidthsFast=function(){return this._updateLineWidths(!0)},t.prototype._updateLineWidthsSlow=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidths=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=1,i=!0,o=t;o<=n;o++){var s=this._visibleLines.getVisibleLine(o);!e||s.getWidthIsFast()?r=Math.max(r,s.getWidth()):i=!1}return i&&1===t&&n===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),i},t.prototype.prepareRender=function(){throw new Error(\"Not supported\")},t.prototype.render=function(){throw new Error(\"Not supported\")},t.prototype.renderText=function(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){var t=this._horizontalRevealRequest.lineNumber,n=this._horizontalRevealRequest.startColumn,r=this._horizontalRevealRequest.endColumn,i=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var o=this._computeScrollLeftToRevealRange(t,n,r);this._isViewportWrapping||this._ensureMaxLineWidth(o.maxHorizontalOffset),0===i?this._context.viewLayout.setScrollPositionSmooth({scrollLeft:o.scrollLeft}):this._context.viewLayout.setScrollPositionNow({scrollLeft:o.scrollLeft})}}this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),this._linesContent.setLayerHinting(this._canUseLayerHinting);var s=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-s),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())},t.prototype._ensureMaxLineWidth=function(e){var t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewLayout.onMaxLineWidthChanged(this._maxLineWidth))},t.prototype._computeScrollTopToRevealRange=function(e,t,n){var r,i,o,s=e.top,a=e.height,u=s+a;if(r=this._context.viewLayout.getVerticalOffsetForLineNumber(t.startLineNumber),i=this._context.viewLayout.getVerticalOffsetForLineNumber(t.endLineNumber)+this._lineHeight,0!==n&&4!==n||(i+=this._lineHeight),1===n||2===n)if(2===n&&s<=r&&i<=u)o=s;else{var l=(r+i)/2;o=Math.max(0,l-a/2)}else o=this._computeMinimumScrolling(s,u,r,i,3===n,4===n);return o},t.prototype._computeScrollLeftToRevealRange=function(e,n,r){var i=0,o=this._context.viewLayout.getCurrentViewport(),s=o.left,a=s+o.width,u=this.visibleRangesForRange2(new be(e,n,e,r)),l=Number.MAX_VALUE,c=0;if(!u)return{scrollLeft:s,maxHorizontalOffset:i};for(var h=0;h<u.length;h++){var d=u[h];d.left<l&&(l=d.left),d.left+d.width>c&&(c=d.left+d.width)}return i=c,l=Math.max(0,l-t.HORIZONTAL_EXTRA_PX),c+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,l,c),maxHorizontalOffset:i}},t.prototype._computeMinimumScrolling=function(e,t,n,r,i,o){i=!!i,o=!!o;var s=(t|=0)-(e|=0);return(r|=0)-(n|=0)<s?i?n:o?Math.max(0,r-s):n<e?n:r>t?Math.max(0,r-s):e:n},t.HORIZONTAL_EXTRA_PX=30,t}(nf),my=(n(322),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),vy=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._decorationsLeft=n._context.configuration.editor.layoutInfo.decorationsLeft,n._decorationsWidth=n._context.configuration.editor.layoutInfo.decorationsWidth,n._renderResult=null,n._context.addEventHandler(n),n}return my(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.layoutInfo&&(this._decorationsLeft=this._context.configuration.editor.layoutInfo.decorationsLeft,this._decorationsWidth=this._context.configuration.editor.layoutInfo.decorationsWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),n=[],r=0,i=0,o=t.length;i<o;i++){var s=t[i],a=s.options.linesDecorationsClassName;a&&(n[r++]=new ay(s.range.startLineNumber,s.range.endLineNumber,a))}return n},t.prototype.prepareRender=function(e){for(var t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i='\" style=\"left:'+this._decorationsLeft.toString()+\"px;width:\"+this._decorationsWidth.toString()+'px;\"></div>',o=[],s=t;s<=n;s++){for(var a=s-t,u=r[a],l=\"\",c=0,h=u.length;c<h;c++)l+='<div class=\"cldr '+u[c]+i;o[a]=l}this._renderResult=o},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:\"\"},t}(uy),yy=(n(323),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),by=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._renderResult=null,n._context.addEventHandler(n),n}return yy(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),n=[],r=0,i=0,o=t.length;i<o;i++){var s=t[i],a=s.options.marginClassName;a&&(n[r++]=new ay(s.range.startLineNumber,s.range.endLineNumber,a))}return n},t.prototype.prepareRender=function(e){for(var t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=[],o=t;o<=n;o++){for(var s=o-t,a=r[s],u=\"\",l=0,c=a.length;l<c;l++)u+='<div class=\"cmdr '+a[l]+'\" style=\"\"></div>';i[s]=u}this._renderResult=i},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:\"\"},t}(uy),_y=(n(324),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),Cy=function(e){function t(t){var n=e.call(this,t)||this;return n._widgets={},n._verticalScrollbarWidth=n._context.configuration.editor.layoutInfo.verticalScrollbarWidth,n._minimapWidth=n._context.configuration.editor.layoutInfo.minimapWidth,n._horizontalScrollbarHeight=n._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,n._editorHeight=n._context.configuration.editor.layoutInfo.height,n._editorWidth=n._context.configuration.editor.layoutInfo.width,n._domNode=Up(document.createElement(\"div\")),rf.write(n._domNode,4),n._domNode.setClassName(\"overlayWidgets\"),n}return _y(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){return!!e.layoutInfo&&(this._verticalScrollbarWidth=this._context.configuration.editor.layoutInfo.verticalScrollbarWidth,this._minimapWidth=this._context.configuration.editor.layoutInfo.minimapWidth,this._horizontalScrollbarHeight=this._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,this._editorHeight=this._context.configuration.editor.layoutInfo.height,this._editorWidth=this._context.configuration.editor.layoutInfo.width,!0)},t.prototype.addWidget=function(e){var t=Up(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition(\"absolute\"),t.setAttribute(\"widgetId\",e.getId()),this._domNode.appendChild(t),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t){var n=this._widgets[e.getId()];return n.preference!==t&&(n.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.parentNode.removeChild(n),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(e.preference===Ru.TOP_RIGHT_CORNER)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===Ru.BOTTOM_RIGHT_CORNER){var n=t.domNode.clientHeight;t.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===Ru.TOP_CENTER&&(t.setTop(0),t.domNode.style.right=\"50%\");else t.unsetTop()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._editorWidth);for(var t=Object.keys(this._widgets),n=0,r=t.length;n<r;n++){var i=t[n];this._renderWidget(this._widgets[i])}},t}(nf),wy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Dy=function(){function e(e,t){this.lineHeight=e.editor.lineHeight,this.pixelRatio=e.editor.pixelRatio,this.overviewRulerLanes=e.editor.viewInfo.overviewRulerLanes,this.renderBorder=e.editor.viewInfo.overviewRulerBorder;var n=t.getColor(im);this.borderColor=n?n.toString():null,this.hideCursor=e.editor.viewInfo.hideCursorInOverviewRuler;var r=t.getColor(Gg);this.cursorColor=r?r.transparent(.7).toString():null,this.themeType=t.type;var i=e.editor.viewInfo.minimap.enabled,o=e.editor.viewInfo.minimap.side,s=i?xi.getDefaultBackground():null;this.backgroundColor=null===s||\"left\"===o?null:md.Format.CSS.formatHex(s);var a=e.editor.layoutInfo.overviewRuler;this.top=a.top,this.right=a.right,this.domWidth=a.width,this.domHeight=a.height,this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0;var u=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes),l=u[0],c=u[1];this.x=l,this.w=c}return e.prototype._initLanes=function(e,t,n){var r=t-e;if(n>=3){var i,o,s,a=r-(i=Math.floor(r/3))-(o=Math.floor(r/3)),u=(s=e)+i;return[[0,s,u,s,s+i+a,s,u,s],[0,i,a,i+a,o,i+a+o,a+o,i+a+o]]}if(2===n)return[[0,s=e,s,s,s+(i=Math.floor(r/2)),s,s,s],[0,i,i,i,o=r-i,i+o,i+o,i+o]];return[[0,e,e,e,e,e,e,e],[0,r,r,r,r,r,r,r]]},e.prototype.equals=function(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight},e}(),Ey=function(e){function t(t){var n=e.call(this,t)||this;return n._domNode=Up(document.createElement(\"canvas\")),n._domNode.setClassName(\"decorationsOverviewRuler\"),n._domNode.setPosition(\"absolute\"),n._domNode.setLayerHinting(!0),n._domNode.setAttribute(\"aria-hidden\",\"true\"),n._settings=null,n._updateSettings(!1),n._tokensColorTrackerListener=xi.onDidChange(function(e){e.changedColorMap&&n._updateSettings(!0)}),n._cursorPositions=[],n}return wy(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new Dy(this._context.configuration,this._context.theme);return(null===this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)},t.prototype.onConfigurationChanged=function(e){return this._updateSettings(!1)},t.prototype.onCursorStateChanged=function(e){this._cursorPositions=[];for(var t=0,n=e.selections.length;t<n;t++)this._cursorPositions[t]=e.selections[t].getPosition();return this._cursorPositions.sort(ye.compare),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateOverviewRulerColorCache(),this._updateSettings(!1)},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._render()},t.prototype._render=function(){var e=this._settings.canvasWidth,t=this._settings.canvasHeight,n=this._settings.lineHeight,r=this._context.viewLayout,i=t/this._context.viewLayout.getScrollHeight(),o=this._context.model.getAllOverviewRulerDecorations(this._context.theme),s=6*this._settings.pixelRatio|0,a=s/2|0,u=this._domNode.domNode.getContext(\"2d\");null===this._settings.backgroundColor?u.clearRect(0,0,e,t):(u.fillStyle=this._settings.backgroundColor,u.fillRect(0,0,e,t));var l=this._settings.x,c=this._settings.w,h=Object.keys(o);h.sort();for(var d=0,p=h.length;d<p;d++){var f=h[d],g=o[f];u.fillStyle=f;for(var m=0,v=0,y=0,b=0,_=g.length;b<_;b++){var C=g[3*b],w=g[3*b+1],D=g[3*b+2],E=r.getVerticalOffsetForLineNumber(w)*i|0;if((L=(r.getVerticalOffsetForLineNumber(D)+n)*i|0)-E<s)(N=(E+L)/2|0)<a?N=a:N+a>t&&(N=t-a),E=N-a,L=N+a;E>y+1||C!==m?(0!==b&&u.fillRect(l[m],v,c[m],y-v),m=C,v=E,y=L):L>y&&(y=L)}u.fillRect(l[m],v,c[m],y-v)}if(!this._settings.hideCursor){var A=2*this._settings.pixelRatio|0,S=A/2|0,x=this._settings.x[7],M=this._settings.w[7];u.fillStyle=this._settings.cursorColor;for(v=-100,y=-100,b=0,_=this._cursorPositions.length;b<_;b++){var N,I=this._cursorPositions[b];(N=r.getVerticalOffsetForLineNumber(I.lineNumber)*i|0)<S?N=S:N+S>t&&(N=t-S);var L=(E=N-S)+A;E>y+1?(0!==b&&u.fillRect(x,v,M,y-v),v=E,y=L):L>y&&(y=L)}u.fillRect(x,v,M,y-v)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(u.beginPath(),u.lineWidth=1,u.strokeStyle=this._settings.borderColor,u.moveTo(0,0),u.lineTo(0,t),u.stroke(),u.moveTo(0,0),u.lineTo(e,0),u.stroke())},t}(nf),Ay=function(){function e(e,t,n){this.from=0|e,this.to=0|t,this.colorId=0|n}return e.compare=function(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId},e}(),Sy=function(){function e(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.color=n,this._colorZone=null}return e.compare=function(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1},e.prototype.setColorZone=function(e){this._colorZone=e},e.prototype.getColorZones=function(){return this._colorZone},e}(),xy=function(){function e(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}return e.prototype.getId2Color=function(){return this._id2Color},e.prototype.setZones=function(e){this._zones=e,this._zones.sort(Sy.compare)},e.prototype.setLineHeight=function(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setPixelRatio=function(e){this._pixelRatio=e,this._colorZonesInvalid=!0},e.prototype.getDOMWidth=function(){return this._domWidth},e.prototype.getCanvasWidth=function(){return this._domWidth*this._pixelRatio},e.prototype.setDOMWidth=function(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)},e.prototype.getDOMHeight=function(){return this._domHeight},e.prototype.getCanvasHeight=function(){return this._domHeight*this._pixelRatio},e.prototype.setDOMHeight=function(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.getOuterHeight=function(){return this._outerHeight},e.prototype.setOuterHeight=function(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.resolveColorZones=function(){for(var e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),n=Math.floor(this.getCanvasHeight()),r=n/Math.floor(this._outerHeight),i=Math.floor(4*this._pixelRatio/2),o=[],s=0,a=this._zones.length;s<a;s++){var u=this._zones[s];if(!e){var l=u.getColorZones();if(l){o.push(l);continue}}var c=Math.floor(r*this._getVerticalOffsetForLine(u.startLineNumber)),h=Math.floor(r*(this._getVerticalOffsetForLine(u.endLineNumber)+t)),d=Math.floor((c+h)/2),p=h-d;p<i&&(p=i),d-p<0&&(d=p),d+p>n&&(d=n-p);var f=u.color,g=this._color2Id[f];g||(g=++this._lastAssignedId,this._color2Id[f]=g,this._id2Color[g]=f);var m=new Ay(d-p,d+p,g);u.setColorZone(m),o.push(m)}return this._colorZonesInvalid=!1,o.sort(Ay.compare),o},e}(),My=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ny=function(e){function t(t,n){var r=e.call(this)||this;return r._context=t,r._domNode=Up(document.createElement(\"canvas\")),r._domNode.setClassName(n),r._domNode.setPosition(\"absolute\"),r._domNode.setLayerHinting(!0),r._zoneManager=new xy(function(e){return r._context.viewLayout.getVerticalOffsetForLineNumber(e)}),r._zoneManager.setDOMWidth(0),r._zoneManager.setDOMHeight(0),r._zoneManager.setOuterHeight(r._context.viewLayout.getScrollHeight()),r._zoneManager.setLineHeight(r._context.configuration.editor.lineHeight),r._zoneManager.setPixelRatio(r._context.configuration.editor.pixelRatio),r._context.addEventHandler(r),r}return My(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._zoneManager=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._zoneManager.setLineHeight(this._context.configuration.editor.lineHeight),this._render()),e.pixelRatio&&(this._zoneManager.setPixelRatio(this._context.configuration.editor.pixelRatio),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0},t.prototype.onFlushed=function(e){return this._render(),!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0},t.prototype.onZonesChanged=function(e){return this._render(),!0},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.setLayout=function(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);var t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,(t=this._zoneManager.setDOMHeight(e.height)||t)&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())},t.prototype.setZones=function(e){this._zoneManager.setZones(e),this._render()},t.prototype._render=function(){if(0===this._zoneManager.getOuterHeight())return!1;var e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),n=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),i=this._domNode.domNode.getContext(\"2d\");return i.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(i,n,r,e),!0},t.prototype._renderOneLane=function(e,t,n,r){for(var i=0,o=0,s=0,a=0,u=t.length;a<u;a++){var l=t[a],c=l.colorId,h=l.from,d=l.to;c!==i?(e.fillRect(0,o,r,s-o),i=c,e.fillStyle=n[i],o=h,s=d):s>=h?s=Math.max(s,d):(e.fillRect(0,o,r,s-o),o=h,s=d)}e.fillRect(0,o,r,s-o)},t}(Zp),Iy=(n(325),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),Ly=function(e){function t(t){var n=e.call(this,t)||this;return n.domNode=Up(document.createElement(\"div\")),n.domNode.setAttribute(\"role\",\"presentation\"),n.domNode.setAttribute(\"aria-hidden\",\"true\"),n.domNode.setClassName(\"view-rulers\"),n._renderedRulers=[],n._rulers=n._context.configuration.editor.viewInfo.rulers,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n}return Iy(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!!(e.viewInfo||e.layoutInfo||e.fontInfo)&&(this._rulers=this._context.configuration.editor.viewInfo.rulers,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,!0)},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.prepareRender=function(e){},t.prototype._ensureRulersCount=function(){var e=this._renderedRulers.length,t=this._rulers.length;if(e!==t)if(e<t)for(var n=this._context.model.getTabSize(),r=t-e;r>0;){(o=Up(document.createElement(\"div\"))).setClassName(\"view-ruler\"),o.setWidth(n),this.domNode.appendChild(o),this._renderedRulers.push(o),r--}else for(var i=e-t;i>0;){var o=this._renderedRulers.pop();this.domNode.removeChild(o),i--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,n=this._rulers.length;t<n;t++){var r=this._renderedRulers[t];r.setHeight(Math.min(e.scrollHeight,1e6)),r.setLeft(this._rulers[t]*this._typicalHalfwidthCharacterWidth)}},t}(nf);Vg(function(e,t){var n=e.getColor(tm);n&&t.addRule(\".monaco-editor .view-ruler { box-shadow: 1px 0 0 0 \"+n+\" inset; }\")});n(326);var ky=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ty=function(e){function t(t){var n=e.call(this,t)||this;return n._scrollTop=0,n._width=0,n._updateWidth(),n._shouldShow=!1,n._useShadows=n._context.configuration.editor.viewInfo.scrollbar.useShadows,n._domNode=Up(document.createElement(\"div\")),n._domNode.setAttribute(\"role\",\"presentation\"),n._domNode.setAttribute(\"aria-hidden\",\"true\"),n}return ky(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._updateShouldShow=function(){var e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._updateWidth=function(){var e=this._context.configuration.editor.layoutInfo,t=0;return t=0===e.renderMinimap||e.minimapWidth>0&&0===e.minimapLeft?e.width:e.width-e.minimapWidth-e.verticalScrollbarWidth,this._width!==t&&(this._width=t,!0)},t.prototype.onConfigurationChanged=function(e){var t=!1;return e.viewInfo&&(this._useShadows=this._context.configuration.editor.viewInfo.scrollbar.useShadows),e.layoutInfo&&(t=this._updateWidth()),this._updateShouldShow()||t},t.prototype.onScrollChanged=function(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?\"scroll-decoration\":\"\")},t}(nf);Vg(function(e,t){var n=e.getColor(Yf);n&&t.addRule(\".monaco-editor .scroll-decoration { box-shadow: \"+n+\" 0 6px 6px -6px inset; }\")});n(327);var Fy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Oy=function(){return function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}(),Py=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}();function By(e){return new Oy(e)}function Ry(e){return new Py(e.lineNumber,e.ranges.map(By))}var jy=$l,zy=function(e){function t(t){var n=e.call(this)||this;return n._previousFrameVisibleRangesWithStyle=[],n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._roundedSelection=n._context.configuration.editor.viewInfo.roundedSelection,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._selections=[],n._renderResult=null,n._context.addEventHandler(n),n}return Fy(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._selections=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._roundedSelection=this._context.configuration.editor.viewInfo.roundedSelection),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._visibleRangesHaveGaps=function(e){for(var t=0,n=e.length;t<n;t++){if(e[t].ranges.length>1)return!0}return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,n){var r=this._typicalHalfwidthCharacterWidth/4,i=null,o=null;if(n&&n.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!i&&a<n.length;a++)n[a].lineNumber===s&&(i=n[a].ranges[0]);var u=t[t.length-1].lineNumber;if(u===e.endLineNumber)for(a=n.length-1;!o&&a>=0;a--)n[a].lineNumber===u&&(o=n[a].ranges[0]);i&&!i.startStyle&&(i=null),o&&!o.startStyle&&(o=null)}a=0;for(var l=t.length;a<l;a++){var c=t[a].ranges[0],h=c.left,d=c.left+c.width,p={top:0,bottom:0},f={top:0,bottom:0};if(a>0){var g=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;Wy(h-g)<r?p.top=2:h>g&&(p.top=1),Wy(d-m)<r?f.top=2:g<d&&d<m&&(f.top=1)}else i&&(p.top=i.startStyle.top,f.top=i.endStyle.top);if(a+1<l){var v=t[a+1].ranges[0].left,y=t[a+1].ranges[0].left+t[a+1].ranges[0].width;Wy(h-v)<r?p.bottom=2:v<h&&h<y&&(p.bottom=1),Wy(d-y)<r?f.bottom=2:d<y&&(f.bottom=1)}else o&&(p.bottom=o.startStyle.bottom,f.bottom=o.endStyle.bottom);c.startStyle=p,c.endStyle=f}},t.prototype._getVisibleRangesWithStyle=function(e,t,n){var r=(t.linesVisibleRangesForRange(e,!0)||[]).map(Ry),i=this._visibleRangesHaveGaps(r);return jy||i||!this._roundedSelection||this._enrichVisibleRangesWithStyle(t.visibleRange,r,n),r},t.prototype._createSelectionPiece=function(e,t,n,r,i){return'<div class=\"cslr '+n+'\" style=\"top:'+e.toString()+\"px;left:\"+r.toString()+\"px;width:\"+i.toString()+\"px;height:\"+t+'px;\"></div>'},t.prototype._actualRenderOneSelection=function(e,n,r,i){for(var o=i.length>0&&i[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),u=i.length>0?i[0].lineNumber:0,l=i.length>0?i[i.length-1].lineNumber:0,c=0,h=i.length;c<h;c++){for(var d=i[c],p=d.lineNumber,f=p-n,g=r&&(p===l||p===u)?a:s,m=r&&p===u?1:0,v=\"\",y=0,b=d.ranges.length;y<b;y++){var _=d.ranges[y];if(o){if(1===_.startStyle.top||1===_.startStyle.bottom){v+=this._createSelectionPiece(m,g,t.SELECTION_CLASS_NAME,_.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH);var C=t.EDITOR_BACKGROUND_CLASS_NAME;1===_.startStyle.top&&(C+=\" \"+t.SELECTION_TOP_RIGHT),1===_.startStyle.bottom&&(C+=\" \"+t.SELECTION_BOTTOM_RIGHT),v+=this._createSelectionPiece(m,g,C,_.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH)}if(1===_.endStyle.top||1===_.endStyle.bottom){v+=this._createSelectionPiece(m,g,t.SELECTION_CLASS_NAME,_.left+_.width,t.ROUNDED_PIECE_WIDTH);var w=t.EDITOR_BACKGROUND_CLASS_NAME;1===_.endStyle.top&&(w+=\" \"+t.SELECTION_TOP_LEFT),1===_.endStyle.bottom&&(w+=\" \"+t.SELECTION_BOTTOM_LEFT),v+=this._createSelectionPiece(m,g,w,_.left+_.width,t.ROUNDED_PIECE_WIDTH)}}var D=t.SELECTION_CLASS_NAME;o&&(0===_.startStyle.top&&(D+=\" \"+t.SELECTION_TOP_LEFT),0===_.startStyle.bottom&&(D+=\" \"+t.SELECTION_BOTTOM_LEFT),0===_.endStyle.top&&(D+=\" \"+t.SELECTION_TOP_RIGHT),0===_.endStyle.bottom&&(D+=\" \"+t.SELECTION_BOTTOM_RIGHT)),v+=this._createSelectionPiece(m,g,D,_.left,_.width)}e[f]+=v}},t.prototype.prepareRender=function(e){for(var t=[],n=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,i=n;i<=r;i++){t[i-n]=\"\"}for(var o=[],s=0,a=this._selections.length;s<a;s++){var u=this._selections[s];if(u.isEmpty())o[s]=null;else{var l=this._getVisibleRangesWithStyle(u,e,this._previousFrameVisibleRangesWithStyle[s]);o[s]=l,this._actualRenderOneSelection(t,n,this._selections.length>1,l)}}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return\"\";var n=t-e;return n<0||n>=this._renderResult.length?\"\":this._renderResult[n]},t.SELECTION_CLASS_NAME=\"selected-text\",t.SELECTION_TOP_LEFT=\"top-left-radius\",t.SELECTION_BOTTOM_LEFT=\"bottom-left-radius\",t.SELECTION_TOP_RIGHT=\"top-right-radius\",t.SELECTION_BOTTOM_RIGHT=\"bottom-right-radius\",t.EDITOR_BACKGROUND_CLASS_NAME=\"monaco-editor-background\",t.ROUNDED_PIECE_WIDTH=10,t}(bm);function Wy(e){return e<0?-e:e}Vg(function(e,t){var n=e.getColor($f);n&&t.addRule(\".monaco-editor .focused .selected-text { background-color: \"+n+\"; }\");var r=e.getColor(tg);r&&t.addRule(\".monaco-editor .selected-text { background-color: \"+r+\"; }\");var i=e.getColor(eg);i&&t.addRule(\".monaco-editor .view-line span.inline-selected-text { color: \"+i+\"; }\")});n(328);var Vy=function(){return function(e,t,n,r,i,o){this.top=e,this.left=t,this.width=n,this.height=r,this.textContent=i,this.textContentClassName=o}}(),Hy=function(){function e(e){this._context=e,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineHeight=this._context.configuration.editor.lineHeight,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(this._context.configuration.editor.viewInfo.cursorWidth,this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=Up(document.createElement(\"div\")),this._domNode.setClassName(\"cursor\"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Vp.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay(\"none\"),this.updatePosition(new ye(1,1)),this._lastRenderedContent=\"\",this._renderData=null}return e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return this._position},e.prototype.show=function(){this._isVisible||(this._domNode.setVisibility(\"inherit\"),this._isVisible=!0)},e.prototype.hide=function(){this._isVisible&&(this._domNode.setVisibility(\"hidden\"),this._isVisible=!1)},e.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(Vp.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),e.viewInfo&&(this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineCursorWidth=Math.min(this._context.configuration.editor.viewInfo.cursorWidth,this._typicalHalfwidthCharacterWidth)),!0},e.prototype.onCursorPositionChanged=function(e){return this.updatePosition(e),!0},e.prototype._prepareRender=function(e){var t=\"\",n=\"\";if(this._cursorStyle===bs.Line||this._cursorStyle===bs.LineThin){var r,i=e.visibleRangeForPosition(this._position);if(!i)return null;if(this._cursorStyle===bs.Line){if((r=Eh(this._lineCursorWidth>0?this._lineCursorWidth:2))>2)t=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1)}else r=Eh(1);var o=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new Vy(o,i.left,r,this._lineHeight,t,n)}var s=e.linesVisibleRangesForRange(new be(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!s||0===s.length||0===s[0].ranges.length)return null;var a=s[0].ranges[0],u=a.width<1?this._typicalHalfwidthCharacterWidth:a.width;if(this._cursorStyle===bs.Block){var l=this._context.model.getViewLineData(this._position.lineNumber);t=l.content.charAt(this._position.column-1),Ft(l.content.charCodeAt(this._position.column-1))&&(t+=l.content.charAt(this._position.column));var c=l.tokens.findTokenIndexAtOffset(this._position.column-1);n=l.tokens.getClassName(c)}var h=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return this._cursorStyle!==bs.Underline&&this._cursorStyle!==bs.UnderlineThin||(h+=this._lineHeight-2,d=2),new Vy(h,a.left,u,d,t,n)},e.prototype.prepareRender=function(e){this._renderData=this._prepareRender(e)},e.prototype.render=function(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(\"cursor \"+this._renderData.textContentClassName),this._domNode.setDisplay(\"block\"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay(\"none\"),null)},e.prototype.updatePosition=function(e){this._position=e},e}(),Uy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Yy=function(e){function t(t){var n=e.call(this,t)||this;return n._readOnly=n._context.configuration.editor.readOnly,n._cursorBlinking=n._context.configuration.editor.viewInfo.cursorBlinking,n._cursorStyle=n._context.configuration.editor.viewInfo.cursorStyle,n._selectionIsEmpty=!0,n._primaryCursor=new Hy(n._context),n._secondaryCursors=[],n._renderData=[],n._domNode=Up(document.createElement(\"div\")),n._domNode.setAttribute(\"role\",\"presentation\"),n._domNode.setAttribute(\"aria-hidden\",\"true\"),n._updateDomClassName(),n._domNode.appendChild(n._primaryCursor.getDomNode()),n._startCursorBlinkAnimation=new Hl,n._cursorFlatBlinkInterval=new Ul,n._blinkingEnabled=!1,n._editorHasFocus=!1,n._updateBlinking(),n}return Uy(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){e.readOnly&&(this._readOnly=this._context.configuration.editor.readOnly),e.viewInfo&&(this._cursorBlinking=this._context.configuration.editor.viewInfo.cursorBlinking,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle),this._primaryCursor.onConfigurationChanged(e),this._updateBlinking(),e.viewInfo&&this._updateDomClassName();for(var t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0},t.prototype._onCursorPositionChanged=function(e,t){if(this._primaryCursor.onCursorPositionChanged(e),this._updateBlinking(),this._secondaryCursors.length<t.length)for(var n=t.length-this._secondaryCursors.length,r=0;r<n;r++){var i=new Hy(this._context);this._domNode.domNode.insertBefore(i.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(i)}else if(this._secondaryCursors.length>t.length){var o=this._secondaryCursors.length-t.length;for(r=0;r<o;r++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(r=0;r<t.length;r++)this._secondaryCursors[r].onCursorPositionChanged(t[r])},t.prototype.onCursorStateChanged=function(e){for(var t=[],n=0,r=e.selections.length;n<r;n++)t[n]=e.selections[n].getPosition();this._onCursorPositionChanged(t[0],t.slice(1));var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,this._updateDomClassName()),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onFocusChanged=function(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){var t=function(t){for(var n=0,r=e.ranges.length;n<r;n++)if(e.ranges[n].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[n].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(var n=0;n<this._secondaryCursors.length;n++)if(t(this._secondaryCursors[n].getPosition()))return!0;return!1},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getCursorBlinking=function(){return this._editorHasFocus?this._readOnly?ys.Solid:this._cursorBlinking:ys.Hidden},t.prototype._updateBlinking=function(){var e=this;this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();var n=this._getCursorBlinking(),r=n===ys.Hidden,i=n===ys.Solid;r?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),r||i||(n===ys.Blink?this._cursorFlatBlinkInterval.cancelAndSet(function(){e._isVisible?e._hide():e._show()},t.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(function(){e._blinkingEnabled=!0,e._updateDomClassName()},t.BLINK_INTERVAL))},t.prototype._updateDomClassName=function(){this._domNode.setClassName(this._getClassName())},t.prototype._getClassName=function(){var e=\"cursors-layer\";switch(this._selectionIsEmpty||(e+=\" has-selection\"),this._cursorStyle){case bs.Line:e+=\" cursor-line-style\";break;case bs.Block:e+=\" cursor-block-style\";break;case bs.Underline:e+=\" cursor-underline-style\";break;case bs.LineThin:e+=\" cursor-line-thin-style\";break;case bs.BlockOutline:e+=\" cursor-block-outline-style\";break;case bs.UnderlineThin:e+=\" cursor-underline-thin-style\";break;default:e+=\" cursor-line-style\"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case ys.Blink:e+=\" cursor-blink\";break;case ys.Smooth:e+=\" cursor-smooth\";break;case ys.Phase:e+=\" cursor-phase\";break;case ys.Expand:e+=\" cursor-expand\";break;case ys.Solid:e+=\" cursor-solid\";break;default:e+=\" cursor-solid\"}else e+=\" cursor-solid\";return e},t.prototype._show=function(){this._primaryCursor.show();for(var e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0},t.prototype._hide=function(){this._primaryCursor.hide();for(var e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1},t.prototype.prepareRender=function(e){this._primaryCursor.prepareRender(e);for(var t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].prepareRender(e)},t.prototype.render=function(e){var t=[],n=0,r=this._primaryCursor.render(e);r&&(t[n++]=r);for(var i=0,o=this._secondaryCursors.length;i<o;i++){var s=this._secondaryCursors[i].render(e);s&&(t[n++]=s)}this._renderData=t},t.prototype.getLastRenderData=function(){return this._renderData},t.BLINK_INTERVAL=500,t}(nf);Vg(function(e,t){var n=e.getColor(Gg);if(n){var r=e.getColor(Kg);r||(r=n.opposite()),t.addRule(\".monaco-editor .cursor { background-color: \"+n+\"; border-color: \"+n+\"; color: \"+r+\"; }\"),\"hc\"===e.type&&t.addRule(\".monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid \"+r+\"; border-right: 1px solid \"+r+\"; }\")}});var Zy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Gy=function(e){function t(t){var n=e.call(this,t)||this;return n._lineHeight=n._context.configuration.editor.lineHeight,n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n.domNode=Up(document.createElement(\"div\")),n.domNode.setClassName(\"view-zones\"),n.domNode.setPosition(\"absolute\"),n.domNode.setAttribute(\"role\",\"presentation\"),n.domNode.setAttribute(\"aria-hidden\",\"true\"),n.marginDomNode=Up(document.createElement(\"div\")),n.marginDomNode.setClassName(\"margin-view-zones\"),n.marginDomNode.setPosition(\"absolute\"),n.marginDomNode.setAttribute(\"role\",\"presentation\"),n.marginDomNode.setAttribute(\"aria-hidden\",\"true\"),n._zones={},n}return Zy(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._zones={}},t.prototype._recomputeWhitespacesProps=function(){for(var e=!1,t=Object.keys(this._zones),n=0,r=t.length;n<r;n++){var i=t[n],o=this._zones[i],s=this._computeWhitespaceProps(o.delegate);this._context.viewLayout.changeWhitespace(parseInt(i,10),s.afterViewLineNumber,s.heightInPx)&&(this._safeCallOnComputedHeight(o.delegate,s.heightInPx),e=!0)}return e},t.prototype.onConfigurationChanged=function(e){return e.lineHeight?(this._lineHeight=this._context.configuration.editor.lineHeight,this._recomputeWhitespacesProps()):(e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0)},t.prototype.onLineMappingChanged=function(e){var t=this._recomputeWhitespacesProps();return t&&this._context.viewLayout.onHeightMaybeChanged(),t},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype._getZoneOrdinal=function(e){return void 0!==e.afterColumn?e.afterColumn:1e4},t.prototype._computeWhitespaceProps=function(e){if(0===e.afterLineNumber)return{afterViewLineNumber:0,heightInPx:this._heightInPixels(e)};var t,n;if(void 0!==e.afterColumn)t=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{var r=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new ye(r,this._context.model.getModelLineMaxColumn(r))}n=t.column===this._context.model.getModelLineMaxColumn(t.lineNumber)?this._context.model.validateModelPosition({lineNumber:t.lineNumber+1,column:1}):this._context.model.validateModelPosition({lineNumber:t.lineNumber,column:t.column+1});var i=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(t),o=this._context.model.coordinatesConverter.modelPositionIsVisible(n);return{afterViewLineNumber:i.lineNumber,heightInPx:o?this._heightInPixels(e):0}},t.prototype.addZone=function(e){var t=this._computeWhitespaceProps(e),n={whitespaceId:this._context.viewLayout.addWhitespace(t.afterViewLineNumber,this._getZoneOrdinal(e),t.heightInPx),delegate:e,isVisible:!1,domNode:Up(e.domNode),marginDomNode:e.marginDomNode?Up(e.marginDomNode):null};return this._safeCallOnComputedHeight(n.delegate,t.heightInPx),n.domNode.setPosition(\"absolute\"),n.domNode.domNode.style.width=\"100%\",n.domNode.setDisplay(\"none\"),n.domNode.setAttribute(\"monaco-view-zone\",n.whitespaceId.toString()),this.domNode.appendChild(n.domNode),n.marginDomNode&&(n.marginDomNode.setPosition(\"absolute\"),n.marginDomNode.domNode.style.width=\"100%\",n.marginDomNode.setDisplay(\"none\"),n.marginDomNode.setAttribute(\"monaco-view-zone\",n.whitespaceId.toString()),this.marginDomNode.appendChild(n.marginDomNode)),this._zones[n.whitespaceId.toString()]=n,this.setShouldRender(),n.whitespaceId},t.prototype.removeZone=function(e){if(this._zones.hasOwnProperty(e.toString())){var t=this._zones[e.toString()];return delete this._zones[e.toString()],this._context.viewLayout.removeWhitespace(t.whitespaceId),t.domNode.removeAttribute(\"monaco-visible-view-zone\"),t.domNode.removeAttribute(\"monaco-view-zone\"),t.domNode.domNode.parentNode.removeChild(t.domNode.domNode),t.marginDomNode&&(t.marginDomNode.removeAttribute(\"monaco-visible-view-zone\"),t.marginDomNode.removeAttribute(\"monaco-view-zone\"),t.marginDomNode.domNode.parentNode.removeChild(t.marginDomNode.domNode)),this.setShouldRender(),!0}return!1},t.prototype.layoutZone=function(e){var t=!1;if(this._zones.hasOwnProperty(e.toString())){var n=this._zones[e.toString()],r=this._computeWhitespaceProps(n.delegate);(t=this._context.viewLayout.changeWhitespace(n.whitespaceId,r.afterViewLineNumber,r.heightInPx)||t)&&(this._safeCallOnComputedHeight(n.delegate,r.heightInPx),this.setShouldRender())}return t},t.prototype.shouldSuppressMouseDownOnViewZone=function(e){return!!this._zones.hasOwnProperty(e.toString())&&this._zones[e.toString()].delegate.suppressMouseDown},t.prototype._heightInPixels=function(e){return\"number\"==typeof e.heightInPx?e.heightInPx:\"number\"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight},t.prototype._safeCallOnComputedHeight=function(e,t){if(\"function\"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){pn(e)}},t.prototype._safeCallOnDomNodeTop=function(e,t){if(\"function\"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){pn(e)}},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){for(var t=e.viewportData.whitespaceViewportData,n={},r=!1,i=0,o=t.length;i<o;i++)n[t[i].id.toString()]=t[i],r=!0;var s=Object.keys(this._zones);for(i=0,o=s.length;i<o;i++){var a=s[i],u=this._zones[a],l=0,c=0,h=\"none\";n.hasOwnProperty(a)?(l=n[a].verticalOffset-e.bigNumbersDelta,c=n[a].height,h=\"block\",u.isVisible||(u.domNode.setAttribute(\"monaco-visible-view-zone\",\"true\"),u.isVisible=!0),this._safeCallOnDomNodeTop(u.delegate,e.getScrolledTopFromAbsoluteTop(n[a].verticalOffset))):(u.isVisible&&(u.domNode.removeAttribute(\"monaco-visible-view-zone\"),u.isVisible=!1),this._safeCallOnDomNodeTop(u.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),u.domNode.setTop(l),u.domNode.setHeight(c),u.domNode.setDisplay(h),u.marginDomNode&&(u.marginDomNode.setTop(l),u.marginDomNode.setHeight(c),u.marginDomNode.setDisplay(h))}r&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))},t}(nf),Ky=function(){function e(e,t,n,r){this.configuration=e,this.theme=t,this.model=n,this.viewLayout=n.viewLayout,this.privateViewEventBus=r}return e.prototype.addEventHandler=function(e){this.privateViewEventBus.addEventHandler(e)},e.prototype.removeEventHandler=function(e){this.privateViewEventBus.removeEventHandler(e)},e}(),qy=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Qy=function(e){function t(t){var n=e.call(this)||this;return n.onDidScroll=null,n.onDidGainFocus=null,n.onDidLoseFocus=null,n.onKeyDown=null,n.onKeyUp=null,n.onContextMenu=null,n.onMouseMove=null,n.onMouseLeave=null,n.onMouseUp=null,n.onMouseDown=null,n.onMouseDrag=null,n.onMouseDrop=null,n._viewModel=t,n}return qy(t,e),t.prototype.emitScrollChanged=function(e){this.onDidScroll&&this.onDidScroll(e)},t.prototype.emitViewFocusGained=function(){this.onDidGainFocus&&this.onDidGainFocus(void 0)},t.prototype.emitViewFocusLost=function(){this.onDidLoseFocus&&this.onDidLoseFocus(void 0)},t.prototype.emitKeyDown=function(e){this.onKeyDown&&this.onKeyDown(e)},t.prototype.emitKeyUp=function(e){this.onKeyUp&&this.onKeyUp(e)},t.prototype.emitContextMenu=function(e){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseMove=function(e){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseLeave=function(e){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseUp=function(e){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDown=function(e){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrag=function(e){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrop=function(e){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(e))},t.prototype._convertViewToModelMouseEvent=function(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e},t.prototype._convertViewToModelMouseTarget=function(e){return new Xy(e.element,e.type,e.mouseColumn,e.position?this._convertViewToModelPosition(e.position):null,e.range?this._convertViewToModelRange(e.range):null,e.detail)},t.prototype._convertViewToModelPosition=function(e){return this._viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},t.prototype._convertViewToModelRange=function(e){return this._viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},t}(un),Xy=function(){function e(e,t,n,r,i,o){this.element=e,this.type=t,this.mouseColumn=n,this.position=r,this.range=i,this.detail=o}return e.prototype.toString=function(){return wv.toString(this)},e}(),Jy=function(){function e(e,t,n,r){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.whitespaceViewportData=n,this._model=r,this.visibleRange=new be(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}return e.prototype.getViewLineRenderingData=function(e){return this._model.getViewLineRenderingData(this.visibleRange,e)},e.prototype.getDecorationsInViewport=function(){return this._model.getDecorationsInViewport(this.visibleRange)},e}(),$y=(n(329),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),eb=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return $y(t,e),t.prototype.onclick=function(e,t){this._register(kc(e,ph.CLICK,function(e){return t(new yc(e))}))},t.prototype.onmousedown=function(e,t){this._register(kc(e,ph.MOUSE_DOWN,function(e){return t(new yc(e))}))},t.prototype.onmouseover=function(e,t){this._register(kc(e,ph.MOUSE_OVER,function(e){return t(new yc(e))}))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(Fc(e,function(e){return t(new yc(e))}))},t.prototype.onkeydown=function(e,t){this._register(kc(e,ph.KEY_DOWN,function(e){return t(new hc(e))}))},t.prototype.onkeyup=function(e,t){this._register(kc(e,ph.KEY_UP,function(e){return t(new hc(e))}))},t.prototype.oninput=function(e,t){this._register(kc(e,ph.INPUT,t))},t.prototype.onblur=function(e,t){this._register(kc(e,ph.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(kc(e,ph.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(kc(e,ph.CHANGE,t))},t}(un),tb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),nb=11,rb=function(e){function t(t){var n=e.call(this)||this;return n._onActivate=t.onActivate,n.bgDomNode=document.createElement(\"div\"),n.bgDomNode.className=\"arrow-background\",n.bgDomNode.style.position=\"absolute\",n.bgDomNode.style.width=t.bgWidth+\"px\",n.bgDomNode.style.height=t.bgHeight+\"px\",void 0!==t.top&&(n.bgDomNode.style.top=\"0px\"),void 0!==t.left&&(n.bgDomNode.style.left=\"0px\"),void 0!==t.bottom&&(n.bgDomNode.style.bottom=\"0px\"),void 0!==t.right&&(n.bgDomNode.style.right=\"0px\"),n.domNode=document.createElement(\"div\"),n.domNode.className=t.className,n.domNode.style.position=\"absolute\",n.domNode.style.width=nb+\"px\",n.domNode.style.height=nb+\"px\",void 0!==t.top&&(n.domNode.style.top=t.top+\"px\"),void 0!==t.left&&(n.domNode.style.left=t.left+\"px\"),void 0!==t.bottom&&(n.domNode.style.bottom=t.bottom+\"px\"),void 0!==t.right&&(n.domNode.style.right=t.right+\"px\"),n._mouseMoveMonitor=n._register(new Tm),n.onmousedown(n.bgDomNode,function(e){return n._arrowMouseDown(e)}),n.onmousedown(n.domNode,function(e){return n._arrowMouseDown(e)}),n._mousedownRepeatTimer=n._register(new Ul),n._mousedownScheduleRepeatTimer=n._register(new Hl),n}return tb(t,e),t.prototype._arrowMouseDown=function(e){var t=this;this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet(function(){t._mousedownRepeatTimer.cancelAndSet(function(){return t._onActivate()},1e3/24)},200),this._mouseMoveMonitor.startMonitoring(km,function(e){},function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()}),e.preventDefault()},t}(eb),ib=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),ob=function(e){function t(t,n,r){var i=e.call(this)||this;return i._visibility=t,i._visibleClassName=n,i._invisibleClassName=r,i._domNode=null,i._isVisible=!1,i._isNeeded=!1,i._shouldBeVisible=!1,i._revealTimer=i._register(new Hl),i}return ib(t,e),t.prototype.applyVisibilitySetting=function(e){return this._visibility!==rs.Hidden&&(this._visibility===rs.Visible||e)},t.prototype.setShouldBeVisible=function(e){var t=this.applyVisibilitySetting(e);this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())},t.prototype.setIsNeeded=function(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())},t.prototype.setDomNode=function(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)},t.prototype.ensureVisibility=function(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)},t.prototype._reveal=function(){var e=this;this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(function(){e._domNode.setClassName(e._visibleClassName)},0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode.setClassName(this._invisibleClassName+(e?\" fade\":\"\")))},t}(un),sb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),ab=function(e){function t(t){var n=e.call(this)||this;return n._lazyRender=t.lazyRender,n._host=t.host,n._scrollable=t.scrollable,n._scrollbarState=t.scrollbarState,n._visibilityController=n._register(new ob(t.visibility,\"visible scrollbar \"+t.extraScrollbarClassName,\"invisible scrollbar \"+t.extraScrollbarClassName)),n._mouseMoveMonitor=n._register(new Tm),n._shouldRender=!0,n.domNode=Up(document.createElement(\"div\")),n.domNode.setAttribute(\"role\",\"presentation\"),n.domNode.setAttribute(\"aria-hidden\",\"true\"),n._visibilityController.setDomNode(n.domNode),n.domNode.setPosition(\"absolute\"),n.onmousedown(n.domNode.domNode,function(e){return n._domNodeMouseDown(e)}),n}return sb(t,e),t.prototype._createArrow=function(e){var t=this._register(new rb(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,n,r){var i=this;this.slider=Up(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(e),this.slider.setLeft(t),this.slider.setWidth(n),this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,function(e){e.leftButton&&(e.preventDefault(),i._sliderMouseDown(e,function(){}))})},t.prototype._onElementSize=function(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollSize=function(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollPosition=function(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype.beginReveal=function(){this._visibilityController.setShouldBeVisible(!0)},t.prototype.beginHide=function(){this._visibilityController.setShouldBeVisible(!1)},t.prototype.render=function(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))},t.prototype._domNodeMouseDown=function(e){e.target===this.domNode.domNode&&this._onMouseDown(e)},t.prototype.delegateMouseDown=function(e){var t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderMousePosition(e);n<=i&&i<=r?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){})):this._onMouseDown(e)},t.prototype._onMouseDown=function(e){var t,n;if(e.target===this.domNode.domNode&&\"number\"==typeof e.browserEvent.offsetX&&\"number\"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,n=e.browserEvent.offsetY;else{var r=eh(this.domNode.domNode);t=e.posx-r.left,n=e.posy-r.top}this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(t,n))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){}))},t.prototype._sliderMouseDown=function(e,t){var n=this,r=this._sliderMousePosition(e),i=this._sliderOrthogonalMousePosition(e),o=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._mouseMoveMonitor.startMonitoring(km,function(e){var t=n._sliderOrthogonalMousePosition(e),s=Math.abs(t-i);if(we.g&&s>140)n._setDesiredScrollPositionNow(o.getScrollPosition());else{var a=n._sliderMousePosition(e)-r;n._setDesiredScrollPositionNow(o.getDesiredScrollPositionFromDelta(a))}},function(){n.slider.toggleClassName(\"active\",!1),n._host.onDragEnd(),t()}),this._host.onDragStart()},t.prototype._setDesiredScrollPositionNow=function(e){var t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)},t}(eb),ub=function(){function e(e,t,n){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=0,this._scrollSize=0,this._scrollPosition=0,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}return e.prototype.clone=function(){var t=new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize);return t.setVisibleSize(this._visibleSize),t.setScrollSize(this._scrollSize),t.setScrollPosition(this._scrollPosition),t},e.prototype.setVisibleSize=function(e){var t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)},e.prototype.setScrollSize=function(e){var t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)},e.prototype.setScrollPosition=function(e){var t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)},e._computeValues=function(e,t,n,r,i){var o=Math.max(0,n-e),s=Math.max(0,o-2*t),a=r>0&&r>n;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};var u=Math.round(Math.max(20,Math.floor(n*s/r))),l=(s-u)/(r-n),c=i*l;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(u),computedSliderRatio:l,computedSliderPosition:Math.round(c)}},e.prototype._refreshComputedValues=function(){var t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition},e.prototype.getArrowSize=function(){return this._arrowSize},e.prototype.getScrollPosition=function(){return this._scrollPosition},e.prototype.getRectangleLargeSize=function(){return this._computedAvailableSize},e.prototype.getRectangleSmallSize=function(){return this._scrollbarSize},e.prototype.isNeeded=function(){return this._computedIsNeeded},e.prototype.getSliderSize=function(){return this._computedSliderSize},e.prototype.getSliderPosition=function(){return this._computedSliderPosition},e.prototype.getDesiredScrollPositionFromOffset=function(e){if(!this._computedIsNeeded)return 0;var t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)},e.prototype.getDesiredScrollPositionFromDelta=function(e){if(!this._computedIsNeeded)return 0;var t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)},e}(),lb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),cb=function(e){function t(t,n,r){var i=e.call(this,{lazyRender:n.lazyRender,host:r,scrollbarState:new ub(n.horizontalHasArrows?n.arrowSize:0,n.horizontal===rs.Hidden?0:n.horizontalScrollbarSize,n.vertical===rs.Hidden?0:n.verticalScrollbarSize),visibility:n.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:t})||this;if(n.horizontalHasArrows){var o=(n.arrowSize-nb)/2,s=(n.horizontalScrollbarSize-nb)/2;i._createArrow({className:\"left-arrow\",top:s,left:o,bottom:void 0,right:void 0,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return i._host.onMouseWheel(new _c(null,1,0))}}),i._createArrow({className:\"right-arrow\",top:s,left:void 0,bottom:void 0,right:o,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return i._host.onMouseWheel(new _c(null,-1,0))}})}return i._createSlider(Math.floor((n.horizontalScrollbarSize-n.horizontalSliderSize)/2),0,null,n.horizontalSliderSize),i}return lb(t,e),t.prototype._updateSlider=function(e,t){this.slider.setWidth(e),this.slider.setLeft(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return e},t.prototype._sliderMousePosition=function(e){return e.posx},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posy},t.prototype.writeScrollPosition=function(e,t){e.scrollLeft=t},t}(ab),hb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),db=function(e){function t(t,n,r){var i=e.call(this,{lazyRender:n.lazyRender,host:r,scrollbarState:new ub(n.verticalHasArrows?n.arrowSize:0,n.vertical===rs.Hidden?0:n.verticalScrollbarSize,0),visibility:n.vertical,extraScrollbarClassName:\"vertical\",scrollable:t})||this;if(n.verticalHasArrows){var o=(n.arrowSize-nb)/2,s=(n.verticalScrollbarSize-nb)/2;i._createArrow({className:\"up-arrow\",top:o,left:s,bottom:void 0,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return i._host.onMouseWheel(new _c(null,0,1))}}),i._createArrow({className:\"down-arrow\",top:void 0,left:s,bottom:o,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return i._host.onMouseWheel(new _c(null,0,-1))}})}return i._createSlider(0,Math.floor((n.verticalScrollbarSize-n.verticalSliderSize)/2),n.verticalSliderSize,null),i}return hb(t,e),t.prototype._updateSlider=function(e,t){this.slider.setHeight(e),this.slider.setTop(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return t},t.prototype._sliderMousePosition=function(e){return e.posy},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posx},t.prototype.writeScrollPosition=function(e,t){e.scrollTop=t},t}(ab),pb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),fb=function(){return function(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}}(),gb=function(){function e(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}return e.prototype.isPhysicalMouseWheel=function(){if(-1===this._front&&-1===this._rear)return!1;for(var e=1,t=0,n=1,r=this._rear;;){var i=r===this._front?e:Math.pow(2,-n);if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}return t<=.5},e.prototype.accept=function(e,t,n){var r=new fb(e,t,n);r.score=this._computeScore(r),-1===this._front&&-1===this._rear?(this._memory[0]=r,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=r)},e.prototype._computeScore=function(e){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;var t=.5;-1===this._front&&-1===this._rear||this._memory[this._rear];return(Math.abs(e.deltaX-Math.round(e.deltaX))>0||Math.abs(e.deltaY-Math.round(e.deltaY))>0)&&(t+=.25),Math.min(Math.max(t,0),1)},e.INSTANCE=new e,e}(),mb=function(e){function t(t,n,r){var i=e.call(this)||this;i._onScroll=i._register(new wn),i.onScroll=i._onScroll.event,t.style.overflow=\"hidden\",i._options=_b(n),i._scrollable=r,i._register(i._scrollable.onScroll(function(e){i._onDidScroll(e),i._onScroll.fire(e)}));var o={onMouseWheel:function(e){return i._onMouseWheel(e)},onDragStart:function(){return i._onDragStart()},onDragEnd:function(){return i._onDragEnd()}};return i._verticalScrollbar=i._register(new db(i._scrollable,i._options,o)),i._horizontalScrollbar=i._register(new cb(i._scrollable,i._options,o)),i._domNode=document.createElement(\"div\"),i._domNode.className=\"monaco-scrollable-element \"+i._options.className,i._domNode.setAttribute(\"role\",\"presentation\"),i._domNode.style.position=\"relative\",i._domNode.style.overflow=\"hidden\",i._domNode.appendChild(t),i._domNode.appendChild(i._horizontalScrollbar.domNode.domNode),i._domNode.appendChild(i._verticalScrollbar.domNode.domNode),i._options.useShadows&&(i._leftShadowDomNode=Up(document.createElement(\"div\")),i._leftShadowDomNode.setClassName(\"shadow\"),i._domNode.appendChild(i._leftShadowDomNode.domNode),i._topShadowDomNode=Up(document.createElement(\"div\")),i._topShadowDomNode.setClassName(\"shadow\"),i._domNode.appendChild(i._topShadowDomNode.domNode),i._topLeftShadowDomNode=Up(document.createElement(\"div\")),i._topLeftShadowDomNode.setClassName(\"shadow top-left-corner\"),i._domNode.appendChild(i._topLeftShadowDomNode.domNode)),i._listenOnDomNode=i._options.listenOnDomNode||i._domNode,i._mouseWheelToDispose=[],i._setListeningToMouseWheel(i._options.handleMouseWheel),i.onmouseover(i._listenOnDomNode,function(e){return i._onMouseOver(e)}),i.onnonbubblingmouseout(i._listenOnDomNode,function(e){return i._onMouseOut(e)}),i._hideTimeout=i._register(new Hl),i._isDragging=!1,i._mouseIsOver=!1,i._shouldRender=!0,i}return pb(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=on(this._mouseWheelToDispose),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getOverviewRulerLayoutInfo=function(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._verticalScrollbar.delegateMouseDown(e)},t.prototype.getScrollDimensions=function(){return this._scrollable.getScrollDimensions()},t.prototype.setScrollDimensions=function(e){this._scrollable.setScrollDimensions(e)},t.prototype.updateClassName=function(e){this._options.className=e,we.d&&(this._options.className+=\" mac\"),this._domNode.className=\"monaco-scrollable-element \"+this._options.className},t.prototype.updateOptions=function(e){var t=_b(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._setListeningToMouseWheel(this._options.handleMouseWheel),this._options.lazyRender||this._render()},t.prototype._setListeningToMouseWheel=function(e){var t=this;if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=on(this._mouseWheelToDispose),e)){var n=function(e){var n=new _c(e);t._onMouseWheel(n)};this._mouseWheelToDispose.push(kc(this._listenOnDomNode,\"mousewheel\",n)),this._mouseWheelToDispose.push(kc(this._listenOnDomNode,\"DOMMouseScroll\",n))}},t.prototype._onMouseWheel=function(e){var t,n=gb.INSTANCE;if(n.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(r=(t=[i,r])[0],i=t[1]);var o=!we.d&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!o||i||(i=r,r=0);var s=this._scrollable.getFutureScrollPosition(),a={};if(r){var u=s.scrollTop-50*r;this._verticalScrollbar.writeScrollPosition(a,u)}if(i){var l=s.scrollLeft-50*i;this._horizontalScrollbar.writeScrollPosition(a,l)}if(a=this._scrollable.validateScrollPosition(a),s.scrollLeft!==a.scrollLeft||s.scrollTop!==a.scrollTop)this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),this._shouldRender=!0}(this._options.alwaysConsumeMouseWheel||this._shouldRender)&&(e.preventDefault(),e.stopPropagation())},t.prototype._onDidScroll=function(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._reveal(),this._options.lazyRender||this._render()},t.prototype.renderNow=function(){if(!this._options.lazyRender)throw new Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()},t.prototype._render=function(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){var e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0;this._leftShadowDomNode.setClassName(\"shadow\"+(n?\" left\":\"\")),this._topShadowDomNode.setClassName(\"shadow\"+(t?\" top\":\"\")),this._topLeftShadowDomNode.setClassName(\"shadow top-left-corner\"+(t?\" top\":\"\")+(n?\" left\":\"\"))}},t.prototype._onDragStart=function(){this._isDragging=!0,this._reveal()},t.prototype._onDragEnd=function(){this._isDragging=!1,this._hide()},t.prototype._onMouseOut=function(e){this._mouseIsOver=!1,this._hide()},t.prototype._onMouseOver=function(e){this._mouseIsOver=!0,this._reveal()},t.prototype._reveal=function(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()},t.prototype._hide=function(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())},t.prototype._scheduleHide=function(){var e=this;this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet(function(){return e._hide()},500)},t}(eb),vb=function(e){function t(t,n){var r=this;(n=n||{}).mouseWheelSmoothScroll=!1;var i=new ss(0,function(e){return Pc(e)});return(r=e.call(this,t,n,i)||this)._register(i),r}return pb(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(mb),yb=function(e){function t(t,n,r){return e.call(this,t,n,r)||this}return pb(t,e),t}(mb),bb=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r._element=t,r.onScroll(function(e){e.scrollTopChanged&&(r._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(r._element.scrollLeft=e.scrollLeft)}),r.scanDomNode(),r}return pb(t,e),t.prototype.scanDomNode=function(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})},t}(vb);function _b(e){var t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:\"\",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:rs.Auto,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:rs.Auto,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,we.d&&(t.className+=\" mac\"),t}var Cb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),wb=function(e){function t(t,n,r,i){var o=e.call(this,t)||this,s=o._context.configuration.editor.viewInfo.scrollbar,a={listenOnDomNode:r.domNode,className:\"editor-scrollable \"+jg(t.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:s.mouseWheelScrollSensitivity};o.scrollbar=o._register(new yb(n.domNode,a,o._context.viewLayout.scrollable)),rf.write(o.scrollbar.getDomNode(),5),o.scrollbarDomNode=Up(o.scrollbar.getDomNode()),o.scrollbarDomNode.setPosition(\"absolute\"),o._setLayout();var u=function(e,t,n){var r={};if(t){var i=e.scrollTop;i&&(r.scrollTop=o._context.viewLayout.getCurrentScrollTop()+i,e.scrollTop=0)}if(n){var s=e.scrollLeft;s&&(r.scrollLeft=o._context.viewLayout.getCurrentScrollLeft()+s,e.scrollLeft=0)}o._context.viewLayout.setScrollPositionNow(r)};return o._register(kc(r.domNode,\"scroll\",function(e){return u(r.domNode,!0,!0)})),o._register(kc(n.domNode,\"scroll\",function(e){return u(n.domNode,!0,!1)})),o._register(kc(i.domNode,\"scroll\",function(e){return u(i.domNode,!0,!1)})),o._register(kc(o.scrollbarDomNode.domNode,\"scroll\",function(e){return u(o.scrollbarDomNode.domNode,!0,!1)})),o}return Cb(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.scrollbarDomNode.setLeft(e.contentLeft),\"right\"===this._context.configuration.editor.viewInfo.minimap.side?this.scrollbarDomNode.setWidth(e.contentWidth+e.minimapWidth):this.scrollbarDomNode.setWidth(e.contentWidth),this.scrollbarDomNode.setHeight(e.contentHeight)},t.prototype.getOverviewRulerLayoutInfo=function(){return this.scrollbar.getOverviewRulerLayoutInfo()},t.prototype.getDomNode=function(){return this.scrollbarDomNode},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.scrollbar.delegateVerticalScrollbarMouseDown(e)},t.prototype.onConfigurationChanged=function(e){if(e.viewInfo){var t=this._context.configuration.editor,n={handleMouseWheel:t.viewInfo.scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:t.viewInfo.scrollbar.mouseWheelScrollSensitivity};this.scrollbar.updateOptions(n)}return e.layoutInfo&&this._setLayout(),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onThemeChanged=function(e){return this.scrollbar.updateClassName(\"editor-scrollable \"+jg(this._context.theme.type)),!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this.scrollbar.renderNow()},t}(nf);n(330);function Db(e){for(var t=new Uint8ClampedArray(e.length),n=0,r=e.length;n<r;n++)t[n]=e[n];return t}var Eb=null;function Ab(){if(!Eb){var e=Db(xb);xb=null;var t=Db(Sb);Sb=null,Eb=new Ld(t,e)}return Eb}var Sb=[0,0,0,0,0,0,0,0,39,14,39,14,14,5,29,10,96,96,29,29,0,0,0,0,49,113,195,214,227,166,135,42,40,29,194,38,75,148,197,187,145,0,160,61,75,143,2,183,138,58,163,6,177,223,197,227,38,13,11,4,0,0,0,0,10,54,52,8,62,4,71,122,73,2,19,40,10,50,155,36,79,70,145,121,7,5,0,0,2,1,36,12,204,166,16,5,0,0,0,0,1,0,154,34,0,0,0,0,96,83,0,0,0,0,0,0,0,0,46,34,0,82,2,56,53,3,146,0,146,119,152,132,152,131,145,119,170,42,15,42,15,42,172,194,131,132,0,139,80,28,227,143,159,135,15,118,11,126,171,144,20,124,88,106,217,196,0,106,189,92,168,43,5,130,164,133,130,115,183,65,134,120,141,141,170,196,2,106,31,32,105,2,145,130,116,114,132,135,138,140,138,113,147,137,81,183,129,94,0,0,21,16,4,3,46,34,0,0,45,34,1,0,160,49,0,0,43,143,203,23,1,76,0,0,38,28,131,96,38,28,0,0,168,31,29,191,98,0,118,139,5,113,45,13,37,6,97,115,161,179,204,105,223,224,83,52,111,100,184,186,120,132,212,145,180,139,174,161,212,182,104,162,131,0,131,0,104,161,219,120,110,116,110,116,219,120,207,154,163,40,147,22,207,154,202,159,161,47,145,23,111,0,139,154,144,30,144,135,139,187,110,110,168,161,150,145,110,110,185,162,43,16,43,16,185,162,73,129,0,110,0,110,191,87,149,149,236,48,195,91,146,149,146,0,146,0,146,0,187,173,200,201,222,215,172,147,95,95,193,97,224,129,159,206,97,192,155,139,153,115,153,115,156,140,189,158,123,136,190,64,111,0,155,139,153,115,153,114,156,241,197,148,150,152,170,116,110,157,156,128,169,14,13,159,158,149,212,189,43,16,43,16,43,16,148,110,148,110,147,109,182,151,133,121,106,118,114,103,89,66,94,94,211,188,205,207,139,168,151,152,87,76,101,79,151,152,130,156,125,116,47,29,43,16,169,228,11,103,120,6,230,176,55,49,55,6,55,6,193,102,92,0,71,0,13,30,0,147,63,43,12,43,12,43,142,152,71,53,61,61,0,0,0,0,0,0,0,0,0,0,158,146,25,2,0,0,0,0,0,0,0,0,107,130,170,194,176,188,109,0,203,159,113,111,202,158,0,0,135,135,114,0,136,135,0,109,187,190,148,126,177,187,0,0,149,130,218,105,169,135,37,113,146,113,49,13,49,13,0,0,178,195,147,114,255,255,109,0,193,149,110,109,109,109,12,15,125,41,33,41,144,188,1,6,75,53,10,53,210,161,110,0,152,148,210,60,110,156,213,5,63,5,63,5,45,111,0,0,232,172,190,168,190,169,0,0,190,144,109,109,109,109,0,0,168,140,148,111,168,140,0,0,200,151,113,110,255,158,0,0,184,188,147,139,186,255,0,0,122,130,111,0,109,0,0,0,132,69,109,93,110,136,51,5,205,103,61,6,47,106,0,0,110,109,110,122,155,179,0,0,132,120,113,114,84,63,0,0,124,108,202,189,160,174,0,0,144,142,79,57,159,146,0,0,138,138,119,117,255,69,0,0,97,198,47,38,208,84,23,112,41,14,157,7,121,192,35,11,35,11,35,11,160,61,129,9,40,19,20,139,236,44,0,0,15,3,97,93,0,0],xb=[0,0,23,12,53,0,130,127,58,149,67,77,72,198,13,0,25,51,25,49,94,2,8,64,0,24,0,21,0,9,19,27,126,126,51,80,72,105,87,98,73,93,106,85,111,123,87,30,116,126,123,110,4,16,9,28,21,53,8,62,23,52,73,21,132,183,78,142,168,175,70,70,128,128,123,110,125,43,100,139,125,119,78,78,54,77,139,139,33,87,201,117,162,149,130,130,138,60,130,172,149,127,95,98,95,25,118,135,110,85,147,175,105,110,121,30,101,113,34,68,20,26,34,68,56,0,0,44,3,0,27,175,80,133,31,66,85,147,32,150,90,25,45,230,77,101,36,83,22,84,71,118,44,44,52,172,38,101,35,130,40,197,43,197,29,26,23,103,67,44,25,129,29,85,27,177,33,97,32,145,33,77,38,96,20,55,36,95,2,22],Mb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function Nb(e){return 2===e?4:4===e?6:1===e?2:3}function Ib(e){return 2===e?2:4===e?2:1}var Lb=140,kb=function(){function e(e){var t=e.editor.pixelRatio,n=e.editor.layoutInfo,r=e.editor.viewInfo,i=e.editor.fontInfo;this.renderMinimap=0|n.renderMinimap,this.scrollBeyondLastLine=r.scrollBeyondLastLine,this.showSlider=r.minimap.showSlider,this.pixelRatio=t,this.typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this.lineHeight=e.editor.lineHeight,this.minimapLeft=n.minimapLeft,this.minimapWidth=n.minimapWidth,this.minimapHeight=n.height,this.canvasInnerWidth=Math.max(1,Math.floor(t*this.minimapWidth)),this.canvasInnerHeight=Math.max(1,Math.floor(t*this.minimapHeight)),this.canvasOuterWidth=this.canvasInnerWidth/t,this.canvasOuterHeight=this.canvasInnerHeight/t}return e.prototype.equals=function(e){return this.renderMinimap===e.renderMinimap&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight},e}(),Tb=function(){function e(e,t,n,r,i,o,s){this.scrollTop=e,this.scrollHeight=t,this._computedSliderRatio=n,this.sliderTop=r,this.sliderHeight=i,this.startLineNumber=o,this.endLineNumber=s}return e.prototype.getDesiredScrollTopFromDelta=function(e){var t=this.sliderTop+e;return Math.round(t/this._computedSliderRatio)},e.create=function(t,n,r,i,o,s,a,u,l){var c,h,d=t.pixelRatio,p=Nb(t.renderMinimap),f=Math.floor(t.canvasInnerHeight/p),g=t.lineHeight;if(o&&r!==s){var m=r-n+1;c=Math.floor(m*p/d)}else{var v=i/g;c=Math.floor(v*p/d)}h=t.scrollBeyondLastLine?(s-1)*p/d:Math.max(0,s*p/d-c);var y=(h=Math.min(t.minimapHeight-c,h))/(u-i),b=a*y;if(f>=s)return new e(a,u,y,b,c,_=1,s);var _=Math.max(1,Math.floor(n-b*d/p));return l&&l.scrollHeight===u&&(l.scrollTop>a&&(_=Math.min(_,l.startLineNumber)),l.scrollTop<a&&(_=Math.max(_,l.startLineNumber))),new e(a,u,y,b,c,_,Math.min(s,_+f-1))},e}(),Fb=function(){function e(e){this.dy=e}return e.prototype.onContentChanged=function(){this.dy=-1},e.prototype.onTokensChanged=function(){this.dy=-1},e.INVALID=new e(-1),e}(),Ob=function(){function e(e,t,n){this.renderedLayout=e,this._imageData=t,this._renderedLines=new Vv(function(){return Fb.INVALID}),this._renderedLines._set(e.startLineNumber,n)}return e.prototype.linesEquals=function(e){if(this.renderedLayout.startLineNumber!==e.startLineNumber)return!1;if(this.renderedLayout.endLineNumber!==e.endLineNumber)return!1;for(var t=this._renderedLines._get().lines,n=0,r=t.length;n<r;n++)if(-1===t[n].dy)return!1;return!0},e.prototype._get=function(){var e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}},e.prototype.onLinesChanged=function(e){return this._renderedLines.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){this._renderedLines.onLinesDeleted(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesInserted=function(e){this._renderedLines.onLinesInserted(e.fromLineNumber,e.toLineNumber)},e.prototype.onTokensChanged=function(e){return this._renderedLines.onTokensChanged(e.ranges)},e}(),Pb=function(){function e(t,n,r,i){this._backgroundFillData=e._createBackgroundFillData(n,r,i),this._buffers=[t.createImageData(n,r),t.createImageData(n,r)],this._lastUsedBuffer=0}return e.prototype.getBuffer=function(){this._lastUsedBuffer=1-this._lastUsedBuffer;var e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e},e._createBackgroundFillData=function(e,t,n){for(var r=n.r,i=n.g,o=n.b,s=new Uint8ClampedArray(e*t*4),a=0,u=0;u<t;u++)for(var l=0;l<e;l++)s[a]=r,s[a+1]=i,s[a+2]=o,s[a+3]=255,a+=4;return s},e}(),Bb=function(e){function t(t){var n=e.call(this,t)||this;return n._options=new kb(n._context.configuration),n._lastRenderData=null,n._buffers=null,n._domNode=Up(document.createElement(\"div\")),rf.write(n._domNode,8),n._domNode.setClassName(n._getMinimapDomNodeClassName()),n._domNode.setPosition(\"absolute\"),n._domNode.setAttribute(\"role\",\"presentation\"),n._domNode.setAttribute(\"aria-hidden\",\"true\"),n._shadow=Up(document.createElement(\"div\")),n._shadow.setClassName(\"minimap-shadow-hidden\"),n._domNode.appendChild(n._shadow),n._canvas=Up(document.createElement(\"canvas\")),n._canvas.setPosition(\"absolute\"),n._canvas.setLeft(0),n._domNode.appendChild(n._canvas),n._slider=Up(document.createElement(\"div\")),n._slider.setPosition(\"absolute\"),n._slider.setClassName(\"minimap-slider\"),n._slider.setLayerHinting(!0),n._domNode.appendChild(n._slider),n._sliderHorizontal=Up(document.createElement(\"div\")),n._sliderHorizontal.setPosition(\"absolute\"),n._sliderHorizontal.setClassName(\"minimap-slider-horizontal\"),n._slider.appendChild(n._sliderHorizontal),n._tokensColorTracker=Id.getInstance(),n._applyLayout(),n._mouseDownListener=Tc(n._canvas.domNode,\"mousedown\",function(e){e.preventDefault();var t=n._options.renderMinimap;if(0!==t&&n._lastRenderData){var r=Nb(t),i=n._options.pixelRatio*e.browserEvent.offsetY,o=Math.floor(i/r)+n._lastRenderData.renderedLayout.startLineNumber;o=Math.min(o,n._context.model.getLineCount()),n._context.privateViewEventBus.emit(new jh(new be(o,1,o,1),1,!1,0))}}),n._sliderMouseMoveMonitor=new Tm,n._sliderMouseDownListener=Tc(n._slider.domNode,\"mousedown\",function(e){if(e.preventDefault(),e.leftButton&&n._lastRenderData){var t=e.posy,r=e.posx,i=n._lastRenderData.renderedLayout;n._slider.toggleClassName(\"active\",!0),n._sliderMouseMoveMonitor.startMonitoring(km,function(e){var o=Math.abs(e.posx-r);if(we.g&&o>Lb)n._context.viewLayout.setScrollPositionNow({scrollTop:i.scrollTop});else{var s=e.posy-t;n._context.viewLayout.setScrollPositionNow({scrollTop:i.getDesiredScrollTopFromDelta(s)})}},function(){n._slider.toggleClassName(\"active\",!1)})}}),n}return Mb(t,e),t.prototype.dispose=function(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),e.prototype.dispose.call(this)},t.prototype._getMinimapDomNodeClassName=function(){return\"always\"===this._options.showSlider?\"minimap slider-always\":\"minimap slider-mouseover\"},t.prototype.getDomNode=function(){return this._domNode},t.prototype._applyLayout=function(){this._domNode.setLeft(this._options.minimapLeft),this._domNode.setWidth(this._options.minimapWidth),this._domNode.setHeight(this._options.minimapHeight),this._shadow.setHeight(this._options.minimapHeight),this._canvas.setWidth(this._options.canvasOuterWidth),this._canvas.setHeight(this._options.canvasOuterHeight),this._canvas.domNode.width=this._options.canvasInnerWidth,this._canvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new Pb(this._canvas.domNode.getContext(\"2d\"),this._options.canvasInnerWidth,this._options.canvasInnerHeight,this._tokensColorTracker.getColor(2))),this._buffers.getBuffer()},t.prototype._onOptionsMaybeChanged=function(){var e=new kb(this._context.configuration);return!this._options.equals(e)&&(this._options=e,this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName()),!0)},t.prototype.onConfigurationChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.onFlushed=function(e){return this._lastRenderData=null,!0},t.prototype.onLinesChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e),!0},t.prototype.onLinesInserted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)},t.prototype.onTokensColorsChanged=function(e){return this._lastRenderData=null,this._buffers=null,!0},t.prototype.onZonesChanged=function(e){return this._lastRenderData=null,!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){if(0===this._options.renderMinimap)return this._shadow.setClassName(\"minimap-shadow-hidden\"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName(\"minimap-shadow-hidden\"):this._shadow.setClassName(\"minimap-shadow-visible\");var t=Tb.create(this._options,e.visibleRange.startLineNumber,e.visibleRange.endLineNumber,e.viewportHeight,e.viewportData.whitespaceViewportData.length>0,this._context.model.getLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight);var n=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,r=Math.min(this._options.minimapWidth,Math.round(n*Ib(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(r),this._sliderHorizontal.setWidth(this._options.minimapWidth-r),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this._lastRenderData=this.renderLines(t)},t.prototype.renderLines=function(e){var n=this._options.renderMinimap,r=e.startLineNumber,i=e.endLineNumber,o=Nb(n);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new Ob(e,s.imageData,s.lines)}for(var a=this._getBuffer(),u=t._renderUntouchedLines(a,r,i,o,this._lastRenderData),l=u[0],c=u[1],h=u[2],d=this._context.model.getMinimapLinesRenderingData(r,i,h),p=d.tabSize,f=this._tokensColorTracker.getColor(2),g=this._tokensColorTracker.backgroundIsLight(),m=0,v=[],y=0,b=i-r+1;y<b;y++)h[y]&&t._renderLine(a,f,g,n,this._tokensColorTracker,Ab(),m,p,d.data[y]),v[y]=new Fb(m),m+=o;var _=-1===l?0:l,C=(-1===c?a.height:c)-_;return this._canvas.domNode.getContext(\"2d\").putImageData(a,0,0,0,_,a.width,C),new Ob(e,a,v)},t._renderUntouchedLines=function(e,t,n,r,i){var o=[];if(!i){for(var s=0,a=n-t+1;s<a;s++)o[s]=!0;return[-1,-1,o]}for(var u=i._get(),l=u.imageData.data,c=u.rendLineNumberStart,h=u.lines,d=h.length,p=e.width,f=e.data,g=(n-t+1)*r*p*4,m=-1,v=-1,y=-1,b=-1,_=-1,C=-1,w=0,D=t;D<=n;D++){var E=D-t,A=D-c,S=A>=0&&A<d?h[A].dy:-1;if(-1!==S){var x=S*p*4,M=(S+r)*p*4,N=w*p*4,I=(w+r)*p*4;b===x&&C===N?(b=M,C=I):(-1!==y&&(f.set(l.subarray(y,b),_),-1===m&&0===y&&y===_&&(m=b),-1===v&&b===g&&y===_&&(v=y)),y=x,b=M,_=N,C=I),o[E]=!1,w+=r}else o[E]=!0,w+=r}return-1!==y&&(f.set(l.subarray(y,b),_),-1===m&&0===y&&y===_&&(m=b),-1===v&&b===g&&y===_&&(v=y)),[-1===m?-1:m/(4*p),-1===v?-1:v/(4*p),o]},t._renderLine=function(e,t,n,r,i,o,s,a,u){for(var l=u.content,c=u.tokens,h=Ib(r),d=e.width-h,p=0,f=0,g=0,m=0,v=c.getCount();m<v;m++)for(var y=c.getEndOffset(m),b=c.getForeground(m),_=i.getColor(b);f<y;f++){if(p>d)return;var C=l.charCodeAt(f);if(9===C){var w=a-(f+g)%a;g+=w-1,p+=w*h}else if(32===C)p+=h;else for(var D=Ht(C)?2:1,E=0;E<D;E++)2===r?o.x2RenderChar(e,p,s,C,_,t,n):1===r?o.x1RenderChar(e,p,s,C,_,t,n):4===r?o.x2BlockRenderChar(e,p,s,_,t,n):o.x1BlockRenderChar(e,p,s,_,t,n),p+=h}},t}(nf);Vg(function(e,t){var n=e.getColor(Zf);if(n){var r=n.transparent(.5);t.addRule(\".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: \"+r+\"; }\")}var i=e.getColor(Gf);if(i){var o=i.transparent(.5);t.addRule(\".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: \"+o+\"; }\")}var s=e.getColor(Kf);if(s){var a=s.transparent(.5);t.addRule(\".monaco-editor .minimap-slider.active, .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: \"+a+\"; }\")}var u=e.getColor(Yf);u&&t.addRule(\".monaco-editor .minimap-shadow-visible { box-shadow: \"+u+\" -6px 0 6px -6px inset; }\")});var Rb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),jb=function(e){function t(t,n,r,i,o,s){var a=e.call(this)||this;a._cursor=o,a._renderAnimationFrame=null,a.outgoingEvents=new Qy(i);var u=new zv(n,i,s,a.outgoingEvents,t);return a.eventDispatcher=new Wv(function(e){return a._renderOnce(e)}),a.eventDispatcher.addEventHandler(a),a._context=new Ky(n,r.getTheme(),i,a.eventDispatcher),a._register(r.onThemeChange(function(e){a._context.theme=e,a.eventDispatcher.emit(new Vh),a.render(!0,!1)})),a.viewParts=[],a._textAreaHandler=new Sm(a._context,u,a.createTextAreaHandlerHelper()),a.viewParts.push(a._textAreaHandler),a.createViewParts(),a._setLayout(),a.pointerHandler=new jv(a._context,u,a.createPointerHandlerHelper()),a._register(i.addEventListener(function(e){a.eventDispatcher.emitMany(e)})),a._register(a._cursor.addEventListener(function(e){a.eventDispatcher.emitMany(e)})),a}return Rb(t,e),t.prototype.createViewParts=function(){this.linesContent=Up(document.createElement(\"div\")),this.linesContent.setClassName(\"lines-content monaco-editor-background\"),this.linesContent.setPosition(\"absolute\"),this.domNode=Up(document.createElement(\"div\")),this.domNode.setClassName(this.getEditorClassName()),this.overflowGuardContainer=Up(document.createElement(\"div\")),rf.write(this.overflowGuardContainer,3),this.overflowGuardContainer.setClassName(\"overflow-guard\"),this._scrollbar=new wb(this._context,this.linesContent,this.domNode,this.overflowGuardContainer),this.viewParts.push(this._scrollbar),this.viewLines=new gy(this._context,this.linesContent),this.viewZones=new Gy(this._context),this.viewParts.push(this.viewZones);var e=new Ey(this._context);this.viewParts.push(e);var t=new Ty(this._context);this.viewParts.push(t);var n=new Kv(this._context);this.viewParts.push(n),n.addDynamicOverlay(new ty(this._context)),n.addDynamicOverlay(new zy(this._context)),n.addDynamicOverlay(new hy(this._context)),n.addDynamicOverlay(new oy(this._context));var r=new qv(this._context);this.viewParts.push(r),r.addDynamicOverlay(new ry(this._context)),r.addDynamicOverlay(new ly(this._context)),r.addDynamicOverlay(new by(this._context)),r.addDynamicOverlay(new vy(this._context)),r.addDynamicOverlay(new Cm(this._context));var i=new sf(this._context);i.getDomNode().appendChild(this.viewZones.marginDomNode),i.getDomNode().appendChild(r.getDomNode()),this.viewParts.push(i),this.contentWidgets=new Jv(this._context,this.domNode),this.viewParts.push(this.contentWidgets),this.viewCursors=new Yy(this._context),this.viewParts.push(this.viewCursors),this.overlayWidgets=new Cy(this._context),this.viewParts.push(this.overlayWidgets);var o=new Ly(this._context);this.viewParts.push(o);var s=new Bb(this._context);if(this.viewParts.push(s),e){var a=this._scrollbar.getOverviewRulerLayoutInfo();a.parent.insertBefore(e.getDomNode(),a.insertBefore)}this.linesContent.appendChild(n.getDomNode()),this.linesContent.appendChild(o.domNode),this.linesContent.appendChild(this.viewZones.domNode),this.linesContent.appendChild(this.viewLines.getDomNode()),this.linesContent.appendChild(this.contentWidgets.domNode),this.linesContent.appendChild(this.viewCursors.getDomNode()),this.overflowGuardContainer.appendChild(i.getDomNode()),this.overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this.overflowGuardContainer.appendChild(t.getDomNode()),this.overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this.overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this.overflowGuardContainer.appendChild(this.overlayWidgets.getDomNode()),this.overflowGuardContainer.appendChild(s.getDomNode()),this.domNode.appendChild(this.overflowGuardContainer),this.domNode.appendChild(this.contentWidgets.overflowingContentWidgetsDomNode)},t.prototype._flushAccumulatedAndRenderNow=function(){this._renderNow()},t.prototype.createPointerHandlerHelper=function(){var e=this;return{viewDomNode:this.domNode.domNode,linesContentDomNode:this.linesContent.domNode,focusTextArea:function(){e.focus()},getLastViewCursorsRenderData:function(){return e.viewCursors.getLastRenderData()||[]},shouldSuppressMouseDownOnViewZone:function(t){return e.viewZones.shouldSuppressMouseDownOnViewZone(t)},shouldSuppressMouseDownOnWidget:function(t){return e.contentWidgets.shouldSuppressMouseDownOnWidget(t)},getPositionFromDOMInfo:function(t,n){return e._flushAccumulatedAndRenderNow(),e.viewLines.getPositionFromDOMInfo(t,n)},visibleRangeForPosition2:function(t,n){e._flushAccumulatedAndRenderNow();var r=e.viewLines.visibleRangesForRange2(new be(t,n,t,n));return r?r[0]:null},getLineWidth:function(t){return e._flushAccumulatedAndRenderNow(),e.viewLines.getLineWidth(t)}}},t.prototype.createTextAreaHandlerHelper=function(){var e=this;return{visibleRangeForPositionRelativeToEditor:function(t,n){e._flushAccumulatedAndRenderNow();var r=e.viewLines.visibleRangesForRange2(new be(t,n,t,n));return r?r[0]:null}}},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this.overflowGuardContainer.setWidth(e.width),this.overflowGuardContainer.setHeight(e.height),this.linesContent.setWidth(1e6),this.linesContent.setHeight(1e6)},t.prototype.getEditorClassName=function(){var e=this._textAreaHandler.isFocused()?\" focused\":\"\";return this._context.configuration.editor.editorClassName+\" \"+jg(this._context.theme.type)+e},t.prototype.onConfigurationChanged=function(e){return e.editorClassName&&this.domNode.setClassName(this.getEditorClassName()),e.layoutInfo&&this._setLayout(),!1},t.prototype.onFocusChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),this._context.model.setHasFocus(e.isFocused),e.isFocused?this.outgoingEvents.emitViewFocusGained():this.outgoingEvents.emitViewFocusLost(),!1},t.prototype.onScrollChanged=function(e){return this.outgoingEvents.emitScrollChanged(e),!1},t.prototype.onThemeChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),!1},t.prototype.dispose=function(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this.eventDispatcher.removeEventHandler(this),this.outgoingEvents.dispose(),this.pointerHandler.dispose(),this.viewLines.dispose();for(var t=0,n=this.viewParts.length;t<n;t++)this.viewParts[t].dispose();this.viewParts=[],e.prototype.dispose.call(this)},t.prototype._renderOnce=function(e){var t=zb(e);return this._scheduleRender(),t},t.prototype._scheduleRender=function(){null===this._renderAnimationFrame&&(this._renderAnimationFrame=Oc(this._onRenderScheduled.bind(this),100))},t.prototype._onRenderScheduled=function(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()},t.prototype._renderNow=function(){var e=this;zb(function(){return e._actualRender()})},t.prototype._getViewPartsToRender=function(){for(var e=[],t=0,n=0,r=this.viewParts.length;n<r;n++){var i=this.viewParts[n];i.shouldRender()&&(e[t++]=i)}return e},t.prototype._actualRender=function(){if(function(e){for(;e;){if(e===document.body)return!0;e=e.parentNode}return!1}(this.domNode.domNode)){var e=this._getViewPartsToRender();if(this.viewLines.shouldRender()||0!==e.length){var t=this._context.viewLayout.getLinesViewportData();this._context.model.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);var n=new Jy(this._cursor.getViewSelections(),t,this._context.viewLayout.getWhitespaceViewportData(),this._context.model);this.contentWidgets.shouldRender()&&this.contentWidgets.onBeforeRender(n),this.viewLines.shouldRender()&&(this.viewLines.renderText(n),this.viewLines.onDidRender(),e=this._getViewPartsToRender());for(var r=new iv(this._context.viewLayout,n,this.viewLines),i=0,o=e.length;i<o;i++){(s=e[i]).prepareRender(r)}for(i=0,o=e.length;i<o;i++){var s;(s=e[i]).render(r),s.onDidRender()}}}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._scrollbar.delegateVerticalScrollbarMouseDown(e)},t.prototype.restoreState=function(e){this._context.viewLayout.setScrollPositionNow({scrollTop:e.scrollTop}),this._renderNow(),this.viewLines.updateLineWidths(),this._context.viewLayout.setScrollPositionNow({scrollLeft:e.scrollLeft})},t.prototype.getOffsetForColumn=function(e,t){var n=this._context.model.validateModelPosition({lineNumber:e,column:t}),r=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(n);this._flushAccumulatedAndRenderNow();var i=this.viewLines.visibleRangesForRange2(new be(r.lineNumber,r.column,r.lineNumber,r.column));return i?i[0].left:-1},t.prototype.getTargetAtClientPoint=function(e,t){return this.pointerHandler.getTargetAtClientPoint(e,t)},t.prototype.getInternalEventBus=function(){return this.outgoingEvents},t.prototype.createOverviewRuler=function(e){return new Ny(this._context,e)},t.prototype.change=function(e){var t=this,n=!1;return this._renderOnce(function(){var r={addZone:function(e){return n=!0,t.viewZones.addZone(e)},removeZone:function(e){e&&(n=t.viewZones.removeZone(e)||n)},layoutZone:function(e){e&&(n=t.viewZones.layoutZone(e)||n)}};!function(e,t){try{e(t)}catch(e){pn(e)}}(e,r),r.addZone=null,r.removeZone=null,n&&(t._context.viewLayout.onHeightMaybeChanged(),t._context.privateViewEventBus.emit(new Uh))}),n},t.prototype.render=function(e,t){if(t){this.viewLines.forceShouldRender();for(var n=0,r=this.viewParts.length;n<r;n++){this.viewParts[n].forceShouldRender()}}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()},t.prototype.focus=function(){this._textAreaHandler.focusTextArea()},t.prototype.isFocused=function(){return this._textAreaHandler.isFocused()},t.prototype.addContentWidget=function(e){this.contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()},t.prototype.layoutContentWidget=function(e){var t=e.position?e.position.position:null,n=e.position?e.position.preference:null;this.contentWidgets.setWidgetPosition(e.widget,t,n),this._scheduleRender()},t.prototype.removeContentWidget=function(e){this.contentWidgets.removeWidget(e.widget),this._scheduleRender()},t.prototype.addOverlayWidget=function(e){this.overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()},t.prototype.layoutOverlayWidget=function(e){var t=e.position?e.position.preference:null;this.overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()},t.prototype.removeOverlayWidget=function(e){this.overlayWidgets.removeWidget(e.widget),this._scheduleRender()},t}(Zp);function zb(e){try{return e()}catch(e){pn(e)}}var Wb,Vb,Hb=function(){function e(e,t,n,r,i,o){this.id=e,this.label=t,this.alias=n,this._precondition=r,this._run=i,this._contextKeyService=o}return e.prototype.isSupported=function(){return this._contextKeyService.contextMatchesRules(this._precondition)},e.prototype.run=function(){if(!this.isSupported())return cn.b.as(void 0);var e=this._run();return e||cn.b.as(void 0)},e}();(Vb=Wb||(Wb={}))[Vb.Ignore=0]=\"Ignore\",Vb[Vb.Info=1]=\"Info\",Vb[Vb.Warning=2]=\"Warning\",Vb[Vb.Error=3]=\"Error\",function(e){var t=\"error\",n=\"warning\",r=\"warn\",i=\"info\",o=Object.create(null);o[e.Error]=ns(\"sev.error\",\"Error\"),o[e.Warning]=ns(\"sev.warning\",\"Warning\"),o[e.Info]=ns(\"sev.info\",\"Info\"),e.fromValue=function(o){return o?xt(t,o)?e.Error:xt(n,o)||xt(r,o)?e.Warning:xt(i,o)?e.Info:e.Ignore:e.Ignore}}(Wb||(Wb={}));var Ub=Wb,Yb=Or(\"notificationService\"),Zb=function(){function e(){this.progress=new Gb,this._onDidClose=new wn}return Object.defineProperty(e.prototype,\"onDidClose\",{get:function(){return this._onDidClose.event},enumerable:!0,configurable:!0}),e.prototype.updateSeverity=function(e){},e.prototype.updateMessage=function(e){},e.prototype.updateActions=function(e){},e.prototype.close=function(){this._onDidClose.dispose()},e}(),Gb=function(){function e(){}return e.prototype.infinite=function(){},e.prototype.done=function(){},e.prototype.total=function(e){},e.prototype.worked=function(e){},e}(),Kb=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qb=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Qb=function(e,t){return function(n,r){t(n,r,e)}},Xb=function(e){function t(t,n,r,i,o,s,a,u,l){var c=e.call(this,t,n,r,i,a,l)||this;c._onMouseUp=c._register(new wn),c.onMouseUp=c._onMouseUp.event,c._onMouseDown=c._register(new wn),c.onMouseDown=c._onMouseDown.event,c._onMouseDrag=c._register(new wn),c.onMouseDrag=c._onMouseDrag.event,c._onMouseDrop=c._register(new wn),c.onMouseDrop=c._onMouseDrop.event,c._onContextMenu=c._register(new wn),c.onContextMenu=c._onContextMenu.event,c._onMouseMove=c._register(new wn),c.onMouseMove=c._onMouseMove.event,c._onMouseLeave=c._register(new wn),c.onMouseLeave=c._onMouseLeave.event,c._onKeyUp=c._register(new wn),c.onKeyUp=c._onKeyUp.event,c._onKeyDown=c._register(new wn),c.onKeyDown=c._onKeyDown.event,c._onDidScrollChange=c._register(new wn),c.onDidScrollChange=c._onDidScrollChange.event,c._onDidChangeViewZones=c._register(new wn),c.onDidChangeViewZones=c._onDidChangeViewZones.event,c._codeEditorService=o,c._commandService=s,c._themeService=u,c._focusTracker=new Jb(t),c._focusTracker.onChange(function(){c._editorFocus.setValue(c._focusTracker.hasFocus())}),c.contentWidgets={},c.overlayWidgets={};for(var h=c._getContributions(),d=0,p=h.length;d<p;d++){var f=h[d];try{var g=c._instantiationService.createInstance(f,c);c._contributions[g.getId()]=g}catch(e){pn(e)}}return c._getActions().forEach(function(e){var t=new Hb(e.id,e.label,e.alias,e.precondition,function(){return c._instantiationService.invokeFunction(function(t){return e.runEditorCommand(t,c,null)})},c._contextKeyService);c._actions[t.id]=t}),c._codeEditorService.addCodeEditor(c),c}return Kb(t,e),t.prototype._createConfiguration=function(e){return new Vp(e,this.domElement)},t.prototype.dispose=function(){this._codeEditorService.removeCodeEditor(this),this.contentWidgets={},this.overlayWidgets={},this._focusTracker.dispose(),e.prototype.dispose.call(this)},t.prototype.createOverviewRuler=function(e){return this._view.createOverviewRuler(e)},t.prototype.getDomNode=function(){return this.hasView?this._view.domNode.domNode:null},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.hasView&&this._view.delegateVerticalScrollbarMouseDown(e)},t.prototype.layout=function(e){this._configuration.observeReferenceElement(e),this.render()},t.prototype.focus=function(){this.hasView&&this._view.focus()},t.prototype.isFocused=function(){return this.hasView&&this._view.isFocused()},t.prototype.hasWidgetFocus=function(){return this._focusTracker&&this._focusTracker.hasFocus()},t.prototype.addContentWidget=function(e){var t={widget:e,position:e.getPosition()};this.contentWidgets.hasOwnProperty(e.getId())&&console.warn(\"Overwriting a content widget with the same id.\"),this.contentWidgets[e.getId()]=t,this.hasView&&this._view.addContentWidget(t)},t.prototype.layoutContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var n=this.contentWidgets[t];n.position=e.getPosition(),this.hasView&&this._view.layoutContentWidget(n)}},t.prototype.removeContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var n=this.contentWidgets[t];delete this.contentWidgets[t],this.hasView&&this._view.removeContentWidget(n)}},t.prototype.addOverlayWidget=function(e){var t={widget:e,position:e.getPosition()};this.overlayWidgets.hasOwnProperty(e.getId())&&console.warn(\"Overwriting an overlay widget with the same id.\"),this.overlayWidgets[e.getId()]=t,this.hasView&&this._view.addOverlayWidget(t)},t.prototype.layoutOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var n=this.overlayWidgets[t];n.position=e.getPosition(),this.hasView&&this._view.layoutOverlayWidget(n)}},t.prototype.removeOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var n=this.overlayWidgets[t];delete this.overlayWidgets[t],this.hasView&&this._view.removeOverlayWidget(n)}},t.prototype.changeViewZones=function(e){this.hasView&&(this._view.change(e)&&this._onDidChangeViewZones.fire())},t.prototype.getTargetAtClientPoint=function(e,t){return this.hasView?this._view.getTargetAtClientPoint(e,t):null},t.prototype.getScrolledVisiblePosition=function(e){if(!this.hasView)return null;var t=this.model.validatePosition(e),n=this._configuration.editor.layoutInfo;return{top:this._getVerticalOffsetForPosition(t.lineNumber,t.column)-this.getScrollTop(),left:this._view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft(),height:this._configuration.editor.lineHeight}},t.prototype.getOffsetForColumn=function(e,t){return this.hasView?this._view.getOffsetForColumn(e,t):-1},t.prototype.render=function(){this.hasView&&this._view.render(!0,!1)},t.prototype.applyFontInfo=function(e){Vp.applyFontInfoSlow(e,this._configuration.editor.fontInfo)},t.prototype._attachModel=function(t){if(this._view=null,e.prototype._attachModel.call(this,t),this._view){this.domElement.appendChild(this._view.domNode.domNode);for(var n=Object.keys(this.contentWidgets),r=0,i=n.length;r<i;r++){var o=n[r];this._view.addContentWidget(this.contentWidgets[o])}for(r=0,i=(n=Object.keys(this.overlayWidgets)).length;r<i;r++){o=n[r];this._view.addOverlayWidget(this.overlayWidgets[o])}this._view.render(!1,!0),this.hasView=!0,this._view.domNode.domNode.setAttribute(\"data-uri\",t.uri.toString())}},t.prototype._scheduleAtNextAnimationFrame=function(e){return Pc(e)},t.prototype._createView=function(){var e,t=this;e=this.isSimpleWidget?{paste:function(e,n,r,i){t.cursor.trigger(e,Ce.Paste,{text:n,pasteOnNewLine:r,multicursorText:i})},type:function(e,n){t.cursor.trigger(e,Ce.Type,{text:n})},replacePreviousChar:function(e,n,r){t.cursor.trigger(e,Ce.ReplacePreviousChar,{text:n,replaceCharCnt:r})},compositionStart:function(e){t.cursor.trigger(e,Ce.CompositionStart,void 0)},compositionEnd:function(e){t.cursor.trigger(e,Ce.CompositionEnd,void 0)},cut:function(e){t.cursor.trigger(e,Ce.Cut,void 0)}}:{paste:function(e,n,r,i){t._commandService.executeCommand(Ce.Paste,{text:n,pasteOnNewLine:r,multicursorText:i})},type:function(e,n){t._commandService.executeCommand(Ce.Type,{text:n})},replacePreviousChar:function(e,n,r){t._commandService.executeCommand(Ce.ReplacePreviousChar,{text:n,replaceCharCnt:r})},compositionStart:function(e){t._commandService.executeCommand(Ce.CompositionStart,{})},compositionEnd:function(e){t._commandService.executeCommand(Ce.CompositionEnd,{})},cut:function(e){t._commandService.executeCommand(Ce.Cut,{})}},this._view=new jb(e,this._configuration,this._themeService,this.viewModel,this.cursor,function(e,n){t.cursor&&e.runCoreEditorCommand(t.cursor,n)});var n=this._view.getInternalEventBus();n.onDidGainFocus=function(){t._editorTextFocus.setValue(!0),t._editorFocus.setValue(!0)},n.onDidScroll=function(e){return t._onDidScrollChange.fire(e)},n.onDidLoseFocus=function(){return t._editorTextFocus.setValue(!1)},n.onContextMenu=function(e){return t._onContextMenu.fire(e)},n.onMouseDown=function(e){return t._onMouseDown.fire(e)},n.onMouseUp=function(e){return t._onMouseUp.fire(e)},n.onMouseDrag=function(e){return t._onMouseDrag.fire(e)},n.onMouseDrop=function(e){return t._onMouseDrop.fire(e)},n.onKeyUp=function(e){return t._onKeyUp.fire(e)},n.onMouseMove=function(e){return t._onMouseMove.fire(e)},n.onMouseLeave=function(e){return t._onMouseLeave.fire(e)},n.onKeyDown=function(e){return t._onKeyDown.fire(e)}},t.prototype.restoreViewState=function(t){if(e.prototype.restoreViewState.call(this,t),this.cursor&&this.hasView&&t&&t.cursorState&&t.viewState){var n=this.viewModel.reduceRestoreState(t.viewState),r=this.viewModel.viewLayout.getLinesViewportDataAtScrollTop(n.scrollTop),i=this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ye(r.startLineNumber,1)),o=this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ye(r.endLineNumber,1));this.model.tokenizeViewport(i.lineNumber,o.lineNumber),this._view.restoreState(n)}},t.prototype._detachModel=function(){var t=null;this._view&&(this._view.dispose(),t=this._view.domNode.domNode,this._view=null);var n=e.prototype._detachModel.call(this);return t&&this.domElement.removeChild(t),n},t.prototype._registerDecorationType=function(e,t,n){this._codeEditorService.registerDecorationType(e,t,n)},t.prototype._removeDecorationType=function(e){this._codeEditorService.removeDecorationType(e)},t.prototype._resolveDecorationOptions=function(e,t){return this._codeEditorService.resolveDecorationOptions(e,t)},t.prototype._triggerEditorCommand=function(e,t,n){var r=Gu.getEditorCommand(t);return!!r&&((n=n||{}).source=e,cn.b.as(r.runEditorCommand(null,this,n)).done(null,pn),!0)},t=qb([Qb(3,Tr),Qb(4,Wu),Qb(5,Za),Qb(6,Su),Qb(7,Og),Qb(8,Yb)],t)}(Kd),Jb=function(e){function t(t){var n=e.call(this)||this;return n._onChange=n._register(new wn),n.onChange=n._onChange.event,n._hasFocus=!1,n._domFocusTracker=n._register(mh(t)),n._register(n._domFocusTracker.onDidFocus(function(){n._hasFocus=!0,n._onChange.fire(void 0)})),n._register(n._domFocusTracker.onDidBlur(function(){n._hasFocus=!1,n._onChange.fire(void 0)})),n}return Kb(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t}(un),$b=encodeURIComponent(\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='\"),e_=encodeURIComponent(\"'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>\");function t_(e){return $b+encodeURIComponent(e.toString())+e_}var n_=encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"3\" width=\"12\"><g fill=\"'),r_=encodeURIComponent('\"><circle cx=\"1\" cy=\"1\" r=\"1\"/><circle cx=\"5\" cy=\"1\" r=\"1\"/><circle cx=\"9\" cy=\"1\" r=\"1\"/></g></svg>');Vg(function(e,t){var n=e.getColor(am);n&&t.addRule(\".monaco-editor .\"+Wi+\" { border-bottom: 4px double \"+n+\"; }\");var r=e.getColor(sm);r&&t.addRule(\".monaco-editor .\"+Wi+' { background: url(\"data:image/svg+xml,'+t_(r)+'\") repeat-x bottom left; }');var i=e.getColor(lm);i&&t.addRule(\".monaco-editor .\"+zi+\" { border-bottom: 4px double \"+i+\"; }\");var o=e.getColor(um);o&&t.addRule(\".monaco-editor .\"+zi+' { background: url(\"data:image/svg+xml,'+t_(o)+'\") repeat-x bottom left; }');var s=e.getColor(hm);s&&t.addRule(\".monaco-editor .\"+ji+\" { border-bottom: 4px double \"+s+\"; }\");var a=e.getColor(cm);a&&t.addRule(\".monaco-editor .\"+ji+' { background: url(\"data:image/svg+xml,'+t_(a)+'\") repeat-x bottom left; }');var u=e.getColor(pm);u&&t.addRule(\".monaco-editor .\"+Ri+\" { border-bottom: 2px dotted \"+u+\"; }\");var l=e.getColor(dm);l&&t.addRule(\".monaco-editor .\"+Ri+' { background: url(\"data:image/svg+xml,'+(n_+encodeURIComponent(l.toString())+r_)+'\") no-repeat bottom left; }')});n(331);var i_=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),o_=lf(\"editorOverviewRuler.bracketMatchForeground\",{dark:\"#A0A0A0\",light:\"#A0A0A0\",hc:\"#A0A0A0\"},ns(\"overviewRulerBracketMatchForeground\",\"Overview ruler marker color for matching brackets.\")),s_=function(e){function t(){return e.call(this,{id:\"editor.action.jumpToBracket\",label:ns(\"smartSelect.jumpBracket\",\"Go to Bracket\"),alias:\"Go to Bracket\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:3160}})||this}return i_(t,e),t.prototype.run=function(e,t){var n=l_.get(t);n&&n.jumpToBracket()},t}(qu),a_=function(e){function t(){return e.call(this,{id:\"editor.action.selectToBracket\",label:ns(\"smartSelect.selectToBracket\",\"Select to Bracket\"),alias:\"Select to Bracket\",precondition:null})||this}return i_(t,e),t.prototype.run=function(e,t){var n=l_.get(t);n&&n.selectToBracket()},t}(qu),u_=function(){return function(e,t){this.position=e,this.brackets=t}}(),l_=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._lastBracketsData=[],n._lastVersionId=0,n._decorations=[],n._updateBracketsSoon=n._register(new Yl(function(){return n._updateBrackets()},50)),n._matchBrackets=n._editor.getConfiguration().contribInfo.matchBrackets,n._updateBracketsSoon.schedule(),n._register(t.onDidChangeCursorPosition(function(e){n._matchBrackets&&n._updateBracketsSoon.schedule()})),n._register(t.onDidChangeModel(function(e){n._decorations=[],n._updateBracketsSoon.schedule()})),n._register(t.onDidChangeModelLanguageConfiguration(function(e){n._lastBracketsData=[],n._updateBracketsSoon.schedule()})),n._register(t.onDidChangeConfiguration(function(e){n._matchBrackets=n._editor.getConfiguration().contribInfo.matchBrackets,!n._matchBrackets&&n._decorations.length>0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return i_(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){var e=this._editor.getModel();if(e){var t=this._editor.getSelections().map(function(t){var n=t.getStartPosition(),r=e.matchBracket(n),i=null;if(r)r[0].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{var o=e.findNextBracket(n);o&&o.range&&(i=o.range.getStartPosition())}return i?new Ii(i.lineNumber,i.column,i.lineNumber,i.column):new Ii(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){var e=this._editor.getModel();if(e){var t=[];this._editor.getSelections().forEach(function(n){var r=n.getStartPosition(),i=e.matchBracket(r),o=null,s=null;if(!i){var a=e.findNextBracket(r);a&&a.range&&(i=e.matchBracket(a.range.getStartPosition()))}i&&(i[0].startLineNumber===i[1].startLineNumber?(o=i[1].startColumn<i[0].startColumn?i[1].getStartPosition():i[0].getStartPosition(),s=i[1].startColumn<i[0].startColumn?i[0].getEndPosition():i[1].getEndPosition()):(o=i[1].startLineNumber<i[0].startLineNumber?i[1].getStartPosition():i[0].getStartPosition(),s=i[1].startLineNumber<i[0].startLineNumber?i[0].getEndPosition():i[1].getEndPosition())),o&&s&&t.push(new Ii(o.lineNumber,o.column,s.lineNumber,s.column))}),t.length>0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],n=0,r=0,i=this._lastBracketsData.length;r<i;r++){var o=this._lastBracketsData[r].brackets;o&&(e[n++]={range:o[0],options:t._DECORATION_OPTIONS},e[n++]={range:o[1],options:t._DECORATION_OPTIONS})}this._decorations=this._editor.deltaDecorations(this._decorations,e)}},t.prototype._recomputeBrackets=function(){var e=this._editor.getModel();if(!e)return this._lastBracketsData=[],void(this._lastVersionId=0);var t=e.getVersionId(),n=[];this._lastVersionId===t&&(n=this._lastBracketsData);for(var r=this._editor.getSelections(),i=[],o=0,s=0,a=r.length;s<a;s++){var u=r[s];u.isEmpty()&&(i[o++]=u.getStartPosition())}i.length>1&&i.sort(ye.compare);var l=[],c=0,h=0,d=n.length;for(s=0,a=i.length;s<a;s++){for(var p=i[s];h<d&&n[h].position.isBefore(p);)h++;if(h<d&&n[h].position.equals(p))l[c++]=n[h];else{var f=e.matchBracket(p);l[c++]=new u_(p,f)}}this._lastBracketsData=l,this._lastVersionId=t},t.ID=\"editor.contrib.bracketMatchingController\",t._DECORATION_OPTIONS=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"bracket-match\",overviewRuler:{color:Pg(o_),darkColor:Pg(o_),position:Ln.Center}}),t}(un);el(l_),$u(a_),$u(s_),Vg(function(e,t){var n=e.getColor(nm);n&&t.addRule(\".monaco-editor .bracket-match { background-color: \"+n+\"; }\");var r=e.getColor(rm);r&&t.addRule(\".monaco-editor .bracket-match { border: 1px solid \"+r+\"; }\")});var c_=function(){function e(e,t){this._selection=e,this._isMovingLeft=t}return e.prototype.getEditOperations=function(e,t){var n=this._selection;if(this._selectionId=t.trackSelection(n),n.startLineNumber===n.endLineNumber&&(!this._isMovingLeft||0!==n.startColumn)&&(this._isMovingLeft||n.endColumn!==e.getLineMaxColumn(n.startLineNumber))){var r,i,o,s=n.selectionStartLineNumber,a=e.getLineContent(s);this._isMovingLeft?(r=a.substring(0,n.startColumn-2),i=a.substring(n.startColumn-1,n.endColumn-1),o=a.substring(n.startColumn-2,n.startColumn-1)+a.substring(n.endColumn-1)):(r=a.substring(0,n.startColumn-1)+a.substring(n.endColumn-1,n.endColumn),i=a.substring(n.startColumn-1,n.endColumn-1),o=a.substring(n.endColumn));var u=r+i+o;t.addEditOperation(new be(s,1,s,e.getLineMaxColumn(s)),null),t.addEditOperation(new be(s,1,s,1),u),this._cutStartIndex=n.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+n.endColumn-n.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moved&&(n=(n=n.setStartPosition(n.startLineNumber,this._cutStartIndex)).setEndPosition(n.startLineNumber,this._cutEndIndex)),n},e}(),h_=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),d_=function(e){function t(t,n){var r=e.call(this,n)||this;return r.left=t,r}return h_(t,e),t.prototype.run=function(e,t){for(var n=[],r=t.getSelections(),i=0;i<r.length;i++)n.push(new c_(r[i],this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()},t}(qu),p_=function(e){function t(){return e.call(this,!0,{id:\"editor.action.moveCarretLeftAction\",label:ns(\"caret.moveLeft\",\"Move Caret Left\"),alias:\"Move Caret Left\",precondition:nl.writable})||this}return h_(t,e),t}(d_),f_=function(e){function t(){return e.call(this,!1,{id:\"editor.action.moveCarretRightAction\",label:ns(\"caret.moveRight\",\"Move Caret Right\"),alias:\"Move Caret Right\",precondition:nl.writable})||this}return h_(t,e),t}(d_);$u(p_),$u(f_);n(332);var g_=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),m_=\"9_cutcopypaste\",v_=we.e||document.queryCommandSupported(\"cut\"),y_=we.e||document.queryCommandSupported(\"copy\"),b_=y_&&!$l,__=we.e||!nc&&document.queryCommandSupported(\"paste\"),C_=function(e){function t(t,n){var r=e.call(this,n)||this;return r.browserCommand=t,r}return g_(t,e),t.prototype.runCommand=function(e,t){var n=e.get(Wu).getFocusedCodeEditor();n&&n.isFocused()?n.trigger(\"keyboard\",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(qu),w_=function(e){function t(){var t={kbExpr:nl.textInputFocus,primary:2102,win:{primary:2102,secondary:[1044]}};return we.e||(t=null),e.call(this,\"cut\",{id:\"editor.action.clipboardCutAction\",label:ns(\"actions.clipboard.cutLabel\",\"Cut\"),alias:\"Cut\",precondition:nl.writable,kbOpts:t,menuOpts:{group:m_,order:1}})||this}return g_(t,e),t.prototype.run=function(t,n){!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n)},t}(C_),D_=function(e){function t(){var t={kbExpr:nl.textInputFocus,primary:2081,win:{primary:2081,secondary:[2067]}};return we.e||(t=null),e.call(this,\"copy\",{id:\"editor.action.clipboardCopyAction\",label:ns(\"actions.clipboard.copyLabel\",\"Copy\"),alias:\"Copy\",precondition:null,kbOpts:t,menuOpts:{group:m_,order:2}})||this}return g_(t,e),t.prototype.run=function(t,n){!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n)},t}(C_),E_=function(e){function t(){var t={kbExpr:nl.textInputFocus,primary:2100,win:{primary:2100,secondary:[1043]}};return we.e||(t=null),e.call(this,\"paste\",{id:\"editor.action.clipboardPasteAction\",label:ns(\"actions.clipboard.pasteLabel\",\"Paste\"),alias:\"Paste\",precondition:nl.writable,kbOpts:t,menuOpts:{group:m_,order:3}})||this}return g_(t,e),t}(C_),A_=function(e){function t(){return e.call(this,\"copy\",{id:\"editor.action.clipboardCopyWithSyntaxHighlightingAction\",label:ns(\"actions.clipboard.copyWithSyntaxHighlightingLabel\",\"Copy With Syntax Highlighting\"),alias:\"Copy With Syntax Highlighting\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:null}})||this}return g_(t,e),t.prototype.run=function(t,n){!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||(Qp.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,n),Qp.forceCopyWithSyntaxHighlighting=!1)},t}(C_);v_&&$u(w_),y_&&$u(D_),__&&$u(E_),b_&&$u(A_);var S_=function(){function e(){}return e.insert=function(e,t){return{range:new be(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}},e.delete=function(e){return{range:e,text:null}},e.replace=function(e,t){return{range:e,text:t}},e.replaceMove=function(e,t){return{range:e,text:t,forceMoveMarkers:!0}},e}(),x_=function(){function e(e){this._selection=e,this._usedEndToken=null}return e._haystackHasNeedleAtOffset=function(e,t,n){if(n<0)return!1;var r=t.length;if(n+r>e.length)return!1;for(var i=0;i<r;i++){var o=e.charCodeAt(n+i),s=t.charCodeAt(i);if(o!==s&&!(o>=65&&o<=90&&o+32===s||s>=65&&s<=90&&s+32===o))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,r,i){var o,s=t.startLineNumber,a=t.startColumn,u=t.endLineNumber,l=t.endColumn,c=r.getLineContent(s),h=r.getLineContent(u),d=n.blockCommentStartToken,p=n.blockCommentEndToken,f=c.lastIndexOf(d,a-1+d.length),g=h.indexOf(p,l-1-p.length);if(-1!==f&&-1!==g)if(s===u){c.substring(f+d.length,g).indexOf(p)>=0&&(f=-1,g=-1)}else{var m=c.substring(f+d.length),v=h.substring(0,g);(m.indexOf(p)>=0||v.indexOf(p)>=0)&&(f=-1,g=-1)}-1!==f&&-1!==g?(f+d.length<c.length&&32===c.charCodeAt(f+d.length)&&(d+=\" \"),g>0&&32===h.charCodeAt(g-1)&&(p=\" \"+p,g-=1),o=e._createRemoveBlockCommentOperations(new be(s,f+d.length+1,u,g+1),d,p)):(o=e._createAddBlockCommentOperations(t,d,p),this._usedEndToken=1===o.length?p:null);for(var y=0;y<o.length;y++)i.addTrackedEditOperation(o[y].range,o[y].text)},e._createRemoveBlockCommentOperations=function(e,t,n){var r=[];return be.isEmpty(e)?r.push(S_.delete(new be(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+n.length))):(r.push(S_.delete(new be(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(S_.delete(new be(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+n.length)))),r},e._createAddBlockCommentOperations=function(e,t,n){var r=[];return be.isEmpty(e)?r.push(S_.replace(new be(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+\"  \"+n)):(r.push(S_.insert(new ye(e.startLineNumber,e.startColumn),t+\" \")),r.push(S_.insert(new ye(e.endLineNumber,e.endColumn),\" \"+n))),r},e.prototype.getEditOperations=function(e,t){var n=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenizeIfCheap(n);var i=e.getLanguageIdAtPosition(n,r),o=Zo.getComments(i);o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o,e,t)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations();if(2===n.length){var r=n[0],i=n[1];return new Ii(r.range.endLineNumber,r.range.endColumn,i.range.startLineNumber,i.range.startColumn)}var o=n[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new Ii(o.endLineNumber,o.endColumn+s,o.endLineNumber,o.endColumn+s)},e}(),M_=function(){function e(e,t,n){this._selection=e,this._tabSize=t,this._type=n,this._deltaColumn=0}return e._gatherPreflightCommentStrings=function(e,t,n){e.tokenizeIfCheap(t);var r=e.getLanguageIdAtPosition(t,1),i=Zo.getComments(r),o=i?i.lineCommentToken:null;if(!o)return null;for(var s=[],a=0,u=n-t+1;a<u;a++)s[a]={ignore:!1,commentStr:o,commentStrOffset:0,commentStrLength:o.length};return s},e._analyzeLines=function(e,t,n,r){var i,o,s,a,u,l,c,h,d=!0;for(c=0===e||1!==e,a=0,u=n.length;a<u;a++)i=n[a],l=r+a,-1!==(o=bt(h=t.getLineContent(l)))?(d=!1,i.ignore=!1,i.commentStrOffset=o,c&&!x_._haystackHasNeedleAtOffset(h,i.commentStr,o)&&(0===e?c=!1:1===e||(i.ignore=!0)),c&&(s=o+i.commentStrLength)<h.length&&32===h.charCodeAt(s)&&(i.commentStrLength+=1)):(i.ignore=!0,i.commentStrOffset=h.length);if(0===e&&d)for(c=!1,a=0,u=n.length;a<u;a++)n[a].ignore=!1;return{supported:!0,shouldRemoveComments:c,lines:n}},e._gatherPreflightData=function(t,n,r,i){var o=e._gatherPreflightCommentStrings(n,r,i);return null===o?{supported:!1,shouldRemoveComments:!1,lines:null}:e._analyzeLines(t,n,o,r)},e.prototype._executeLineComments=function(t,n,r,i){var o;r.shouldRemoveComments?o=e._createRemoveLineCommentsOperations(r.lines,i.startLineNumber):(e._normalizeInsertionPoint(t,r.lines,i.startLineNumber,this._tabSize),o=e._createAddLineCommentsOperations(r.lines,i.startLineNumber));for(var s=new ye(i.positionLineNumber,i.positionColumn),a=0,u=o.length;a<u;a++){if(n.addEditOperation(o[a].range,o[a].text),o[a].range.isEmpty()&&o[a].range.getStartPosition().equals(s))t.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=o[a].text.length)}this._selectionId=n.trackSelection(i)},e.prototype._attemptRemoveBlockComment=function(e,t,n,r){var i=t.startLineNumber,o=t.endLineNumber,s=r.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),a=e.getLineContent(i).lastIndexOf(n,s-1),u=e.getLineContent(o).indexOf(r,t.endColumn-1-n.length);return-1!==a&&-1===u&&(u=e.getLineContent(i).indexOf(r,a+n.length),o=i),-1===a&&-1!==u&&(a=e.getLineContent(o).lastIndexOf(n,u),i=o),!t.isEmpty()||-1!==a&&-1!==u||-1!==(a=e.getLineContent(i).indexOf(n))&&(u=e.getLineContent(i).indexOf(r,a+n.length)),-1!==a&&32===e.getLineContent(i).charCodeAt(a+n.length)&&(n+=\" \"),-1!==u&&32===e.getLineContent(o).charCodeAt(u-1)&&(r=\" \"+r,u-=1),-1!==a&&-1!==u?x_._createRemoveBlockCommentOperations(new be(i,a+n.length+1,o,u+1),n,r):null},e.prototype._executeBlockComment=function(e,t,n){e.tokenizeIfCheap(n.startLineNumber);var r=e.getLanguageIdAtPosition(n.startLineNumber,1),i=Zo.getComments(r);if(i&&i.blockCommentStartToken&&i.blockCommentEndToken){var o=i.blockCommentStartToken,s=i.blockCommentEndToken,a=this._attemptRemoveBlockComment(e,n,o,s);if(!a){if(n.isEmpty()){var u=e.getLineContent(n.startLineNumber),l=bt(u);-1===l&&(l=u.length),a=x_._createAddBlockCommentOperations(new be(n.startLineNumber,l+1,n.startLineNumber,u.length+1),o,s)}else a=x_._createAddBlockCommentOperations(new be(n.startLineNumber,e.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),o,s);1===a.length&&(this._deltaColumn=o.length+1)}this._selectionId=t.trackSelection(n);for(var c=0;c<a.length;c++)t.addEditOperation(a[c].range,a[c].text)}},e.prototype.getEditOperations=function(t,n){var r=this._selection;this._moveEndPositionDown=!1,r.startLineNumber<r.endLineNumber&&1===r.endColumn&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,t.getLineMaxColumn(r.endLineNumber-1)));var i=e._gatherPreflightData(this._type,t,r.startLineNumber,r.endLineNumber);return i.supported?this._executeLineComments(t,n,i,r):this._executeBlockComment(t,n,r)},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),new Ii(n.selectionStartLineNumber,n.selectionStartColumn+this._deltaColumn,n.positionLineNumber,n.positionColumn+this._deltaColumn)},e._createRemoveLineCommentsOperations=function(e,t){var n,r,i,o=[];for(n=0,r=e.length;n<r;n++)(i=e[n]).ignore||o.push(S_.delete(new be(t+n,i.commentStrOffset+1,t+n,i.commentStrOffset+i.commentStrLength+1)));return o},e._createAddLineCommentsOperations=function(e,t){var n,r,i,o=[];for(n=0,r=e.length;n<r;n++)(i=e[n]).ignore||o.push(S_.insert(new ye(t+n,i.commentStrOffset+1),i.commentStr+\" \"));return o},e.nextVisibleColumn=function(e,t,n,r){return n?e+(t-e%t):e+r},e._normalizeInsertionPoint=function(t,n,r,i){var o,s,a,u,l,c,h=Number.MAX_VALUE;for(o=0,s=n.length;o<s;o++)if(!n[o].ignore){for(a=t.getLineContent(r+o),c=0,u=0,l=n[o].commentStrOffset;c<h&&u<l;u++)c=e.nextVisibleColumn(c,i,9===a.charCodeAt(u),1);c<h&&(h=c)}for(h=Math.floor(h/i)*i,o=0,s=n.length;o<s;o++)if(!n[o].ignore){for(a=t.getLineContent(r+o),c=0,u=0,l=n[o].commentStrOffset;c<h&&u<l;u++)c=e.nextVisibleColumn(c,i,9===a.charCodeAt(u),1);n[o].commentStrOffset=c>h?u-1:u}},e}(),N_=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),I_=function(e){function t(t,n){var r=e.call(this,n)||this;return r._type=t,r}return N_(t,e),t.prototype.run=function(e,t){var n=t.getModel();if(n){for(var r=[],i=t.getSelections(),o=n.getOptions(),s=0;s<i.length;s++)r.push(new M_(i[s],o.tabSize,this._type));t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},t}(qu),L_=function(e){function t(){return e.call(this,0,{id:\"editor.action.commentLine\",label:ns(\"comment.line\",\"Toggle Line Comment\"),alias:\"Toggle Line Comment\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:2133}})||this}return N_(t,e),t}(I_),k_=function(e){function t(){return e.call(this,1,{id:\"editor.action.addCommentLine\",label:ns(\"comment.line.add\",\"Add Line Comment\"),alias:\"Add Line Comment\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:Ja(2089,2081)}})||this}return N_(t,e),t}(I_),T_=function(e){function t(){return e.call(this,2,{id:\"editor.action.removeCommentLine\",label:ns(\"comment.line.remove\",\"Remove Line Comment\"),alias:\"Remove Line Comment\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:Ja(2089,2099)}})||this}return N_(t,e),t}(I_),F_=function(e){function t(){return e.call(this,{id:\"editor.action.blockComment\",label:ns(\"comment.block\",\"Toggle Block Comment\"),alias:\"Toggle Block Comment\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:1567,linux:{primary:3103}}})||this}return N_(t,e),t.prototype.run=function(e,t){for(var n=[],r=t.getSelections(),i=0;i<r.length;i++)n.push(new x_(r[i]));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()},t}(qu);$u(L_),$u(k_),$u(T_),$u(F_);n(333),n(334);var O_=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),P_=\"_msDataKey\";function B_(e){return e[P_]||(e[P_]={}),e[P_]}function R_(e){return!!e[P_]}var j_=function(){function e(e,t){this.offdom=t,this.container=e,this.currentElement=e,this.createdElements=[],this.toUnbind={},this.captureToUnbind={}}return e.prototype.asContainer=function(){return W_(this,this.offdom)},e.prototype.clone=function(){var t=new e(this.container,this.offdom);return t.currentElement=this.currentElement,t.createdElements=this.createdElements,t.captureToUnbind=this.captureToUnbind,t.toUnbind=this.toUnbind,t},e.prototype.build=function(t,n){ou(this.offdom,\"This builder was not created off-dom, so build() can not be called.\"),t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,ou(t,\"Builder can only be build() with a container provided.\"),ou(dh(t),\"The container must either be a HTMLElement or a Builder.\");var r,i,o=t,s=o.childNodes;if(Yr(n)&&n<s.length)for(r=0,i=this.createdElements.length;r<i;r++)o.insertBefore(this.createdElements[r],s[n++]);else for(r=0,i=this.createdElements.length;r<i;r++)o.appendChild(this.createdElements[r]);return this},e.prototype.appendTo=function(t,n){t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,ou(t,\"Builder can only be build() with a container provided.\"),ou(dh(t),\"The container must either be a HTMLElement or a Builder.\");var r=t;this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement);var i=r.childNodes;return Yr(n)&&n<i.length?r.insertBefore(this.currentElement,i[n]):r.appendChild(this.currentElement),this},e.prototype.append=function(t,n){return ou(t,\"Need a child to append\"),dh(t)&&(t=V_(t)),ou(t instanceof e||t instanceof z_,\"Need a child to append\"),t.appendTo(this,n),this},e.prototype.offDOM=function(){return this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement),this},e.prototype.getHTMLElement=function(){return this.currentElement},e.prototype.getContainer=function(){return this.container},e.prototype.div=function(e,t){return this.doElement(\"div\",e,t)},e.prototype.p=function(e,t){return this.doElement(\"p\",e,t)},e.prototype.ul=function(e,t){return this.doElement(\"ul\",e,t)},e.prototype.li=function(e,t){return this.doElement(\"li\",e,t)},e.prototype.span=function(e,t){return this.doElement(\"span\",e,t)},e.prototype.img=function(e,t){return this.doElement(\"img\",e,t)},e.prototype.a=function(e,t){return this.doElement(\"a\",e,t)},e.prototype.element=function(e,t,n){return this.doElement(e,t,n)},e.prototype.doElement=function(t,n,r){var i=document.createElement(t);if(this.currentElement=i,this.offdom&&this.createdElements.push(i),Ur(n)&&this.attr(n),Xr(n)&&(r=n),Xr(r)){var o=new e(i);r.call(o,o)}return this.offdom||this.container.appendChild(i),this},e.prototype.domFocus=function(){return this.currentElement.focus(),this},e.prototype.domBlur=function(){return this.currentElement.blur(),this},e.prototype.on=function(e,t,n,r){var i=this;if(Vr(e))e.forEach(function(e){i.on(e,t,n,r)});else{var o=e,s=kc(this.currentElement,o,function(e){t(e,i,s)},r||!1);r?(this.captureToUnbind[o]||(this.captureToUnbind[o]=[]),this.captureToUnbind[o].push(s)):(this.toUnbind[o]||(this.toUnbind[o]=[]),this.toUnbind[o].push(s));var a=this.getProperty(\"__$listeners\",[]);a.push(s),this.setProperty(\"__$listeners\",a),n&&Vr(n)&&n.push(s)}return this},e.prototype.off=function(e,t){var n=this;if(Vr(e))e.forEach(function(e){n.off(e)});else{var r=e;t?this.captureToUnbind[r]&&(this.captureToUnbind[r]=on(this.captureToUnbind[r])):this.toUnbind[r]&&(this.toUnbind[r]=on(this.toUnbind[r]))}return this},e.prototype.once=function(e,t,n,r){var i=this;if(Vr(e))e.forEach(function(e){i.once(e,t)});else{var o=e,s=kc(this.currentElement,o,function(e){t(e,i,s),s.dispose()},r||!1);n&&Vr(n)&&n.push(s)}return this},e.prototype.attr=function(e,t){if(Ur(e)){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];this.doSetAttr(n,r)}return this}return Hr(e)&&!Hr(t)?this.currentElement.getAttribute(e):(Hr(e)&&(Hr(t)||(t=String(t)),this.doSetAttr(e,t)),this)},e.prototype.doSetAttr=function(e,t){\"class\"===e&&(e=\"addClass\"),this[e]?Vr(t)?this[e].apply(this,t):this[e].call(this,t):this.currentElement.setAttribute(e,t)},e.prototype.removeAttribute=function(e){this.currentElement.removeAttribute(e)},e.prototype.id=function(e){return this.currentElement.setAttribute(\"id\",e),this},e.prototype.title=function(e){return this.currentElement.setAttribute(\"title\",e),this},e.prototype.type=function(e){return this.currentElement.setAttribute(\"type\",e),this},e.prototype.value=function(e){return this.currentElement.setAttribute(\"value\",e),this},e.prototype.tabindex=function(e){return this.currentElement.setAttribute(\"tabindex\",e.toString()),this},e.prototype.style=function(e,t){if(Ur(e)){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];this.doSetStyle(n,r)}return this}var i=Hr(e);return i&&Gr(t)?this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]:(i&&this.doSetStyle(e,t),this)},e.prototype.doSetStyle=function(e,t){if(e.indexOf(\"-\")>=0){var n=e.split(\"-\");e=n[0];for(var r=1;r<n.length;r++){var i=n[r];e=e+i.charAt(0).toUpperCase()+i.substr(1)}}this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]=t},e.prototype.cssKeyToJavaScriptProperty=function(e){if(e.indexOf(\"-\")>=0){var t=e.split(\"-\");e=t[0];for(var n=1;n<t.length;n++){var r=t[n];e=e+r.charAt(0).toUpperCase()+r.substr(1)}}else\"float\"===e&&(e=\"cssFloat\");return e},e.prototype.getComputedStyle=function(){return Kc(this.currentElement)},e.prototype.addClass=function(){for(var e=this,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return t.forEach(function(t){t.split(\" \").forEach(function(t){Mc(e.currentElement,t)})}),this},e.prototype.setClass=function(e,t){return void 0===t&&(t=null),null===t?this.currentElement.className=e:t?this.addClass(e):this.removeClass(e),this},e.prototype.hasClass=function(e){return xc(this.currentElement,e)},e.prototype.removeClass=function(){for(var e=this,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return t.forEach(function(t){t.split(\" \").forEach(function(t){Nc(e.currentElement,t)})}),this},e.prototype.toggleClass=function(e){return this.hasClass(e)?this.removeClass(e):this.addClass(e),this},e.prototype.color=function(e){return this.currentElement.style.color=e,this},e.prototype.padding=function(e,t,n,r){return Hr(e)&&e.indexOf(\" \")>=0?this.padding.apply(this,e.split(\" \")):(Kr(e)||(this.currentElement.style.paddingTop=this.toPixel(e)),Kr(t)||(this.currentElement.style.paddingRight=this.toPixel(t)),Kr(n)||(this.currentElement.style.paddingBottom=this.toPixel(n)),Kr(r)||(this.currentElement.style.paddingLeft=this.toPixel(r)),this)},e.prototype.margin=function(e,t,n,r){return Hr(e)&&e.indexOf(\" \")>=0?this.margin.apply(this,e.split(\" \")):(Kr(e)||(this.currentElement.style.marginTop=this.toPixel(e)),Kr(t)||(this.currentElement.style.marginRight=this.toPixel(t)),Kr(n)||(this.currentElement.style.marginBottom=this.toPixel(n)),Kr(r)||(this.currentElement.style.marginLeft=this.toPixel(r)),this)},e.prototype.position=function(e,t,n,r,i){return Hr(e)&&e.indexOf(\" \")>=0?this.position.apply(this,e.split(\" \")):(Kr(e)||(this.currentElement.style.top=this.toPixel(e)),Kr(t)||(this.currentElement.style.right=this.toPixel(t)),Kr(n)||(this.currentElement.style.bottom=this.toPixel(n)),Kr(r)||(this.currentElement.style.left=this.toPixel(r)),i||(i=\"absolute\"),this.currentElement.style.position=i,this)},e.prototype.size=function(e,t){return Hr(e)&&e.indexOf(\" \")>=0?this.size.apply(this,e.split(\" \")):(Kr(e)||(this.currentElement.style.width=this.toPixel(e)),Kr(t)||(this.currentElement.style.height=this.toPixel(t)),this)},e.prototype.display=function(e){return this.currentElement.style.display=e,this},e.prototype.show=function(){return this.hasClass(\"monaco-builder-hidden\")&&this.removeClass(\"monaco-builder-hidden\"),this.attr(\"aria-hidden\",\"false\"),this.cancelVisibilityPromise(),this},e.prototype.showDelayed=function(e){var t=this;this.cancelVisibilityPromise();var n=cn.b.timeout(e);return this.setProperty(\"__$visibility\",n),n.done(function(){t.removeProperty(\"__$visibility\"),t.show()}),this},e.prototype.hide=function(){return this.hasClass(\"monaco-builder-hidden\")||this.addClass(\"monaco-builder-hidden\"),this.attr(\"aria-hidden\",\"true\"),this.cancelVisibilityPromise(),this},e.prototype.isHidden=function(){return this.hasClass(\"monaco-builder-hidden\")||\"none\"===this.currentElement.style.display},e.prototype.cancelVisibilityPromise=function(){var e=this.getProperty(\"__$visibility\");e&&(e.cancel(),this.removeProperty(\"__$visibility\"))},e.prototype.toPixel=function(e){return-1===e.toString().indexOf(\"px\")?e.toString()+\"px\":e},e.prototype.innerHtml=function(e,t){return t?this.currentElement.innerHTML+=e:this.currentElement.innerHTML=e,this},e.prototype.text=function(e,t){return t?0===this.currentElement.children.length?this.currentElement.textContent+=e:this.currentElement.appendChild(document.createTextNode(e)):this.currentElement.textContent=e,this},e.prototype.safeInnerHtml=function(e,t){return this.innerHtml(et(e),t)},e.prototype.setProperty=function(e,t){return U_(this.currentElement,e,t),this},e.prototype.getProperty=function(e,t){return function(e,t,n){if(R_(e)){var r=B_(e)[t];if(!Gr(r))return r}return n}(this.currentElement,e,t)},e.prototype.removeProperty=function(e){return R_(this.currentElement)&&delete B_(this.currentElement)[e],this},e.prototype.child=function(e){return void 0===e&&(e=0),V_(this.currentElement.children.item(e))},e.prototype.unbindDescendants=function(e){if(e&&e.children)for(var t=0,n=e.children.length;t<n;t++){var r=e.children.item(t);if(R_(r)){var i=B_(r).__$listeners;if(Vr(i))for(;i.length;)i.pop().dispose();delete r[P_]}this.unbindDescendants(r)}},e.prototype.empty=function(){return this.unbindDescendants(this.currentElement),this.clearChildren(),this.offdom&&(this.createdElements=[]),this},e.prototype.clearChildren=function(){return this.currentElement&&Dc(this.currentElement),this},e.prototype.destroy=function(){if(this.currentElement&&(this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement),this.empty(),R_(this.currentElement))){var e=B_(this.currentElement).__$listeners;if(Vr(e))for(;e.length;)e.pop().dispose();delete this.currentElement[P_]}var t;for(t in this.toUnbind)this.toUnbind.hasOwnProperty(t)&&Vr(this.toUnbind[t])&&(this.toUnbind[t]=on(this.toUnbind[t]));for(t in this.captureToUnbind)this.captureToUnbind.hasOwnProperty(t)&&Vr(this.captureToUnbind[t])&&(this.captureToUnbind[t]=on(this.captureToUnbind[t]));this.currentElement=null,this.container=null,this.offdom=null,this.createdElements=null,this.captureToUnbind=null,this.toUnbind=null},e.prototype.dispose=function(){this.destroy()},e.prototype.getTotalSize=function(){var e=nh(this.currentElement),t=oh(this.currentElement);return new Jc(e,t)},e.prototype.getClientArea=function(){return function(e){if(e!==document.body)return new Jc(e.clientWidth,e.clientHeight);if(window.innerWidth&&window.innerHeight)return new Jc(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientWidth)return new Jc(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new Jc(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error(\"Unable to figure out browser width and height\")}(this.currentElement)},e}(),z_=function(e){function t(n){var r=this;if(ou(Vr(n)||n instanceof t,\"Expected Array or MultiBuilder as parameter\"),(r=e.call(this)||this).length=0,r.builders=[],Vr(n))for(var i=0;i<n.length;i++)n[i]instanceof HTMLElement?r.push(V_(n[i])):r.push(n[i]);else for(i=0;i<n.length;i++)r.push(n.item(i));var o=r,s=function(e){o[e]=function(){for(var n,r=Array.prototype.slice.call(arguments),i=!1,s=0;s<o.length;s++){var a=o.item(s)[e].apply(o.item(s),r);if(a instanceof t){n||(n=[]),i=!0;for(var u=0;u<a.length;u++)n.push(a.item(u))}else Gr(a)||a instanceof j_||(n||(n=[]),n.push(a))}return n&&i?new t(n):n||o}};for(var a in j_.prototype)\"clone\"!==a&&\"and\"!==a&&j_.prototype.hasOwnProperty(a)&&Xr(j_.prototype[a])&&s(a);return r}return O_(t,e),t.prototype.item=function(e){return this.builders[e]},t.prototype.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0;n<e.length;n++)this.builders.push(e[n]);this.length=this.builders.length},t.prototype.clone=function(){return new t(this)},t}(j_);function W_(e,t){return e instanceof z_?new z_(e):new j_(e.getHTMLElement(),t)}function V_(e,t){return new j_(e,t)}function H_(){return new j_(null,!0)}function U_(e,t,n){B_(e)[t]=n}var Y_=/([\\w\\-]+)?(#([\\w\\-]+))?((.([\\w\\-]+))*)/,Z_=function(e){if(Gr(e))return H_();if(!e)throw new Error(\"Bad use of $\");if(dh(e)||e===window)return V_(e);if(Vr(e))return new z_(e);if(e instanceof j_)return W_(e);if(Hr(e)){if(\"<\"===e[0]){var t=void 0,n=document.createElement(\"div\");if(n.innerHTML=$e.apply(r,arguments),0===n.children.length)throw new Error(\"Bad use of $\");if(1===n.children.length)return t=n.firstChild,n.removeChild(t),V_(t);for(var i=[];n.firstChild;)t=n.firstChild,n.removeChild(t),i.push(V_(t));return new z_(i)}if(1===arguments.length){var o=Y_.exec(e);if(!o)throw new Error(\"Bad use of $\");var s=o[1]||\"div\",a=o[3]||void 0,u=(o[4]||\"\").replace(/\\./g,\" \"),l={};return a&&(l.id=a),u&&(l.class=u),H_().element(s,l)}var c=H_();return c.element.apply(c,arguments),c}throw new Error(\"Bad use of $\")},G_=(n(335),function(){function e(e,t,n){this.toDispose=[],this.selectElement=document.createElement(\"select\"),this.selectElement.className=\"monaco-select-box\",this._onDidSelect=new wn,this.styles=n,this.registerListeners(),this.setOptions(e,t)}return e.prototype.registerListeners=function(){var e=this;this.toDispose.push(Tc(this.selectElement,\"change\",function(t){e.selectElement.title=t.target.value,e._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value})})),this.toDispose.push(Tc(this.selectElement,\"keydown\",function(e){var t=!1;we.d?18!==e.keyCode&&16!==e.keyCode&&10!==e.keyCode||(t=!0):(18===e.keyCode&&e.altKey||10===e.keyCode||3===e.keyCode)&&(t=!0),t&&e.stopPropagation()}))},Object.defineProperty(e.prototype,\"onDidSelect\",{get:function(){return this._onDidSelect.event},enumerable:!0,configurable:!0}),e.prototype.setOptions=function(e,t,n){var r=this;if(!this.options||!Wn(this.options,e)){this.options=e,this.selectElement.options.length=0;var i=0;this.options.forEach(function(e){r.selectElement.add(r.createOption(e,i,n===i++))})}void 0!==t&&this.select(t)},e.prototype.select=function(e){e>=0&&e<this.options.length?this.selected=e:e>this.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selectElement.title=this.options[this.selected]},e.prototype.focus=function(){this.selectElement&&this.selectElement.focus()},e.prototype.blur=function(){this.selectElement&&this.selectElement.blur()},e.prototype.render=function(e){Mc(e,\"select-container\"),e.appendChild(this.selectElement),this.setOptions(this.options,this.selected),this.applyStyles()},e.prototype.style=function(e){this.styles=e,this.applyStyles()},e.prototype.applyStyles=function(){if(this.selectElement){var e=this.styles.selectBackground?this.styles.selectBackground.toString():null,t=this.styles.selectForeground?this.styles.selectForeground.toString():null,n=this.styles.selectBorder?this.styles.selectBorder.toString():null;this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=n}},e.prototype.createOption=function(e,t,n){var r=document.createElement(\"option\");return r.value=e,r.text=e,r.disabled=n,r},e.prototype.dispose=function(){this.toDispose=on(this.toDispose)},e}());n(336),n(191);function K_(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var n=Math.max(e.start,t.start),r=Math.min(e.end,t.end);return r-n<=0?{start:0,end:0}:{start:n,end:r}}function q_(e){return e.end-e.start<=0}function Q_(e,t){var n=[],r={start:e.start,end:Math.min(t.start,e.end)},i={start:Math.max(t.end,e.start),end:e.end};return q_(r)||n.push(r),q_(i)||n.push(i),n}function X_(e,t){for(var n=[],r=0,i=t;r<i.length;r++){var o=i[r];if(!(e.start>=o.range.end)){if(e.end<o.range.start)break;var s=K_(e,o.range);q_(s)||n.push({range:s,size:o.size})}}return n}function J_(e,t){return{start:e.start+t,end:e.end+t}}var $_=function(){function e(){this.groups=[],this._size=0}return e.prototype.splice=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=n.length-t,o=X_({start:0,end:e},this.groups),s=X_({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(function(e){return{range:J_(e.range,i),size:e.size}}),a=n.map(function(t,n){return{range:{start:e+n,end:e+n+1},size:t.size}});this.groups=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(e){for(var t=[],n=null,r=0,i=e;r<i.length;r++){var o=i[r],s=o.range.start,a=o.range.end,u=o.size;n&&u===n.size?n.range.end=a:(n={range:{start:s,end:a},size:u},t.push(n))}return t}(e.reduce(function(e,t){return e.concat(t)},[]))}(o,a,s),this._size=this.groups.reduce(function(e,t){return e+t.size*(t.range.end-t.range.start)},0)},Object.defineProperty(e.prototype,\"count\",{get:function(){var e=this.groups.length;return e?this.groups[e-1].range.end:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.indexAt=function(e){if(e<0)return-1;for(var t=0,n=0,r=0,i=this.groups;r<i.length;r++){var o=i[r],s=o.range.end-o.range.start,a=n+s*o.size;if(e<a)return t+Math.floor((e-n)/o.size);t+=s,n=a}return t},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.count)},e.prototype.positionAt=function(e){if(e<0)return-1;for(var t=0,n=0,r=0,i=this.groups;r<i.length;r++){var o=i[r],s=o.range.end-o.range.start,a=n+s;if(e<a)return t+(e-n)*o.size;t+=s*o.size,n=a}return-1},e.prototype.dispose=function(){this.groups=null},e}();var eC=function(){function e(e){this.renderers=e,this.cache=new Map}return e.prototype.alloc=function(e){var t=this.getTemplateCache(e).pop();if(!t){var n=bh(\".monaco-list-row\");t={domNode:n,templateId:e,templateData:this.renderers.get(e).renderTemplate(n)}}return t},e.prototype.release=function(e){e&&this.releaseRow(e)},e.prototype.releaseRow=function(e){var t=e.domNode,n=e.templateId;Nc(t,\"scrolling\"),function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t),this.getTemplateCache(n).push(e)},e.prototype.getTemplateCache=function(e){var t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t},e.prototype.garbageCollect=function(){var e=this;this.renderers&&(this.cache.forEach(function(t,n){for(var r=0,i=t;r<i.length;r++){var o=i[r];e.renderers.get(n).disposeTemplate(o.templateData),o.domNode=null,o.templateData=null}}),this.cache.clear())},e.prototype.dispose=function(){this.garbageCollect(),this.cache.clear(),this.renderers=null},e}(),tC=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s};var nC={useShadows:!0,verticalScrollMode:rs.Auto},rC=function(){function e(e,t,n,r){void 0===r&&(r=nC),this.delegate=t,this.renderers=new Map,this.splicing=!1,this.items=[],this.itemId=0,this.rangeMap=new $_;for(var i=0,o=n;i<o.length;i++){var s=o[i];this.renderers.set(s.templateId,s)}this.cache=new eC(this.renderers),this.lastRenderTop=0,this.lastRenderHeight=0,this._domNode=document.createElement(\"div\"),this._domNode.className=\"monaco-list\",this.rowsContainer=document.createElement(\"div\"),this.rowsContainer.className=\"monaco-list-rows\",Im.addTarget(this.rowsContainer),this.scrollableElement=new vb(this.rowsContainer,{alwaysConsumeMouseWheel:!0,horizontal:rs.Hidden,vertical:gs(r,function(e){return e.verticalScrollMode},nC.verticalScrollMode),useShadows:gs(r,function(e){return e.useShadows},nC.useShadows)}),this._domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this._domNode),this.disposables=[this.rangeMap,this.gesture,this.scrollableElement,this.cache],this.scrollableElement.onScroll(this.onScroll,this,this.disposables),Cc(this.rowsContainer,Mm.Change)(this.onTouchChange,this,this.disposables),Cc(this.scrollableElement.getDomNode(),\"scroll\")(function(e){return e.target.scrollTop=0},null,this.disposables),xn(Cc(this.rowsContainer,\"dragover\"),function(e){return new bc(e)})(this.onDragOver,this,this.disposables),this.layout()}return Object.defineProperty(e.prototype,\"domNode\",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){if(void 0===n&&(n=[]),this.splicing)throw new Error(\"Can't run recursive splices.\");this.splicing=!0;try{return this._splice(e,t,n)}finally{this.splicing=!1}},e.prototype._splice=function(e,t,n){var r=this;void 0===n&&(n=[]);for(var i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o=K_(i,{start:e,end:e+t}),s=o.start;s<o.end;s++)this.removeItemFromDOM(s);var a={start:e+t,end:this.items.length},u=K_(a,i),l=Q_(a,i),c=n.map(function(e){return{id:String(r.itemId++),element:e,size:r.delegate.getHeight(e),templateId:r.delegate.getTemplateId(e),row:null}});(D=this.rangeMap).splice.apply(D,[e,t].concat(c));var h=(E=this.items).splice.apply(E,[e,t].concat(c)),d=n.length-t,p=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),f=J_(u,d),g=K_(p,f);for(s=g.start;s<g.end;s++)this.updateItemInDOM(this.items[s],s);for(var m=Q_(f,p),v=0;v<m.length;v++){var y=m[v];for(s=y.start;s<y.end;s++)this.removeItemFromDOM(s)}var b=l.map(function(e){return J_(e,d)}),_=[{start:e,end:e+n.length}].concat(b).map(function(e){return K_(p,e)}),C=this.getNextToLastElement(_);for(v=0;v<_.length;v++){var w=_[v];for(s=w.start;s<w.end;s++)this.insertItemInDOM(s,C)}var D,E,A=this.getContentHeight();return this.rowsContainer.style.height=A+\"px\",this.scrollableElement.setScrollDimensions({scrollHeight:A}),h.map(function(e){return e.element})},Object.defineProperty(e.prototype,\"length\",{get:function(){return this.items.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"renderHeight\",{get:function(){return this.scrollableElement.getScrollDimensions().height},enumerable:!0,configurable:!0}),e.prototype.element=function(e){return this.items[e].element},e.prototype.domElement=function(e){var t=this.items[e].row;return t&&t.domNode},e.prototype.elementHeight=function(e){return this.items[e].size},e.prototype.elementTop=function(e){return this.rangeMap.positionAt(e)},e.prototype.indexAt=function(e){return this.rangeMap.indexAt(e)},e.prototype.indexAfter=function(e){return this.rangeMap.indexAfter(e)},e.prototype.layout=function(e){this.scrollableElement.setScrollDimensions({height:e||ih(this._domNode)})},e.prototype.render=function(e,t){for(var n=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),r=this.getRenderRange(e,t),i=Q_(r,n),o=Q_(n,r),s=this.getNextToLastElement(i),a=0,u=i;a<u.length;a++)for(var l=(d=u[a]).start;l<d.end;l++)this.insertItemInDOM(l,s);for(var c=0,h=o;c<h.length;c++){var d;for(l=(d=h[c]).start;l<d.end;l++)this.removeItemFromDOM(l)}if(function(){if(ec)return!1;if(0!==Gl())return!1;if(sc){var e=ql();if(Math.floor(e)!==e)return!1}return!0}()&&!we.g){var p=\"translate3d(0px, -\"+e+\"px, 0px)\";this.rowsContainer.style.transform=p,this.rowsContainer.style.webkitTransform=p}else this.rowsContainer.style.top=\"-\"+e+\"px\";this.lastRenderTop=e,this.lastRenderHeight=t},e.prototype.insertItemInDOM=function(e,t){var n=this.items[e];n.row||(n.row=this.cache.alloc(n.templateId)),n.row.domNode.parentElement||(t?this.rowsContainer.insertBefore(n.row.domNode,t):this.rowsContainer.appendChild(n.row.domNode)),n.row.domNode.style.height=n.size+\"px\",this.updateItemInDOM(n,e),this.renderers.get(n.templateId).renderElement(n.element,e,n.row.templateData)},e.prototype.updateItemInDOM=function(e,t){e.row.domNode.style.top=this.elementTop(t)+\"px\",e.row.domNode.setAttribute(\"data-index\",\"\"+t),e.row.domNode.setAttribute(\"data-last-element\",t===this.length-1?\"true\":\"false\"),e.row.domNode.setAttribute(\"aria-setsize\",\"\"+this.length),e.row.domNode.setAttribute(\"aria-posinset\",\"\"+(t+1))},e.prototype.removeItemFromDOM=function(e){var t=this.items[e];this.cache.release(t.row),t.row=null},e.prototype.getContentHeight=function(){return this.rangeMap.size},e.prototype.getScrollTop=function(){return this.scrollableElement.getScrollPosition().scrollTop},e.prototype.setScrollTop=function(e){this.scrollableElement.setScrollPosition({scrollTop:e})},Object.defineProperty(e.prototype,\"scrollTop\",{get:function(){return this.getScrollTop()},set:function(e){this.setScrollTop(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseClick\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"click\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseDblClick\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"dblclick\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseUp\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"mouseup\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseDown\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"mousedown\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseOver\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"mouseover\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseMove\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"mousemove\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseOut\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"mouseout\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onContextMenu\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"contextmenu\"),function(t){return e.toMouseEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onTouchStart\",{get:function(){var e=this;return Mn(xn(Cc(this.domNode,\"touchstart\"),function(t){return e.toTouchEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onTap\",{get:function(){var e=this;return Mn(xn(Cc(this.rowsContainer,Mm.Tap),function(t){return e.toGestureEvent(t)}),function(e){return e.index>=0})},enumerable:!0,configurable:!0}),e.prototype.toMouseEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),n=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}},e.prototype.toTouchEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),n=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}},e.prototype.toGestureEvent=function(e){var t=this.getItemIndexFromEventTarget(e.initialTarget),n=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}},e.prototype.onScroll=function(e){this.render(e.scrollTop,e.height)},e.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},e.prototype.onDragOver=function(e){this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=e.posy},e.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=$c(this._domNode).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(void 0!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,r=0,i=e.renderHeight-35;n<35?r=Math.max(-14,.2*(n-35)):n>i&&(r=Math.min(14,.2*(n-i))),e.scrollTop+=r}},10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout(function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null},1e3))},e.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},e.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},e.prototype.getItemIndexFromEventTarget=function(e){for(;e instanceof HTMLElement&&e!==this.rowsContainer;){var t=e,n=t.getAttribute(\"data-index\");if(n){var r=Number(n);if(!isNaN(r))return r}e=t.parentElement}return-1},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype.getNextToLastElement=function(e){var t=e[e.length-1];if(!t)return null;var n=this.items[t.end];return n&&n.row?n.row.domNode:null},e.prototype.dispose=function(){this.items=null,this._domNode&&this._domNode.parentElement&&(this._domNode.parentNode.removeChild(this._domNode),this._domNode=null),this.disposables=on(this.disposables)},tC([xm],e.prototype,\"onMouseClick\",null),tC([xm],e.prototype,\"onMouseDblClick\",null),tC([xm],e.prototype,\"onMouseUp\",null),tC([xm],e.prototype,\"onMouseDown\",null),tC([xm],e.prototype,\"onMouseOver\",null),tC([xm],e.prototype,\"onMouseMove\",null),tC([xm],e.prototype,\"onMouseOut\",null),tC([xm],e.prototype,\"onContextMenu\",null),tC([xm],e.prototype,\"onTouchStart\",null),tC([xm],e.prototype,\"onTap\",null),e}();var iC=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),oC=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},sC=function(){function e(e){this.spliceables=e}return e.prototype.splice=function(e,t,n){for(var r=0,i=this.spliceables;r<i.length;r++){i[r].splice(e,t,n)}},e}(),aC=function(){function e(e){this.trait=e,this.renderedElements=[]}return Object.defineProperty(e.prototype,\"templateId\",{get:function(){return\"template:\"+this.trait.trait},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return e},e.prototype.renderElement=function(e,t,n){var r=Kn(this.renderedElements,function(e){return e.templateData===n});if(r>=0){var i=this.renderedElements[r];this.trait.unrender(n),i.index=t}else{i={index:t,templateData:n};this.renderedElements.push(i)}this.trait.renderIndex(t,n)},e.prototype.splice=function(e,t,n){for(var r=[],i=0;i<this.renderedElements.length;i++){var o=this.renderedElements[i];o.index<e?r.push(o):o.index>=e+t&&r.push({index:o.index+n-t,templateData:o.templateData})}this.renderedElements=r},e.prototype.renderIndexes=function(e){for(var t=0,n=this.renderedElements;t<n.length;t++){var r=n[t],i=r.index,o=r.templateData;e.indexOf(i)>-1&&this.trait.renderIndex(i,o)}},e.prototype.disposeTemplate=function(e){var t=Kn(this.renderedElements,function(t){return t.templateData===e});t<0||this.renderedElements.splice(t,1)},e}(),uC=function(){function e(e){this._trait=e,this._onChange=new wn,this.indexes=[]}return Object.defineProperty(e.prototype,\"onChange\",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"trait\",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"renderer\",{get:function(){return new aC(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var r=n.length-t,i=e+t,o=this.indexes.filter(function(t){return t<e}).concat(n.map(function(t,n){return t?n+e:-1}).filter(function(e){return-1!==e}),this.indexes.filter(function(e){return e>=i}).map(function(e){return e+r}));this.renderer.splice(e,t,n.length),this.set(o)},e.prototype.renderIndex=function(e,t){Ic(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){Nc(e,this._trait)},e.prototype.set=function(e){var t=this.indexes;this.indexes=e;var n=DC(t,e);return this.renderer.renderIndexes(n),this._onChange.fire({indexes:e}),t},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return this.indexes.some(function(t){return t===e})},e.prototype.dispose=function(){this.indexes=null,this._onChange=on(this._onChange)},oC([xm],e.prototype,\"renderer\",null),e}(),lC=function(e){function t(t){var n=e.call(this,\"focused\")||this;return n.getDomId=t,n}return iC(t,e),t.prototype.renderIndex=function(t,n){e.prototype.renderIndex.call(this,t,n),n.setAttribute(\"role\",\"treeitem\"),n.setAttribute(\"id\",this.getDomId(t))},t}(uC),cC=function(){function e(e,t,n){this.trait=e,this.view=t,this.getId=n}return e.prototype.splice=function(e,t,n){var r=this;if(!this.getId)return this.trait.splice(e,t,n.map(function(e){return!1}));var i=this.trait.get().map(function(e){return r.getId(r.view.element(e))}),o=n.map(function(e){return i.indexOf(r.getId(e))>-1});this.trait.splice(e,t,o)},e}();function hC(e){return\"INPUT\"===e.tagName||\"TEXTAREA\"===e.tagName}var dC=function(){function e(e,t,n){this.list=e,this.view=t;var r=!(!1===n.multipleSelectionSupport);this.disposables=[],this.openController=n.openController||yC;var i=In(Cc(t.domNode,\"keydown\")).filter(function(e){return!hC(e.target)}).map(function(e){return new hc(e)});i.filter(function(e){return 3===e.keyCode}).on(this.onEnter,this,this.disposables),i.filter(function(e){return 16===e.keyCode}).on(this.onUpArrow,this,this.disposables),i.filter(function(e){return 18===e.keyCode}).on(this.onDownArrow,this,this.disposables),i.filter(function(e){return 11===e.keyCode}).on(this.onPageUpArrow,this,this.disposables),i.filter(function(e){return 12===e.keyCode}).on(this.onPageDownArrow,this,this.disposables),i.filter(function(e){return 9===e.keyCode}).on(this.onEscape,this,this.disposables),r&&i.filter(function(e){return(we.d?e.metaKey:e.ctrlKey)&&31===e.keyCode}).on(this.onCtrlA,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus()),this.openController.shouldOpen(e.browserEvent)&&this.list.open(this.list.getFocus(),e.browserEvent)},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Qn(this.list.length)),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([]),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables=on(this.disposables)},e}(),pC=function(){function e(e,t){this.list=e,this.view=t,this.disposables=[],this.disposables=[],In(Cc(t.domNode,\"keydown\")).filter(function(e){return!hC(e.target)}).map(function(e){return new hc(e)}).filter(function(e){return!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)}).on(this.onTab,this,this.disposables)}return e.prototype.onTab=function(e){if(e.target===this.view.domNode){var t=this.list.getFocus();if(0!==t.length){var n=this.view.domElement(t[0]).querySelector(\"[tabIndex]\");n&&n instanceof HTMLElement&&(e.preventDefault(),e.stopPropagation(),n.focus())}}},e.prototype.dispose=function(){this.disposables=on(this.disposables)},e}();function fC(e){return we.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function gC(e){return e.browserEvent.shiftKey}function mC(e){return e instanceof MouseEvent&&2===e.button}var vC={isSelectionSingleChangeEvent:fC,isSelectionRangeChangeEvent:gC},yC={shouldOpen:function(e){return!(e instanceof MouseEvent)||!mC(e)}},bC=function(){function e(e,t,n){void 0===n&&(n={}),this.list=e,this.view=t,this.options=n,this.didJustPressContextMenuKey=!1,this.disposables=[],this.multipleSelectionSupport=!(!1===n.multipleSelectionSupport),this.multipleSelectionSupport&&(this.multipleSelectionController=n.multipleSelectionController||vC),this.openController=n.openController||yC,t.onMouseDown(this.onMouseDown,this,this.disposables),t.onMouseClick(this.onPointer,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),t.onTap(this.onPointer,this,this.disposables),Im.addTarget(t.domNode)}return Object.defineProperty(e.prototype,\"onContextMenu\",{get:function(){var e=this;return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,n,r){return void 0===n&&(n=null),sn(e.map(function(e){return e(function(e){return t.call(n,e)},null,r)}))}}(In(Cc(this.view.domNode,\"keydown\")).map(function(e){return new hc(e)}).filter(function(t){return e.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode}).filter(function(e){return e.preventDefault(),e.stopPropagation(),!1}).event,In(Cc(this.view.domNode,\"keyup\")).filter(function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t}).filter(function(){return e.list.getFocus().length>0}).map(function(){var t=e.list.getFocus()[0];return{index:t,element:e.view.element(t),anchor:e.view.domElement(t)}}).filter(function(e){return!!e.anchor}).event,In(this.view.onContextMenu).filter(function(){return!e.didJustPressContextMenuKey}).map(function(e){var t=e.element,n=e.index,r=e.browserEvent;return{element:t,index:n,anchor:{x:r.clientX+1,y:r.clientY}}}).event)},enumerable:!0,configurable:!0}),e.prototype.isSelectionSingleChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):we.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},e.prototype.isSelectionRangeChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):e.browserEvent.shiftKey},e.prototype.isSelectionChangeEvent=function(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)},e.prototype.onMouseDown=function(e){!1===this.options.focusOnMouseDown?(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation()):document.activeElement!==e.browserEvent.target&&this.view.domNode.focus();var t=this.list.getFocus()[0],n=this.list.getSelection();if(t=void 0===t?n[0]:t,this.multipleSelectionSupport&&this.isSelectionRangeChangeEvent(e))return this.changeSelection(e,t);var r=e.index;if(n.every(function(e){return e!==r})&&this.list.setFocus([r]),this.multipleSelectionSupport&&this.isSelectionChangeEvent(e))return this.changeSelection(e,t);this.options.selectOnMouseDown&&!mC(e.browserEvent)&&(this.list.setSelection([r]),this.openController.shouldOpen(e.browserEvent)&&this.list.open([r],e.browserEvent))},e.prototype.onPointer=function(e){if(!(this.multipleSelectionSupport&&this.isSelectionChangeEvent(e)||this.options.selectOnMouseDown)){var t=this.list.getFocus();this.list.setSelection(t),this.openController.shouldOpen(e.browserEvent)&&this.list.open(t,e.browserEvent)}},e.prototype.onDoubleClick=function(e){if(!this.multipleSelectionSupport||!this.isSelectionChangeEvent(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.pin(t)}},e.prototype.changeSelection=function(e,t){var n=e.index;if(this.isSelectionRangeChangeEvent(e)&&void 0!==t){var r=Qn(Math.min(t,n),Math.max(t,n)+1),i=function(e,t){var n=e.indexOf(t);if(-1===n)return[];var r=[],i=n-1;for(;i>=0&&e[i]===t-(n-i);)r.push(e[i--]);r.reverse(),i=n;for(;i<e.length&&e[i]===t+(i-n);)r.push(e[i++]);return r}(DC(s=this.list.getSelection(),[t]),t);if(0===i.length)return;var o=DC(r,function(e,t){var n=[],r=0,i=0;for(;r<e.length||i<t.length;)if(r>=e.length)n.push(t[i++]);else if(i>=t.length)n.push(e[r++]);else{if(e[r]===t[i]){r++,i++;continue}e[r]<t[i]?n.push(e[r++]):i++}return n}(s,i));this.list.setSelection(o)}else if(this.isSelectionSingleChangeEvent(e)){var s;o=(s=this.list.getSelection()).filter(function(e){return e!==n});s.length===o.length?this.list.setSelection(o.concat([n])):this.list.setSelection(o)}},e.prototype.dispose=function(){this.disposables=on(this.disposables)},oC([xm],e.prototype,\"onContextMenu\",null),e}(),_C=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?\".\"+this.selectorSuffix:\"\",n=[];e.listFocusBackground&&(n.push(\".monaco-list\"+t+\":focus .monaco-list-row.focused { background-color: \"+e.listFocusBackground+\"; }\"),n.push(\".monaco-list\"+t+\":focus .monaco-list-row.focused:hover { background-color: \"+e.listFocusBackground+\"; }\")),e.listFocusForeground&&n.push(\".monaco-list\"+t+\":focus .monaco-list-row.focused { color: \"+e.listFocusForeground+\"; }\"),e.listActiveSelectionBackground&&(n.push(\".monaco-list\"+t+\":focus .monaco-list-row.selected { background-color: \"+e.listActiveSelectionBackground+\"; }\"),n.push(\".monaco-list\"+t+\":focus .monaco-list-row.selected:hover { background-color: \"+e.listActiveSelectionBackground+\"; }\")),e.listActiveSelectionForeground&&n.push(\".monaco-list\"+t+\":focus .monaco-list-row.selected { color: \"+e.listActiveSelectionForeground+\"; }\"),e.listFocusAndSelectionBackground&&n.push(\".monaco-list\"+t+\":focus .monaco-list-row.selected.focused { background-color: \"+e.listFocusAndSelectionBackground+\"; }\"),e.listFocusAndSelectionForeground&&n.push(\".monaco-list\"+t+\":focus .monaco-list-row.selected.focused { color: \"+e.listFocusAndSelectionForeground+\"; }\"),e.listInactiveFocusBackground&&(n.push(\".monaco-list\"+t+\" .monaco-list-row.focused { background-color:  \"+e.listInactiveFocusBackground+\"; }\"),n.push(\".monaco-list\"+t+\" .monaco-list-row.focused:hover { background-color:  \"+e.listInactiveFocusBackground+\"; }\")),e.listInactiveSelectionBackground&&(n.push(\".monaco-list\"+t+\" .monaco-list-row.selected { background-color:  \"+e.listInactiveSelectionBackground+\"; }\"),n.push(\".monaco-list\"+t+\" .monaco-list-row.selected:hover { background-color:  \"+e.listInactiveSelectionBackground+\"; }\")),e.listInactiveSelectionForeground&&n.push(\".monaco-list\"+t+\" .monaco-list-row.selected { color: \"+e.listInactiveSelectionForeground+\"; }\"),e.listHoverBackground&&n.push(\".monaco-list\"+t+\" .monaco-list-row:hover { background-color:  \"+e.listHoverBackground+\"; }\"),e.listHoverForeground&&n.push(\".monaco-list\"+t+\" .monaco-list-row:hover { color:  \"+e.listHoverForeground+\"; }\"),e.listSelectionOutline&&n.push(\".monaco-list\"+t+\" .monaco-list-row.selected { outline: 1px dotted \"+e.listSelectionOutline+\"; outline-offset: -1px; }\"),e.listFocusOutline&&n.push(\".monaco-list\"+t+\":focus .monaco-list-row.focused { outline: 1px solid \"+e.listFocusOutline+\"; outline-offset: -1px; }\"),e.listInactiveFocusOutline&&n.push(\".monaco-list\"+t+\" .monaco-list-row.focused { outline: 1px dotted \"+e.listInactiveFocusOutline+\"; outline-offset: -1px; }\"),e.listHoverOutline&&n.push(\".monaco-list\"+t+\" .monaco-list-row:hover { outline: 1px dashed \"+e.listHoverOutline+\"; outline-offset: -1px; }\");var r=n.join(\"\\n\");r!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=r)},e}(),CC={listFocusBackground:md.fromHex(\"#073655\"),listActiveSelectionBackground:md.fromHex(\"#0E639C\"),listActiveSelectionForeground:md.fromHex(\"#FFFFFF\"),listFocusAndSelectionBackground:md.fromHex(\"#094771\"),listFocusAndSelectionForeground:md.fromHex(\"#FFFFFF\"),listInactiveSelectionBackground:md.fromHex(\"#3F3F46\"),listHoverBackground:md.fromHex(\"#2A2D2E\"),listDropBackground:md.fromHex(\"#383B3D\")},wC={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0};function DC(e,t){for(var n=[],r=0,i=0;r<e.length||i<t.length;)if(r>=e.length)n.push(t[i++]);else if(i>=t.length)n.push(e[r++]);else{if(e[r]===t[i]){n.push(e[r]),r++,i++;continue}e[r]<t[i]?n.push(e[r++]):n.push(t[i++])}return n}var EC,AC=function(e,t){return e-t},SC=function(){function e(e,t){this._templateId=e,this.renderers=t}return Object.defineProperty(e.prototype,\"templateId\",{get:function(){return this._templateId},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return this.renderers.map(function(t){return t.renderTemplate(e)})},e.prototype.renderElement=function(e,t,n){for(var r=0,i=0,o=this.renderers;i<o.length;i++){o[i].renderElement(e,t,n[r++])}},e.prototype.disposeTemplate=function(e){for(var t=0,n=0,r=this.renderers;n<r.length;n++){r[n].disposeTemplate(e[t++])}},e}(),xC=function(){function e(t,n,r,i){void 0===i&&(i=wC);var o=this;if(this.idPrefix=\"list_id_\"+ ++e.InstanceCount,this.eventBufferer=new Sn,this.onContextMenu=bn.None,this._onOpen=new wn,this.onOpen=this._onOpen.event,this._onPin=new wn,this._onDidDispose=new wn,this.focus=new lC(function(e){return o.getElementDomId(e)}),this.selection=new uC(\"selected\"),ds(i,CC,!1),r=r.map(function(e){return new SC(e.templateId,[o.focus.renderer,o.selection.renderer,e])}),this.view=new rC(t,n,r,i),this.view.domNode.setAttribute(\"role\",\"tree\"),Mc(this.view.domNode,this.idPrefix),this.view.domNode.tabIndex=0,this.styleElement=uh(this.view.domNode),this.styleController=i.styleController,this.styleController||(this.styleController=new _C(this.styleElement,this.idPrefix)),this.spliceable=new sC([new cC(this.focus,this.view,i.identityProvider),new cC(this.selection,this.view,i.identityProvider),this.view]),this.disposables=[this.focus,this.selection,this.view,this._onDidDispose],this.onDidFocus=xn(Cc(this.view.domNode,\"focus\",!0),function(){return null}),this.onDidBlur=xn(Cc(this.view.domNode,\"blur\",!0),function(){return null}),this.disposables.push(new pC(this,this.view)),\"boolean\"!=typeof i.keyboardSupport||i.keyboardSupport){var s=new dC(this,this.view,i);this.disposables.push(s)}(\"boolean\"!=typeof i.mouseSupport||i.mouseSupport)&&(this.mouseController=new bC(this,this.view,i),this.disposables.push(this.mouseController),this.onContextMenu=this.mouseController.onContextMenu),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),i.ariaLabel&&this.view.domNode.setAttribute(\"aria-label\",i.ariaLabel),this.style(i)}return Object.defineProperty(e.prototype,\"onFocusChange\",{get:function(){var e=this;return xn(this.eventBufferer.wrapEvent(this.focus.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onSelectionChange\",{get:function(){var e=this;return xn(this.eventBufferer.wrapEvent(this.selection.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onPin\",{get:function(){var e=this;return xn(this._onPin.event,function(t){return e.toListEvent({indexes:t})})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseClick\",{get:function(){return this.view.onMouseClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseDblClick\",{get:function(){return this.view.onMouseDblClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseUp\",{get:function(){return this.view.onMouseUp},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseDown\",{get:function(){return this.view.onMouseDown},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseOver\",{get:function(){return this.view.onMouseOver},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseMove\",{get:function(){return this.view.onMouseMove},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseOut\",{get:function(){return this.view.onMouseOut},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onTouchStart\",{get:function(){return this.view.onTouchStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onTap\",{get:function(){return this.view.onTap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onKeyDown\",{get:function(){return Cc(this.view.domNode,\"keydown\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onKeyUp\",{get:function(){return Cc(this.view.domNode,\"keyup\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onKeyPress\",{get:function(){return Cc(this.view.domNode,\"keypress\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidDispose\",{get:function(){return this._onDidDispose.event},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var r=this;void 0===n&&(n=[]),0===t&&0===n.length||this.eventBufferer.bufferEvents(function(){return r.spliceable.splice(e,t,n)})},Object.defineProperty(e.prototype,\"length\",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"contentHeight\",{get:function(){return this.view.getContentHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"scrollTop\",{get:function(){return this.view.getScrollTop()},set:function(e){this.view.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.domFocus=function(){this.view.domNode.focus()},e.prototype.layout=function(e){this.view.layout(e)},e.prototype.setSelection=function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t];if(r<0||r>=this.length)throw new Error(\"Invalid index \"+r)}e=e.sort(AC),this.selection.set(e)},e.prototype.selectNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.selection.get(),r=n.length>0?n[0]+e:0;this.setSelection(t?[r%this.length]:[Math.min(r,this.length-1)])}},e.prototype.selectPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.selection.get(),r=n.length>0?n[0]-e:0;t&&r<0&&(r=this.length+r%this.length),this.setSelection([Math.max(r,0)])}},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.getSelectedElements=function(){var e=this;return this.getSelection().map(function(t){return e.view.element(t)})},e.prototype.setFocus=function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t];if(r<0||r>=this.length)throw new Error(\"Invalid index \"+r)}e=e.sort(AC),this.focus.set(e)},e.prototype.focusNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.focus.get(),r=n.length>0?n[0]+e:0;this.setFocus(t?[r%this.length]:[Math.min(r,this.length-1)])}},e.prototype.focusPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.focus.get(),r=n.length>0?n[0]-e:0;t&&r<0&&(r=(this.length+r%this.length)%this.length),this.setFocus([Math.max(r,0)])}},e.prototype.focusNextPage=function(){var e=this,t=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);t=0===t?0:t-1;var n=this.view.element(t);if(this.getFocusedElements()[0]!==n)this.setFocus([t]);else{var r=this.view.getScrollTop();this.view.setScrollTop(r+this.view.renderHeight-this.view.elementHeight(t)),this.view.getScrollTop()!==r&&setTimeout(function(){return e.focusNextPage()},0)}},e.prototype.focusPreviousPage=function(){var e,t=this,n=this.view.getScrollTop();e=0===n?this.view.indexAt(n):this.view.indexAfter(n-1);var r=this.view.element(e);if(this.getFocusedElements()[0]!==r)this.setFocus([e]);else{var i=n;this.view.setScrollTop(n-this.view.renderHeight),this.view.getScrollTop()!==i&&setTimeout(function(){return t.focusPreviousPage()},0)}},e.prototype.focusLast=function(){0!==this.length&&this.setFocus([this.length-1])},e.prototype.focusFirst=function(){0!==this.length&&this.setFocus([0])},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.getFocusedElements=function(){var e=this;return this.getFocus().map(function(t){return e.view.element(t)})},e.prototype.reveal=function(e,t){if(e<0||e>=this.length)throw new Error(\"Invalid index \"+e);var n,r,i,o=this.view.getScrollTop(),s=this.view.elementTop(e),a=this.view.elementHeight(e);if(Yr(t)){var u=a-this.view.renderHeight;this.view.setScrollTop(u*(n=t,r=0,i=1,Math.min(Math.max(n,r),i))+s)}else{var l=s+a,c=o+this.view.renderHeight;s<o?this.view.setScrollTop(s):l>=c&&this.view.setScrollTop(l-this.view.renderHeight)}},e.prototype.getRelativeTop=function(e){if(e<0||e>=this.length)throw new Error(\"Invalid index \"+e);var t=this.view.getScrollTop(),n=this.view.elementTop(e),r=this.view.elementHeight(e);if(n<t||n+r>t+this.view.renderHeight)return null;var i=r-this.view.renderHeight;return Math.abs((t-n)/i)},e.prototype.getElementDomId=function(e){return this.idPrefix+\"_\"+e},e.prototype.isDOMFocused=function(){return this.view.domNode===document.activeElement},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var n=this,r=0,i=e;r<i.length;r++){var o=i[r];if(o<0||o>=this.length)throw new Error(\"Invalid index \"+o)}this._onOpen.fire({indexes:e,elements:e.map(function(e){return n.view.element(e)}),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t];if(r<0||r>=this.length)throw new Error(\"Invalid index \"+r)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,n=e.indexes;return{indexes:n,elements:n.map(function(e){return t.view.element(e)})}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute(\"aria-activedescendant\",this.getElementDomId(e[0])):this.view.domNode.removeAttribute(\"aria-activedescendant\"),this.view.domNode.setAttribute(\"role\",\"tree\"),Ic(this.view.domNode,\"element-focused\",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();Ic(this.view.domNode,\"selection-none\",0===e.length),Ic(this.view.domNode,\"selection-single\",1===e.length),Ic(this.view.domNode,\"selection-multiple\",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables=on(this.disposables)},e.InstanceCount=0,oC([xm],e.prototype,\"onFocusChange\",null),oC([xm],e.prototype,\"onSelectionChange\",null),oC([xm],e.prototype,\"onPin\",null),e}(),MC=bh,NC=function(){function e(){}return Object.defineProperty(e.prototype,\"templateId\",{get:function(){return\"selectOption.entry.template\"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=Object.create(null);return t.disposables=[],t.root=e,t.optionText=vh(e,MC(\".option-text\")),t},e.prototype.renderElement=function(e,t,n){var r=n,i=e.optionText,o=e.optionDisabled;r.optionText.textContent=i,r.root.setAttribute(\"aria-label\",ns(\"selectAriaOption\",\"{0}\",i)),o?Mc(r.root,\"option-disabled\"):Nc(r.root,\"option-disabled\")},e.prototype.disposeTemplate=function(e){e.disposables=on(e.disposables)},e}(),IC=function(){function e(t,n,r,i,o){this.toDispose=[],this._isVisible=!1,this.selectBoxOptions=o||Object.create(null),\"number\"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=e.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement(\"select\"),this.selectElement.className=\"monaco-select-box\",this._onDidSelect=new wn,this.styles=i,this.registerListeners(),this.constructSelectDropDown(r),this.setOptions(t,n)}return e.prototype.getHeight=function(){return 18},e.prototype.getTemplateId=function(){return\"selectOption.entry.template\"},e.prototype.constructSelectDropDown=function(e){this.contextViewProvider=e,this.selectDropDownContainer=bh(\".monaco-select-box-dropdown-container\"),this.createSelectList(this.selectDropDownContainer);var t=vh(vh(this.selectDropDownContainer,MC(\".select-box-dropdown-container-width-control\")),MC(\".width-control-div\"));this.widthControlElement=document.createElement(\"span\"),this.widthControlElement.className=\"option-text-width-control\",vh(t,this.widthControlElement),this.styleElement=uh(this.selectDropDownContainer)},e.prototype.registerListeners=function(){var e=this;this.toDispose.push(Tc(this.selectElement,\"change\",function(t){e.selectElement.title=t.target.value,e._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value})})),this.toDispose.push(kc(this.selectElement,ph.CLICK,function(t){fh.stop(t),e._isVisible?e.hideSelectDropDown(!0):e.showSelectDropDown()})),this.toDispose.push(kc(this.selectElement,ph.MOUSE_DOWN,function(e){fh.stop(e)})),this.toDispose.push(kc(this.selectElement,ph.KEY_DOWN,function(t){var n=new hc(t),r=!1;we.d?18!==n.keyCode&&16!==n.keyCode&&10!==n.keyCode&&3!==n.keyCode||(r=!0):(18===n.keyCode&&n.altKey||16===n.keyCode&&n.altKey||10===n.keyCode||3===n.keyCode)&&(r=!0),r&&(e.showSelectDropDown(),fh.stop(t))}))},Object.defineProperty(e.prototype,\"onDidSelect\",{get:function(){return this._onDidSelect.event},enumerable:!0,configurable:!0}),e.prototype.setOptions=function(e,t,n){var r=this;if(!this.options||!Wn(this.options,e)){this.options=e,this.selectElement.options.length=0;var i=0;if(this.options.forEach(function(e){r.selectElement.add(r.createOption(e,i,n===i++))}),this.selectList&&this.options){var o=void 0;o=[],void 0!==n&&(this.disabledOptionIndex=n);for(var s=0;s<this.options.length;s++){var a=this.options[s],u=void 0;u=s===this.disabledOptionIndex,o.push({optionText:a,optionDisabled:u})}this.selectList.splice(0,this.selectList.length,o)}}void 0!==t&&this.select(t)},e.prototype.select=function(e){e>=0&&e<this.options.length?this.selected=e:e>this.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selectElement.title=this.options[this.selected]},e.prototype.focus=function(){this.selectElement&&this.selectElement.focus()},e.prototype.blur=function(){this.selectElement&&this.selectElement.blur()},e.prototype.render=function(e){Mc(e,\"select-container\"),e.appendChild(this.selectElement),this.setOptions(this.options,this.selected),this.applyStyles()},e.prototype.style=function(e){var t=[];this.styles=e,this.styles.listFocusBackground&&t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: \"+this.styles.listFocusBackground+\" !important; }\"),this.styles.listFocusForeground&&t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused:not(:hover) { color: \"+this.styles.listFocusForeground+\" !important; }\"),this.styles.listHoverForeground&&(t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:hover { color: \"+this.styles.listHoverForeground+\" !important; }\"),t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: \"+this.styles.listActiveSelectionForeground+\" !important; }\")),this.styles.listHoverBackground&&(t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: \"+this.styles.listHoverBackground+\" !important; }\"),t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: \"+this.styles.selectBackground+\" !important; }\")),this.styles.listFocusOutline&&t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted \"+this.styles.listFocusOutline+\" !important; outline-offset: -1.6px !important; }\"),this.styles.listHoverOutline&&(t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:hover:not(.focused) { outline: 1.6px dashed \"+this.styles.listHoverOutline+\" !important; outline-offset: -1.6px !important; }\"),t.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { outline: none !important; }\")),this.styleElement.innerHTML=t.join(\"\\n\"),this.applyStyles()},e.prototype.applyStyles=function(){var e=null;if(this.selectElement){e=this.styles.selectBackground?this.styles.selectBackground.toString():null;var t=this.styles.selectForeground?this.styles.selectForeground.toString():null,n=this.styles.selectBorder?this.styles.selectBorder.toString():null;this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=n}if(this.selectList){this.selectList.style({});var r=this.styles.selectListBackground?this.styles.selectListBackground.toString():e;this.selectDropDownListContainer.style.backgroundColor=r;var i=this.styles.focusBorder?this.styles.focusBorder.toString():null;this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset=\"-1px\"}},e.prototype.createOption=function(e,t,n){var r=document.createElement(\"option\");return r.value=e,r.text=e,r.disabled=n,r},e.prototype.showSelectDropDown=function(){var e=this;this.contextViewProvider&&!this._isVisible&&(this._isVisible=!0,this.cloneElementFont(this.selectElement,this.selectDropDownContainer),this.contextViewProvider.showContextView({getAnchor:function(){return e.selectElement},render:function(t){return e.renderSelectDropDown(t)},layout:function(){return e.layoutSelectDropDown()},onHide:function(){Ic(e.selectDropDownContainer,\"visible\",!1),Ic(e.selectElement,\"synthetic-focus\",!1)}}),this._currentSelection=this.selected)},e.prototype.hideSelectDropDown=function(e){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())},e.prototype.renderSelectDropDown=function(e){var t=this;return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(),{dispose:function(){return e.removeChild(t.selectDropDownContainer)}}},e.prototype.layoutSelectDropDown=function(){Ic(this.selectDropDownContainer,\"visible\",!0);var e=nh(this.selectElement),t=eh(this.selectElement),n=window.innerHeight-t.top-t.height-this.selectBoxOptions.minBottomMargin;if(n<0&&(n=0),this.selectList){this.selectList.layout();var r=this.selectList.contentHeight,i=oh(this.selectDropDownListContainer),o=i-r;i>n&&(r=Math.floor((n-o)/this.getHeight())*this.getHeight()),this.selectList.layout(r),this.selectList.domFocus(),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]),this.selectDropDownContainer.style.height=r+o+\"px\";var s=this.setWidthControlElement(this.widthControlElement),a=Math.max(s,Math.round(e)).toString()+\"px\";this.selectDropDownContainer.style.minWidth=a,this.selectDropDownListContainer.setAttribute(\"tabindex\",\"0\"),Ic(this.selectElement,\"synthetic-focus\",!0),Ic(this.selectDropDownContainer,\"synthetic-focus\",!0)}},e.prototype.setWidthControlElement=function(e){var t=0;if(e&&this.options){for(var n=0,r=0;r<this.options.length;r++)this.options[r].length>this.options[n].length&&(n=r);e.innerHTML=this.options[n],t=nh(e)}return t},e.prototype.cloneElementFont=function(e,t){var n=window.getComputedStyle(e,null).getPropertyValue(\"font-size\"),r=window.getComputedStyle(e,null).getPropertyValue(\"font-family\");t.style.fontFamily=r,t.style.fontSize=n},e.prototype.createSelectList=function(e){var t=this;this.selectDropDownListContainer=vh(e,MC(\".select-box-dropdown-list-container\")),this.listRenderer=new NC,this.selectList=new xC(this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,selectOnMouseDown:!1,verticalScrollMode:rs.Visible,keyboardSupport:!1,mouseSupport:!1});var n=In(Cc(this.selectDropDownListContainer,\"keydown\")).filter(function(){return t.selectList.length>0}).map(function(e){return new hc(e)});n.filter(function(e){return 3===e.keyCode}).on(function(e){return t.onEnter(e)},this,this.toDispose),n.filter(function(e){return 9===e.keyCode}).on(function(e){return t.onEscape(e)},this,this.toDispose),n.filter(function(e){return 16===e.keyCode}).on(this.onUpArrow,this,this.toDispose),n.filter(function(e){return 18===e.keyCode}).on(this.onDownArrow,this,this.toDispose),n.filter(function(e){return 12===e.keyCode}).on(this.onPageDown,this,this.toDispose),n.filter(function(e){return 11===e.keyCode}).on(this.onPageUp,this,this.toDispose),n.filter(function(e){return 14===e.keyCode}).on(this.onHome,this,this.toDispose),n.filter(function(e){return 13===e.keyCode}).on(this.onEnd,this,this.toDispose),n.filter(function(e){return e.keyCode>=21&&e.keyCode<=56||e.keyCode>=80&&e.keyCode<=108}).on(this.onCharacter,this,this.toDispose),In(Cc(this.selectList.getHTMLElement(),\"mouseup\")).filter(function(){return t.selectList.length>0}).on(function(e){return t.onMouseUp(e)},this,this.toDispose),this.toDispose.push(this.selectList.onDidBlur(function(e){return t.onListBlur()}))},e.prototype.onMouseUp=function(e){if(e.toElement.classList.contains(\"option-text\")){var t=e.toElement.parentElement,n=Number(t.getAttribute(\"data-index\")),r=t.classList.contains(\"option-disabled\");n>=0&&n<this.options.length&&!r&&(this.selected=n,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]),this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.selectElement.title}),this._currentSelection=-1,this.hideSelectDropDown(!0)),fh.stop(e)}},e.prototype.onListBlur=function(){this._currentSelection>=0&&this.select(this._currentSelection),this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.selectElement.title}),this.hideSelectDropDown(!1)},e.prototype.onEscape=function(e){fh.stop(e),this.select(this._currentSelection),this.hideSelectDropDown(!0),this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.selectElement.title})},e.prototype.onEnter=function(e){fh.stop(e),this._currentSelection=-1,this.hideSelectDropDown(!0),this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.selectElement.title})},e.prototype.onDownArrow=function(){this.selected<this.options.length-1&&(this.selected+1===this.disabledOptionIndex&&this.options.length>this.selected+2?this.selected+=2:this.selected++,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))},e.prototype.onUpArrow=function(){this.selected>0&&(this.selected-1===this.disabledOptionIndex&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))},e.prototype.onPageUp=function(e){var t=this;fh.stop(e),this.selectList.focusPreviousPage(),setTimeout(function(){t.selected=t.selectList.getFocus()[0],t.selected===t.disabledOptionIndex&&t.selected<t.options.length-1&&(t.selected++,t.selectList.setFocus([t.selected])),t.selectList.reveal(t.selected),t.select(t.selected)},1)},e.prototype.onPageDown=function(e){var t=this;fh.stop(e),this.selectList.focusNextPage(),setTimeout(function(){t.selected=t.selectList.getFocus()[0],t.selected===t.disabledOptionIndex&&t.selected>0&&(t.selected--,t.selectList.setFocus([t.selected])),t.selectList.reveal(t.selected),t.select(t.selected)},1)},e.prototype.onHome=function(e){fh.stop(e),this.options.length<2||(this.selected=0,this.selected===this.disabledOptionIndex&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))},e.prototype.onEnd=function(e){fh.stop(e),this.options.length<2||(this.selected=this.options.length-1,this.selected===this.disabledOptionIndex&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))},e.prototype.onCharacter=function(e){for(var t=Ya.toString(e.keyCode),n=-1,r=0;r<this.options.length-1;r++)if(n=(r+this.selected+1)%this.options.length,this.options[n].charAt(0).toUpperCase()===t){this.select(n),this.selectList.setFocus([n]),this.selectList.reveal(this.selectList.getFocus()[0]),fh.stop(e);break}},e.prototype.dispose=function(){this.hideSelectDropDown(!1),this.toDispose=on(this.toDispose)},e.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32,e}(),LC=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),kC={selectBackground:md.fromHex(\"#3C3C3C\"),selectForeground:md.fromHex(\"#F0F0F0\"),selectBorder:md.fromHex(\"#3C3C3C\")},TC=function(e){function t(t,n,r,i,o){void 0===i&&(i=cs(kC));var s=e.call(this)||this;return s.toDispose=[],ds(s.styles,kC,!1),we.d?s.selectBoxDelegate=new G_(t,n,i):s.selectBoxDelegate=new IC(t,n,r,i,o),s.toDispose.push(s.selectBoxDelegate),s}return LC(t,e),Object.defineProperty(t.prototype,\"onDidSelect\",{get:function(){return this.selectBoxDelegate.onDidSelect},enumerable:!0,configurable:!0}),t.prototype.setOptions=function(e,t,n){this.selectBoxDelegate.setOptions(e,t,n)},t.prototype.select=function(e){this.selectBoxDelegate.select(e)},t.prototype.focus=function(){this.selectBoxDelegate.focus()},t.prototype.blur=function(){this.selectBoxDelegate.blur()},t.prototype.render=function(e){this.selectBoxDelegate.render(e)},t.prototype.style=function(e){this.selectBoxDelegate.style(e)},t.prototype.applyStyles=function(){this.selectBoxDelegate.applyStyles()},t.prototype.dispose=function(){this.toDispose=on(this.toDispose),e.prototype.dispose.call(this)},t}(eb),FC=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),OC=function(){function e(e,t,n){var r=this;this.options=n,this._callOnDispose=[],this._context=e||this,this._action=t,t instanceof hu&&this._callOnDispose.push(t.onDidChange(function(e){r.builder&&r._handleActionChangeEvent(e)}))}return e.prototype._handleActionChangeEvent=function(e){void 0!==e.enabled&&this._updateEnabled(),void 0!==e.checked&&this._updateChecked(),void 0!==e.class&&this._updateClass(),void 0!==e.label&&(this._updateLabel(),this._updateTooltip()),void 0!==e.tooltip&&this._updateTooltip()},Object.defineProperty(e.prototype,\"callOnDispose\",{get:function(){return this._callOnDispose},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"actionRunner\",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),e.prototype.getAction=function(){return this._action},e.prototype.isEnabled=function(){return this._action.enabled},e.prototype.setActionContext=function(e){this._context=e},e.prototype.render=function(e){var t=this;this.builder=Z_(e),Im.addTarget(e);var n=this.options&&this.options.draggable;n&&(e.draggable=!0),this.builder.on(Mm.Tap,function(e){return t.onClick(e)}),this.builder.on(ph.MOUSE_DOWN,function(e){n||fh.stop(e,!0);var r=e;t._action.enabled&&0===r.button&&t.builder.addClass(\"active\")}),this.builder.on(ph.CLICK,function(e){fh.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):we.h(function(){return t.onClick(e)})}),this.builder.on([ph.MOUSE_UP,ph.MOUSE_OUT],function(e){fh.stop(e),t.builder.removeClass(\"active\")})},e.prototype.onClick=function(e){var t;fh.stop(e,!0),Kr(this._context)?t=e:(t=this._context).event=e,this._actionRunner.run(this._action,t)},e.prototype.focus=function(){this.builder&&this.builder.domFocus()},e.prototype.blur=function(){this.builder&&this.builder.domBlur()},e.prototype._updateEnabled=function(){},e.prototype._updateLabel=function(){},e.prototype._updateTooltip=function(){},e.prototype._updateClass=function(){},e.prototype._updateChecked=function(){},e.prototype.dispose=function(){this.builder&&(this.builder.destroy(),this.builder=null),this._callOnDispose=on(this._callOnDispose)},e}(),PC=function(e){function t(n,r){var i=e.call(this,t.ID,n,n?\"separator text\":\"separator\")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i.order=r,i}return FC(t,e),t.ID=\"vs.actions.separator\",t}(hu),BC=function(e){function t(t,n,r){void 0===r&&(r={});var i=e.call(this,t,n,r)||this;return i.options=r,i.options.icon=void 0!==r.icon&&r.icon,i.options.label=void 0===r.label||r.label,i.cssClass=\"\",i}return FC(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.$e=Z_(\"a.action-label\").appendTo(this.builder),this._action.id===PC.ID?this.$e.attr({role:\"presentation\"}):this.options.isMenu?this.$e.attr({role:\"menuitem\"}):this.$e.attr({role:\"button\"}),this.options.label&&this.options.keybinding&&Z_(\"span.keybinding\").text(this.options.keybinding).appendTo(this.builder),this._updateClass(),this._updateLabel(),this._updateTooltip(),this._updateEnabled(),this._updateChecked()},t.prototype.focus=function(){e.prototype.focus.call(this),this.$e.domFocus()},t.prototype._updateLabel=function(){this.options.label&&this.$e.text(this.getAction().label)},t.prototype._updateTooltip=function(){var e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=ns({key:\"titleLabel\",comment:[\"action title\",\"action keybinding\"]},\"{0} ({1})\",e,this.options.keybinding))),e&&this.$e.attr({title:e})},t.prototype._updateClass=function(){this.cssClass&&this.$e.removeClass(this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,this.$e.addClass(\"icon\"),this.cssClass&&this.$e.addClass(this.cssClass),this._updateEnabled()):this.$e.removeClass(\"icon\")},t.prototype._updateEnabled=function(){this.getAction().enabled?(this.builder.removeClass(\"disabled\"),this.$e.removeClass(\"disabled\"),this.$e.attr({tabindex:0})):(this.builder.addClass(\"disabled\"),this.$e.addClass(\"disabled\"),wh(this.$e.getHTMLElement()))},t.prototype._updateChecked=function(){this.getAction().checked?this.$e.addClass(\"checked\"):this.$e.removeClass(\"checked\")},t}(OC);!function(e){e[e.HORIZONTAL=0]=\"HORIZONTAL\",e[e.HORIZONTAL_REVERSE=1]=\"HORIZONTAL_REVERSE\",e[e.VERTICAL=2]=\"VERTICAL\",e[e.VERTICAL_REVERSE=3]=\"VERTICAL_REVERSE\"}(EC||(EC={}));var RC,jC={orientation:EC.HORIZONTAL,context:null},zC=function(){function e(e,t){void 0===t&&(t=jC);var n,r,i=this;switch(this._onDidBlur=new wn,this._onDidCancel=new wn,this._onDidRun=new wn,this._onDidBeforeRun=new wn,this.options=t,this._context=t.context,this.toDispose=[],this._actionRunner=this.options.actionRunner,this._actionRunner||(this._actionRunner=new du,this.toDispose.push(this._actionRunner)),this.toDispose.push(this._actionRunner.onDidRun(function(e){return i._onDidRun.fire(e)})),this.toDispose.push(this._actionRunner.onDidBeforeRun(function(e){return i._onDidBeforeRun.fire(e)})),this.items=[],this.focusedItem=void 0,this.domNode=document.createElement(\"div\"),this.domNode.className=\"monaco-action-bar\",!1!==t.animated&&Mc(this.domNode,\"animated\"),this.options.orientation){case EC.HORIZONTAL:n=15,r=17;break;case EC.HORIZONTAL_REVERSE:n=17,r=15,this.domNode.className+=\" reverse\";break;case EC.VERTICAL:n=16,r=18,this.domNode.className+=\" vertical\";break;case EC.VERTICAL_REVERSE:n=18,r=16,this.domNode.className+=\" vertical reverse\"}Z_(this.domNode).on(ph.KEY_DOWN,function(e){var t=new hc(e),o=!0;t.equals(n)?i.focusPrevious():t.equals(r)?i.focusNext():t.equals(9)?i.cancel():t.equals(3)||t.equals(10)||(o=!1),o&&(t.preventDefault(),t.stopPropagation())}),Z_(this.domNode).on(ph.KEY_UP,function(e){var t=new hc(e);t.equals(3)||t.equals(10)?(i.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&i.updateFocusedItem()}),this.focusTracker=mh(this.domNode),this.toDispose.push(this.focusTracker.onDidBlur(function(){document.activeElement!==i.domNode&&sh(document.activeElement,i.domNode)||(i._onDidBlur.fire(),i.focusedItem=void 0)})),this.toDispose.push(this.focusTracker.onDidFocus(function(){return i.updateFocusedItem()})),this.actionsList=document.createElement(\"ul\"),this.actionsList.className=\"actions-container\",this.options.isMenu?this.actionsList.setAttribute(\"role\",\"menubar\"):this.actionsList.setAttribute(\"role\",\"toolbar\"),this.options.ariaLabel&&this.actionsList.setAttribute(\"aria-label\",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,\"onDidBlur\",{get:function(){return this._onDidBlur.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidCancel\",{get:function(){return this._onDidCancel.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidRun\",{get:function(){return this._onDidRun.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidBeforeRun\",{get:function(){return this._onDidBeforeRun.event},enumerable:!0,configurable:!0}),e.prototype.setAriaLabel=function(e){e?this.actionsList.setAttribute(\"aria-label\",e):this.actionsList.removeAttribute(\"aria-label\")},e.prototype.updateFocusedItem=function(){for(var e=0;e<this.actionsList.children.length;e++){var t=this.actionsList.children[e];if(sh(document.activeElement,t)){this.focusedItem=e;break}}},Object.defineProperty(e.prototype,\"context\",{get:function(){return this._context},set:function(e){this._context=e,this.items.forEach(function(t){return t.setActionContext(e)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"actionRunner\",{get:function(){return this._actionRunner},set:function(e){e&&(this._actionRunner=e,this.items.forEach(function(t){return t.actionRunner=e}))},enumerable:!0,configurable:!0}),e.prototype.getContainer=function(){return this.domNode},e.prototype.push=function(e,t){var n=this;void 0===t&&(t={});var r=Array.isArray(e)?e:[e],i=Yr(t.index)?t.index:null;r.forEach(function(e){var r=document.createElement(\"li\");r.className=\"action-item\",r.setAttribute(\"role\",\"presentation\"),Z_(r).on(ph.CONTEXT_MENU,function(e){e.preventDefault(),e.stopPropagation()});var o=null;n.options.actionItemProvider&&(o=n.options.actionItemProvider(e)),o||(o=new BC(n.context,e,t)),o.actionRunner=n._actionRunner,o.setActionContext(n.context),o.render(r),null===i||i<0||i>=n.actionsList.children.length?n.actionsList.appendChild(r):n.actionsList.insertBefore(r,n.actionsList.children[i++]),n.items.push(o)})},e.prototype.getWidth=function(e){return e>=0&&e<this.actionsList.children.length?this.actionsList.children.item(e).clientWidth:0},e.prototype.getHeight=function(e){return e>=0&&e<this.actionsList.children.length?this.actionsList.children.item(e).clientHeight:0},e.prototype.pull=function(e){e>=0&&e<this.items.length&&(this.items.splice(e,1),this.actionsList.removeChild(this.actionsList.childNodes[e]))},e.prototype.clear=function(){this.items=on(this.items),Z_(this.actionsList).empty()},e.prototype.length=function(){return this.items.length},e.prototype.isEmpty=function(){return 0===this.items.length},e.prototype.focus=function(e){e&&void 0===this.focusedItem&&(this.focusedItem=0),this.updateFocus()},e.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.items.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.items.length,e=this.items[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},e.prototype.focusPrevious=function(){void 0===this.focusedItem&&(this.focusedItem=0);var e,t=this.focusedItem;do{this.focusedItem=this.focusedItem-1,this.focusedItem<0&&(this.focusedItem=this.items.length-1),e=this.items[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},e.prototype.updateFocus=function(e){if(void 0!==this.focusedItem)for(var t=0;t<this.items.length;t++){var n=this.items[t];t===this.focusedItem?Xr(n.focus)&&n.focus(e):Xr(n.blur)&&n.blur()}else this.domNode.focus()},e.prototype.doTrigger=function(e){if(void 0!==this.focusedItem){var t=this.items[this.focusedItem];if(t instanceof OC){var n=null===t._context||void 0===t._context?e:t._context;this.run(t._action,n).done()}}},e.prototype.cancel=function(){document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._onDidCancel.fire()},e.prototype.run=function(e,t){return this._actionRunner.run(e,t)},e.prototype.dispose=function(){null!==this.items&&on(this.items),this.items=null,this.focusTracker&&(this.focusTracker.dispose(),this.focusTracker=null),this.toDispose=on(this.toDispose),Z_(this.getContainer()).destroy()},e}(),WC=(function(e){function t(t,n,r,i,o){var s=e.call(this,t,n)||this;return s.selectBox=new TC(r,i,o),s.toDispose=[],s.toDispose.push(s.selectBox),s.registerListeners(),s}FC(t,e),t.prototype.setOptions=function(e,t,n){this.selectBox.setOptions(e,t,n)},t.prototype.select=function(e){this.selectBox.select(e)},t.prototype.registerListeners=function(){var e=this;this.toDispose.push(this.selectBox.onDidSelect(function(t){e.actionRunner.run(e._action,e.getActionContext(t.selected)).done()}))},t.prototype.getActionContext=function(e){return e},t.prototype.focus=function(){this.selectBox&&this.selectBox.focus()},t.prototype.blur=function(){this.selectBox&&this.selectBox.blur()},t.prototype.render=function(e){this.selectBox.render(e)},t.prototype.dispose=function(){this.toDispose=on(this.toDispose),e.prototype.dispose.call(this)}}(OC),Or(\"contextViewService\")),VC=Or(\"contextMenuService\");!function(e){e[e.Default=1]=\"Default\",e[e.User=2]=\"User\"}(RC||(RC={}));var HC=Or(\"keybindingService\"),UC=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),YC=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ZC=function(e,t){return function(n,r){t(n,r,e)}},GC=function(){function e(e,t,n,r,i,o){var s=this;this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=r,this._keybindingService=i,this._menuService=o,this._toDispose=[],this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.push(this._editor.onContextMenu(function(e){return s._onContextMenu(e)})),this._toDispose.push(this._editor.onDidScrollChange(function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()})),this._toDispose.push(this._editor.onKeyDown(function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())}))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));var t;e.target.type!==ju.OVERLAY_WIDGET&&(e.event.preventDefault(),(e.target.type===ju.CONTENT_TEXT||e.target.type===ju.CONTENT_EMPTY||e.target.type===ju.TEXTAREA)&&(this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position),e.target.type!==ju.TEXTAREA&&(t={x:e.event.posx,y:e.event.posy+1}),this.showContextMenu(t)))},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu)if(this._contextMenuService){var t=this._getMenuActions();t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(){var e=[],t=this._menuService.createMenu(Iu.EditorContext,this._contextKeyService),n=t.getActions({arg:this._editor.getModel().uri});t.dispose();for(var r=0,i=n;r<i.length;r++){var o=i[r][1];e.push.apply(e,o),e.push(new PC)}return e.pop(),e},e.prototype._doShowContextMenu=function(e,t){var n=this;void 0===t&&(t=null);var r=this._editor.getConfiguration().contribInfo.hover;this._editor.updateOptions({hover:!1});var i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();var o=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),s=eh(this._editor.getDomNode()),a=s.left+o.left,u=s.top+o.top+o.height;i={x:a,y:u}}this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({getAnchor:function(){return i},getActions:function(){return cn.b.as(e)},getActionItem:function(e){var t=n._keybindingFor(e);if(t)return new BC(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});var r=e;return\"function\"==typeof r.getActionItem?r.getActionItem():new BC(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:function(e){return n._keybindingFor(e)},onHide:function(e){n._contextMenuIsBeingShownCount--,n._editor.focus(),n._editor.updateOptions({hover:r})}})},e.prototype._keybindingFor=function(e){return this._keybindingService.lookupKeybinding(e.id)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose=on(this._toDispose)},e.ID=\"editor.contrib.contextmenu\",e=YC([ZC(1,VC),ZC(2,WC),ZC(3,Su),ZC(4,HC),ZC(5,Lu)],e)}(),KC=function(e){function t(){return e.call(this,{id:\"editor.action.showContextMenu\",label:ns(\"action.showContextMenu.label\",\"Show Editor Context Menu\"),alias:\"Show Editor Context Menu\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:1092}})||this}return UC(t,e),t.prototype.run=function(e,t){GC.get(t).showContextMenu()},t}(qu);el(GC),$u(KC);var qC=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),QC=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0},e}(),XC=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._isCursorUndo=!1,n._undoStack=[],n._prevState=n._readState(),n._register(t.onDidChangeModel(function(e){n._undoStack=[],n._prevState=null})),n._register(t.onDidChangeModelContent(function(e){n._undoStack=[],n._prevState=null})),n._register(t.onDidChangeCursorSelection(function(e){!n._isCursorUndo&&n._prevState&&(n._undoStack.push(n._prevState),n._undoStack.length>50&&n._undoStack.shift()),n._prevState=n._readState()})),n}return qC(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.getModel()?new QC(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){for(var e=new QC(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),this._editor.revealRangeInCenterIfOutsideViewport(t.selections[0],0),void(this._isCursorUndo=!1)}},t.ID=\"editor.contrib.cursorUndoController\",t}(un),JC=function(e){function t(){return e.call(this,{id:\"cursorUndo\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:2099}})||this}return qC(t,e),t.prototype.runEditorCommand=function(e,t,n){XC.get(t).cursorUndo()},t}(Ku);el(XC),Ju(new JC);n(337);var $C=function(){function e(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n}return e.prototype.getEditOperations=function(e,t){var n=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new be(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new Ii(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new Ii(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber<this.selection.endLineNumber?this.targetSelection=new Ii(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new Ii(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,(this.selection.startLineNumber,this.selection.endLineNumber,this.targetPosition.column-this.selection.endColumn+this.selection.startColumn),this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new Ii(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn):this.targetSelection=this.selection},e.prototype.computeCursorState=function(e,t){return this.targetSelection},e}();el(function(){function e(e){var t=this;this._editor=e,this._toUnhook=[],this._toUnhook.push(this._editor.onMouseDown(function(e){return t._onEditorMouseDown(e)})),this._toUnhook.push(this._editor.onMouseUp(function(e){return t._onEditorMouseUp(e)})),this._toUnhook.push(this._editor.onMouseDrag(function(e){return t._onEditorMouseDrag(e)})),this._toUnhook.push(this._editor.onMouseDrop(function(e){return t._onEditorMouseDrop(e)})),this._toUnhook.push(this._editor.onKeyDown(function(e){return t.onEditorKeyDown(e)})),this._toUnhook.push(this._editor.onKeyUp(function(e){return t.onEditorKeyUp(e)})),this._dndDecorationIds=[],this._mouseDown=!1,this._modiferPressed=!1,this._dragSelection=null}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.onEditorKeyDown=function(t){this._editor.getConfiguration().dragAndDrop&&(t[e.TRIGGER_MODIFIER]&&(this._modiferPressed=!0),this._mouseDown&&t[e.TRIGGER_MODIFIER]&&this._editor.updateOptions({mouseStyle:\"copy\"}))},e.prototype.onEditorKeyUp=function(t){this._editor.getConfiguration().dragAndDrop&&(t[e.TRIGGER_MODIFIER]&&(this._modiferPressed=!1),this._mouseDown&&t.keyCode===e.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:\"default\"}))},e.prototype._onEditorMouseDown=function(e){this._mouseDown=!0},e.prototype._onEditorMouseUp=function(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:\"text\"})},e.prototype._onEditorMouseDrag=function(t){var n=t.target;if(null===this._dragSelection){var r=this._editor.getSelections().filter(function(e){return e.containsPosition(n.position)});if(1!==r.length)return;this._dragSelection=r[0]}t.event[e.TRIGGER_MODIFIER]?this._editor.updateOptions({mouseStyle:\"copy\"}):this._editor.updateOptions({mouseStyle:\"default\"}),this._dragSelection.containsPosition(n.position)?this._removeDecoration():this.showAt(n.position)},e.prototype._onEditorMouseDrop=function(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){var n=new ye(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection)if(t.event.shiftKey){var r=this._editor.getSelection(),i=r.startLineNumber,o=r.startColumn;this._editor.setSelections([new Ii(i,o,n.lineNumber,n.column)])}else{var s=this._editor.getSelections().map(function(e){return e.containsPosition(n)?new Ii(n.lineNumber,n.column,n.lineNumber,n.column):e});this._editor.setSelections(s)}else(!this._dragSelection.containsPosition(n)||(t.event[e.TRIGGER_MODIFIER]||this._modiferPressed)&&(this._dragSelection.getEndPosition().equals(n)||this._dragSelection.getStartPosition().equals(n)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(e.ID,new $C(this._dragSelection,n,t.event[e.TRIGGER_MODIFIER]||this._modiferPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:\"text\"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1},e.prototype.showAt=function(t){var n=[{range:new be(t.lineNumber,t.column,t.lineNumber,t.column),options:e._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,n),this._editor.revealPosition(t,1)},e.prototype._removeDecoration=function(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])},e.prototype._hitContent=function(e){return e.type===ju.CONTENT_TEXT||e.type===ju.CONTENT_EMPTY},e.prototype._hitMargin=function(e){return e.type===ju.GUTTER_GLYPH_MARGIN||e.type===ju.GUTTER_LINE_NUMBERS||e.type===ju.GUTTER_LINE_DECORATIONS},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modiferPressed=!1,this._toUnhook=on(this._toUnhook)},e.ID=\"editor.contrib.dragAndDrop\",e.TRIGGER_MODIFIER=we.d?\"altKey\":\"ctrlKey\",e.TRIGGER_KEY_VALUE=we.d?6:5,e._DECORATION_OPTIONS=Ma.register({className:\"dnd-target\"}),e}());var ew=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),tw=function(){function e(e,t,n){void 0===t&&(t=0),void 0===n&&(n=e.length),this.items=e,this.start=t,this.end=n,this.index=t-1}return e.prototype.first=function(){return this.index=this.start,this.current()},e.prototype.next=function(){return this.index=Math.min(this.index+1,this.end),this.current()},e.prototype.current=function(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]},e}(),nw=function(e){function t(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=t.length),e.call(this,t,n,r)||this}return ew(t,e),t.prototype.current=function(){return e.prototype.current.call(this)},t.prototype.previous=function(){return this.index=Math.max(this.index-1,this.start-1),this.current()},t.prototype.first=function(){return this.index=this.start,this.current()},t.prototype.last=function(){return this.index=this.end-1,this.current()},t.prototype.parent=function(){return null},t}(tw),rw=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}(),iw=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.navigator=t,r}return ew(t,e),t.prototype.current=function(){return this.fn(this.navigator.current())},t.prototype.previous=function(){return this.fn(this.navigator.previous())},t.prototype.parent=function(){return this.fn(this.navigator.parent())},t.prototype.first=function(){return this.fn(this.navigator.first())},t.prototype.last=function(){return this.fn(this.navigator.last())},t.prototype.next=function(){return this.fn(this.navigator.next())},t}(rw),ow=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=10),this._initialize(e),this._limit=t,this._onChange()}return e.prototype.getHistory=function(){return this._elements},e.prototype.add=function(e){this._history.delete(e),this._history.add(e),this._onChange()},e.prototype.addIfNotPresent=function(e){this._history.has(e)||this.add(e)},e.prototype.next=function(){return this._navigator.next()?this._navigator.current():(this.last(),null)},e.prototype.previous=function(){return this._navigator.previous()?this._navigator.current():(this.first(),null)},e.prototype.current=function(){return this._navigator.current()},e.prototype.parent=function(){return null},e.prototype.first=function(){return this._navigator.first()},e.prototype.last=function(){return this._navigator.last()},e.prototype.clear=function(){this._initialize([]),this._onChange()},e.prototype._onChange=function(){this._reduceToLimit(),this._navigator=new nw(this._elements),this._navigator.last()},e.prototype._reduceToLimit=function(){var e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,n=e;t<n.length;t++){var r=n[t];this._history.add(r)}},Object.defineProperty(e.prototype,\"_elements\",{get:function(){var e=[];return this._history.forEach(function(t){return e.push(t)}),e},enumerable:!0,configurable:!0}),e}(),sw=function(){function e(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?(this._staticValue=e[0].staticValue,this._pieces=null):(this._staticValue=null,this._pieces=e):(this._staticValue=\"\",this._pieces=null)}return e.fromStaticValue=function(t){return new e([aw.staticValue(t)])},Object.defineProperty(e.prototype,\"hasReplacementPatterns\",{get:function(){return null===this._staticValue},enumerable:!0,configurable:!0}),e.prototype.buildReplaceString=function(t){if(null!==this._staticValue)return this._staticValue;for(var n=\"\",r=0,i=this._pieces.length;r<i;r++){var o=this._pieces[r];null===o.staticValue?n+=e._substitute(o.matchIndex,t):n+=o.staticValue}return n},e._substitute=function(e,t){if(0===e)return t[0];for(var n=\"\";e>0;){if(e<t.length)return(t[e]||\"\")+n;n=String(e%10)+n,e=Math.floor(e/10)}return\"$\"+n},e}(),aw=function(){function e(e,t){this.staticValue=e,this.matchIndex=t}return e.staticValue=function(t){return new e(t,-1)},e.matchIndex=function(t){return new e(null,t)},e}(),uw=function(){function e(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=\"\"}return e.prototype.emitUnchanged=function(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e},e.prototype.emitStatic=function(e,t){this._emitStatic(e),this._lastCharIndex=t},e.prototype._emitStatic=function(e){0!==e.length&&(this._currentStaticPiece+=e)},e.prototype.emitMatchIndex=function(e,t){0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=aw.staticValue(this._currentStaticPiece),this._currentStaticPiece=\"\"),this._result[this._resultLen++]=aw.matchIndex(e),this._lastCharIndex=t},e.prototype.finalize=function(){return this.emitUnchanged(this._source.length),0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=aw.staticValue(this._currentStaticPiece),this._currentStaticPiece=\"\"),new sw(this._result)},e}();var lw=function(){function e(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}return e.prototype.dispose=function(){this._editor.deltaDecorations(this._allDecorations(),[]),this._editor=null,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=null},e.prototype.reset=function(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null},e.prototype.getCount=function(){return this._decorations.length},e.prototype.getFindScope=function(){return this._findScopeDecorationId?this._editor.getModel().getDecorationRange(this._findScopeDecorationId):null},e.prototype.getStartPosition=function(){return this._startPosition},e.prototype.setStartPosition=function(e){this._startPosition=e,this.setCurrentFindMatch(null)},e.prototype._getDecorationIndex=function(e){var t=this._decorations.indexOf(e);return t>=0?t+1:1},e.prototype.getCurrentMatchesPosition=function(t){for(var n=this._editor.getModel().getDecorationsInRange(t),r=0,i=n.length;r<i;r++){var o=n[r],s=o.options;if(s===e._FIND_MATCH_DECORATION||s===e._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(o.id)}return 1},e.prototype.setCurrentFindMatch=function(t){var n=this,r=null,i=0;if(t)for(var o=0,s=this._decorations.length;o<s;o++){var a=this._editor.getModel().getDecorationRange(this._decorations[o]);if(t.equalsRange(a)){r=this._decorations[o],i=o+1;break}}return null===this._highlightedDecorationId&&null===r||this._editor.changeDecorations(function(t){if(null!==n._highlightedDecorationId&&(t.changeDecorationOptions(n._highlightedDecorationId,e._FIND_MATCH_DECORATION),n._highlightedDecorationId=null),null!==r&&(n._highlightedDecorationId=r,t.changeDecorationOptions(n._highlightedDecorationId,e._CURRENT_FIND_MATCH_DECORATION)),null!==n._rangeHighlightDecorationId&&(t.removeDecoration(n._rangeHighlightDecorationId),n._rangeHighlightDecorationId=null),null!==r){var i=n._editor.getModel().getDecorationRange(r);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){var o=i.endLineNumber-1,s=n._editor.getModel().getLineMaxColumn(o);i=new be(i.startLineNumber,i.startColumn,o,s)}n._rangeHighlightDecorationId=t.addDecoration(i,e._RANGE_HIGHLIGHT_DECORATION)}}),i},e.prototype.set=function(t,n){var r=this;this._editor.changeDecorations(function(i){var o=e._FIND_MATCH_DECORATION,s=[];if(t.length>1e3){o=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var a=r._editor.getModel().getLineCount(),u=r._editor.getLayoutInfo().height/a,l=Math.max(2,Math.ceil(3/u)),c=t[0].range.startLineNumber,h=t[0].range.endLineNumber,d=1,p=t.length;d<p;d++){var f=t[d].range;h+l>=f.startLineNumber?f.endLineNumber>h&&(h=f.endLineNumber):(s.push({range:new be(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),c=f.startLineNumber,h=f.endLineNumber)}s.push({range:new be(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var g=new Array(t.length);for(d=0,p=t.length;d<p;d++)g[d]={range:t[d].range,options:o};r._decorations=i.deltaDecorations(r._decorations,g),r._overviewRulerApproximateDecorations=i.deltaDecorations(r._overviewRulerApproximateDecorations,s),r._rangeHighlightDecorationId&&(i.removeDecoration(r._rangeHighlightDecorationId),r._rangeHighlightDecorationId=null),r._findScopeDecorationId&&(i.removeDecoration(r._findScopeDecorationId),r._findScopeDecorationId=null),n&&(r._findScopeDecorationId=i.addDecoration(n,e._FIND_SCOPE_DECORATION))})},e.prototype.matchBeforePosition=function(e){if(0===this._decorations.length)return null;for(var t=this._decorations.length-1;t>=0;t--){var n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(r&&!(r.endLineNumber>e.lineNumber)){if(r.endLineNumber<e.lineNumber)return r;if(!(r.endColumn>e.column))return r}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])},e.prototype.matchAfterPosition=function(e){if(0===this._decorations.length)return null;for(var t=0,n=this._decorations.length;t<n;t++){var r=this._decorations[t],i=this._editor.getModel().getDecorationRange(r);if(i&&!(i.startLineNumber<e.lineNumber)){if(i.startLineNumber>e.lineNumber)return i;if(!(i.startColumn<e.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[0])},e.prototype._allDecorations=function(){var e=[];return e=(e=e.concat(this._decorations)).concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationId&&e.push(this._findScopeDecorationId),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e},e._CURRENT_FIND_MATCH_DECORATION=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,zIndex:13,className:\"currentFindMatch\",showIfCollapsed:!0,overviewRuler:{color:Pg(Mg),darkColor:Pg(Mg),position:Ln.Center}}),e._FIND_MATCH_DECORATION=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"findMatch\",showIfCollapsed:!0,overviewRuler:{color:Pg(Mg),darkColor:Pg(Mg),position:Ln.Center}}),e._FIND_MATCH_NO_OVERVIEW_DECORATION=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"findMatch\",showIfCollapsed:!0}),e._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,overviewRuler:{color:Pg(Mg),darkColor:Pg(Mg),position:Ln.Center}}),e._RANGE_HIGHLIGHT_DECORATION=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"rangeHighlight\",isWholeLine:!0}),e._FIND_SCOPE_DECORATION=Ma.register({className:\"findScope\",isWholeLine:!0}),e}(),cw=function(){function e(e,t,n){this._editorSelection=e,this._ranges=t,this._replaceStrings=n}return e.prototype.getEditOperations=function(e,t){if(this._ranges.length>0){for(var n=[],r=0;r<this._ranges.length;r++)n.push({range:this._ranges[r],text:this._replaceStrings[r]});n.sort(function(e,t){return be.compareRangesUsingStarts(e.range,t.range)});for(var i=[],o=n[0],s=1;s<n.length;s++)o.range.endLineNumber===n[s].range.startLineNumber&&o.range.endColumn===n[s].range.startColumn?(o.range=o.range.plusRange(n[s].range),o.text=o.text+n[s].text):(i.push(o),o=n[s]);i.push(o);for(var a=0;a<i.length;a++)t.addEditOperation(i[a].range,i[a].text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)},e}(),hw=new Au(\"findWidgetVisible\",!1),dw=(hw.toNegated(),new Au(\"findInputFocussed\",!1)),pw=new Au(\"replaceInputFocussed\",!1),fw={primary:545,mac:{primary:2593}},gw={primary:565,mac:{primary:2613}},mw={primary:560,mac:{primary:2608}},vw={primary:554,mac:{primary:2602}},yw={primary:528},bw={primary:530},_w={StartFindAction:\"actions.find\",StartFindWithSelection:\"actions.findWithSelection\",NextMatchFindAction:\"editor.action.nextMatchFindAction\",PreviousMatchFindAction:\"editor.action.previousMatchFindAction\",NextSelectionMatchFindAction:\"editor.action.nextSelectionMatchFindAction\",PreviousSelectionMatchFindAction:\"editor.action.previousSelectionMatchFindAction\",StartFindReplaceAction:\"editor.action.startFindReplaceAction\",CloseFindWidgetCommand:\"closeFindWidget\",ToggleCaseSensitiveCommand:\"toggleFindCaseSensitive\",ToggleWholeWordCommand:\"toggleFindWholeWord\",ToggleRegexCommand:\"toggleFindRegex\",ToggleSearchScopeCommand:\"toggleFindInSelection\",ReplaceOneAction:\"editor.action.replaceOne\",ReplaceAllAction:\"editor.action.replaceAll\",SelectAllMatchesAction:\"editor.action.selectAllMatches\",ShowPreviousFindTermAction:\"find.history.showPrevious\",ShowNextFindTermAction:\"find.history.showNext\"},Cw=function(){function e(e,t){var n=this;this._editor=e,this._state=t,this._toDispose=[],this._isDisposed=!1,this._startSearchingTimer=new Hl,this._decorations=new lw(e),this._toDispose.push(this._decorations),this._updateDecorationsScheduler=new Yl(function(){return n.research(!1)},100),this._toDispose.push(this._updateDecorationsScheduler),this._toDispose.push(this._editor.onDidChangeCursorPosition(function(e){e.reason!==La.Explicit&&e.reason!==La.Undo&&e.reason!==La.Redo||n._decorations.setStartPosition(n._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.push(this._editor.onDidChangeModelContent(function(e){n._ignoreModelContentChanged||(e.isFlush&&n._decorations.reset(),n._decorations.setStartPosition(n._editor.getPosition()),n._updateDecorationsScheduler.schedule())})),this._toDispose.push(this._state.onFindReplaceStateChange(function(e){return n._onStateChanged(e)})),this.research(!1,this._state.searchScope)}return e.prototype.dispose=function(){this._isDisposed=!0,on(this._startSearchingTimer),this._toDispose=on(this._toDispose)},e.prototype._onStateChanged=function(e){var t=this;this._isDisposed||this._editor.getModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(function(){e.searchScope?t.research(e.moveCursor,t._state.searchScope):t.research(e.moveCursor)},240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))},e._getSearchRange=function(e,t){var n=e.getFullModelRange();return t&&(n=n.intersectRanges(t)),n},e.prototype.research=function(e,t){var n=null;null!==(n=void 0!==t?t:this._decorations.getFindScope())&&n.startLineNumber!==n.endLineNumber&&(n=new be(n.startLineNumber,1,n.endLineNumber,this._editor.getModel().getLineMaxColumn(n.endLineNumber)));var r=this._findMatches(n,!1,19999);this._decorations.set(r,n),this._state.changeMatchInfo(this._decorations.getCurrentMatchesPosition(this._editor.getSelection()),this._decorations.getCount(),void 0),e&&this._moveToNextMatch(this._decorations.getStartPosition())},e.prototype._hasMatches=function(){return this._state.matchesCount>0},e.prototype._cannotFind=function(){if(!this._hasMatches()){var e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1},e.prototype._setCurrentFindMatch=function(e){var t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)},e.prototype._prevSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf(\"^\")>=0||this._state.searchString.indexOf(\"$\")>=0),n=e.lineNumber,r=e.column,i=this._editor.getModel();return t||1===r?(1===n?n=i.getLineCount():n--,r=i.getLineMaxColumn(n)):r--,new ye(n,r)},e.prototype._moveToPrevMatch=function(t,n){if(void 0===n&&(n=!1),this._decorations.getCount()<19999){var r=this._decorations.matchBeforePosition(t);return r&&r.isEmpty()&&r.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),r=this._decorations.matchBeforePosition(t)),void(r&&this._setCurrentFindMatch(r))}if(!this._cannotFind()){var i=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),i);o.getEndPosition().isBefore(t)&&(t=o.getEndPosition()),t.isBefore(o.getStartPosition())&&(t=o.getEndPosition());var s=t.lineNumber,a=t.column,u=this._editor.getModel(),l=new ye(s,a),c=u.findPreviousMatch(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return c&&c.range.isEmpty()&&c.range.getStartPosition().equals(l)&&(l=this._prevSearchPosition(l),c=u.findPreviousMatch(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),c?n||o.containsRange(c.range)?void this._setCurrentFindMatch(c.range):this._moveToPrevMatch(c.range.getStartPosition(),!0):null}},e.prototype.moveToPrevMatch=function(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())},e.prototype._nextSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf(\"^\")>=0||this._state.searchString.indexOf(\"$\")>=0),n=e.lineNumber,r=e.column,i=this._editor.getModel();return t||r===i.getLineMaxColumn(n)?(n===i.getLineCount()?n=1:n++,r=1):r++,new ye(n,r)},e.prototype._moveToNextMatch=function(e){if(this._decorations.getCount()<19999){var t=this._decorations.matchAfterPosition(e);return t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),void(t&&this._setCurrentFindMatch(t))}var n=this._getNextMatch(e,!1,!0);n&&this._setCurrentFindMatch(n.range)},e.prototype._getNextMatch=function(t,n,r,i){if(void 0===i&&(i=!1),this._cannotFind())return null;var o=this._decorations.getFindScope(),s=e._getSearchRange(this._editor.getModel(),o);s.getEndPosition().isBefore(t)&&(t=s.getStartPosition()),t.isBefore(s.getStartPosition())&&(t=s.getStartPosition());var a=t.lineNumber,u=t.column,l=this._editor.getModel(),c=new ye(a,u),h=l.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n);return r&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._nextSearchPosition(c),h=l.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n)),h?i||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),n,r,!0):null},e.prototype.moveToNextMatch=function(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())},e.prototype._getReplacePattern=function(){return this._state.isRegex?function(e){if(!e||0===e.length)return new sw(null);for(var t=new uw(e),n=0,r=e.length;n<r;n++){var i=e.charCodeAt(n);if(92!==i){if(36===i){if(++n>=r)break;if(36===(a=e.charCodeAt(n))){t.emitUnchanged(n-1),t.emitStatic(\"$\",n+1);continue}if(48===a||38===a){t.emitUnchanged(n-1),t.emitMatchIndex(0,n+1);continue}if(49<=a&&a<=57){var o=a-48;if(n+1<r){var s=e.charCodeAt(n+1);if(48<=s&&s<=57){n++,o=10*o+(s-48),t.emitUnchanged(n-2),t.emitMatchIndex(o,n+1);continue}}t.emitUnchanged(n-1),t.emitMatchIndex(o,n+1);continue}}}else{if(++n>=r)break;var a;switch(a=e.charCodeAt(n)){case 92:t.emitUnchanged(n-1),t.emitStatic(\"\\\\\",n+1);break;case 110:t.emitUnchanged(n-1),t.emitStatic(\"\\n\",n+1);break;case 116:t.emitUnchanged(n-1),t.emitStatic(\"\\t\",n+1)}}}return t.finalize()}(this._state.replaceString):sw.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),e.hasReplacementPatterns,!1);if(n)if(t.equalsRange(n.range)){var r=e.buildReplaceString(n.matches),i=new hl(t,r);this._executeEditorCommand(\"replace\",i),this._decorations.setStartPosition(new ye(t.startLineNumber,t.startColumn+r.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}},e.prototype._findMatches=function(t,n,r){var i=e._getSearchRange(this._editor.getModel(),t);return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n,r)},e.prototype.replaceAll=function(){if(this._hasMatches()){var e=this._decorations.getFindScope();null===e&&this._state.matchesCount>=19999?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}},e.prototype._largeReplaceAll=function(){var e=new Hs(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null).parseSearchRequest();if(e){var t=e.regex;if(!t.multiline){var n=\"m\";t.ignoreCase&&(n+=\"i\"),t.global&&(n+=\"g\"),t=new RegExp(t.source,n)}var r,i=this._editor.getModel(),o=i.getValue(kn.LF),s=i.getFullModelRange(),a=this._getReplacePattern();r=a.hasReplacementPatterns?o.replace(t,function(){return a.buildReplaceString(arguments)}):o.replace(t,a.buildReplaceString(null));var u=new fl(s,r,this._editor.getSelection());this._executeEditorCommand(\"replaceAll\",u)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns,1073741824),r=[],i=0,o=n.length;i<o;i++)r[i]=t.buildReplaceString(n[i].matches);var s=new cw(this._editor.getSelection(),n.map(function(e){return e.range}),r);this._executeEditorCommand(\"replaceAll\",s)},e.prototype.selectAllMatches=function(){if(this._hasMatches()){for(var e=this._decorations.getFindScope(),t=this._findMatches(e,!1,1073741824).map(function(e){return new Ii(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)}),n=this._editor.getSelection(),r=0,i=t.length;r<i;r++){if(t[r].equalsRange(n)){t=[n].concat(t.slice(0,r)).concat(t.slice(r+1));break}}this._editor.setSelections(t)}},e.prototype._executeEditorCommand=function(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}},e}();function ww(e,t){return 1===e||2!==e&&t}var Dw,Ew=function(){function e(){this._searchString=\"\",this._replaceString=\"\",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._onFindReplaceStateChange=new wn}return Object.defineProperty(e.prototype,\"searchString\",{get:function(){return this._searchString},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"replaceString\",{get:function(){return this._replaceString},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isRevealed\",{get:function(){return this._isRevealed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isReplaceRevealed\",{get:function(){return this._isReplaceRevealed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isRegex\",{get:function(){return ww(this._isRegexOverride,this._isRegex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"wholeWord\",{get:function(){return ww(this._wholeWordOverride,this._wholeWord)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"matchCase\",{get:function(){return ww(this._matchCaseOverride,this._matchCase)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"actualIsRegex\",{get:function(){return this._isRegex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"actualWholeWord\",{get:function(){return this._wholeWord},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"actualMatchCase\",{get:function(){return this._matchCase},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"searchScope\",{get:function(){return this._searchScope},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"matchesPosition\",{get:function(){return this._matchesPosition},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"matchesCount\",{get:function(){return this._matchesCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"currentMatch\",{get:function(){return this._currentMatch},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onFindReplaceStateChange\",{get:function(){return this._onFindReplaceStateChange.event},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){},e.prototype.changeMatchInfo=function(e,t,n){var r={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},i=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,i=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,i=!0),void 0!==n&&(be.equalsRange(this._currentMatch,n)||(this._currentMatch=n,r.currentMatch=!0,i=!0)),i&&this._onFindReplaceStateChange.fire(r)},e.prototype.change=function(e,t,n){void 0===n&&(n=!0);var r={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},i=!1,o=this.isRegex,s=this.wholeWord,a=this.matchCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,r.searchString=!0,i=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,r.replaceString=!0,i=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,r.isRevealed=!0,i=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,r.isReplaceRevealed=!0,i=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.searchScope&&(be.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,r.searchScope=!0,i=!0)),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,o!==this.isRegex&&(i=!0,r.isRegex=!0),s!==this.wholeWord&&(i=!0,r.wholeWord=!0),a!==this.matchCase&&(i=!0,r.matchCase=!0),i&&this._onFindReplaceStateChange.fire(r)},e}(),Aw=Or(\"clipboardService\"),Sw=(n(338),n(339),n(340),function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.nextId=function(){return this._prefix+ ++this._lastId},e}()),xw=new Sw(\"id#\"),Mw=function(){function e(e){void 0===e&&(e=\"\"),this.value=e}return e.prototype.appendText=function(e){return this.value+=e.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\"),this},e.prototype.appendMarkdown=function(e){return this.value+=e,this},e.prototype.appendCodeblock=function(e,t){return this.value+=\"\\n```\",this.value+=e,this.value+=\"\\n\",this.value+=t,this.value+=\"\\n```\\n\",this},e}();function Nw(e){return Iw(e)?!e.value:!Array.isArray(e)||e.every(Nw)}function Iw(e){return e instanceof Mw||!(!e||\"object\"!=typeof e)&&(\"string\"==typeof e.value&&(\"boolean\"==typeof e.isTrusted||void 0===e.isTrusted))}function Lw(e,t){return e===t||!(!e||!t)&&(e.value===t.value&&e.isTrusted===t.isTrusted)}function kw(e){return e?e.replace(/\\\\([\\\\`*_{}[\\]()#+\\-.!])/g,\"$1\"):e}(function(e){var t={newline:/^\\n+/,code:/^( {4}[^\\n]+\\n*)+/,fences:f,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,heading:/^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,nptable:f,blockquote:/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,list:/^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,html:/^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,def:/^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,table:f,lheading:/^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,paragraph:/^([^\\n]+(?:\\n?(?!hr|heading|lheading| {0,3}>|tag)[^\\n]+)+)/,text:/^[^\\n]+/};function n(e){this.tokens=[],this.tokens.links={},this.options=e||m.defaults,this.rules=t.normal,this.options.gfm&&(this.options.tables?this.rules=t.tables:this.rules=t.gfm)}t._label=/(?:\\\\[\\[\\]]|[^\\[\\]])+/,t._title=/(?:\"(?:\\\\\"|[^\"]|\"[^\"\\n]*\")*\"|'\\n?(?:[^'\\n]+\\n?)*'|\\([^()]*\\))/,t.def=c(t.def).replace(\"label\",t._label).replace(\"title\",t._title).getRegex(),t.bullet=/(?:[*+-]|\\d+\\.)/,t.item=/^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/,t.item=c(t.item,\"gm\").replace(/bull/g,t.bullet).getRegex(),t.list=c(t.list).replace(/bull/g,t.bullet).replace(\"hr\",\"\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))\").replace(\"def\",\"\\\\n+(?=\"+t.def.source+\")\").getRegex(),t._tag=\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\",t.html=c(t.html).replace(\"comment\",/<!--[\\s\\S]*?-->/).replace(\"closed\",/<(tag)[\\s\\S]+?<\\/\\1>/).replace(\"closing\",/<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"\\/>\\s]*)*?\\/?>/).replace(/tag/g,t._tag).getRegex(),t.paragraph=c(t.paragraph).replace(\"hr\",t.hr).replace(\"heading\",t.heading).replace(\"lheading\",t.lheading).replace(\"tag\",\"<\"+t._tag).getRegex(),t.blockquote=c(t.blockquote).replace(\"paragraph\",t.paragraph).getRegex(),t.normal=g({},t),t.gfm=g({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\n? *\\1 *(?:\\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/}),t.gfm.paragraph=c(t.paragraph).replace(\"(?!\",\"(?!\"+t.gfm.fences.source.replace(\"\\\\1\",\"\\\\2\")+\"|\"+t.list.source.replace(\"\\\\1\",\"\\\\3\")+\"|\").getRegex(),t.tables=g({},t.gfm,{nptable:/^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,table:/^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\\r\\n|\\r/g,\"\\n\").replace(/\\t/g,\"    \").replace(/\\u00a0/g,\" \").replace(/\\u2424/g,\"\\n\"),this.token(e,!0)},n.prototype.token=function(e,n){var r,i,o,s,a,u,l,c,h,d,p;for(e=e.replace(/^ +$/gm,\"\");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:\"space\"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,\"\"),this.tokens.push({type:\"code\",text:this.options.pedantic?o:o.replace(/\\n+$/,\"\")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:\"code\",lang:o[2],text:o[3]||\"\"});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:\"heading\",depth:o[1].length,text:o[2]});else if(n&&(o=this.rules.nptable.exec(e))){for(e=e.substring(o[0].length),u={type:\"table\",header:o[1].replace(/^ *| *\\| *$/g,\"\").split(/ *\\| */),align:o[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),cells:o[3].replace(/\\n$/,\"\").split(\"\\n\")},c=0;c<u.align.length;c++)/^ *-+: *$/.test(u.align[c])?u.align[c]=\"right\":/^ *:-+: *$/.test(u.align[c])?u.align[c]=\"center\":/^ *:-+ *$/.test(u.align[c])?u.align[c]=\"left\":u.align[c]=null;for(c=0;c<u.cells.length;c++)u.cells[c]=u.cells[c].split(/ *\\| */);this.tokens.push(u)}else if(o=this.rules.hr.exec(e))e=e.substring(o[0].length),this.tokens.push({type:\"hr\"});else if(o=this.rules.blockquote.exec(e))e=e.substring(o[0].length),this.tokens.push({type:\"blockquote_start\"}),o=o[0].replace(/^ *> ?/gm,\"\"),this.token(o,n),this.tokens.push({type:\"blockquote_end\"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),p=(s=o[2]).length>1,this.tokens.push({type:\"list_start\",ordered:p,start:p?+s:\"\"}),r=!1,d=(o=o[0].match(this.rules.item)).length,c=0;c<d;c++)l=(u=o[c]).length,~(u=u.replace(/^ *([*+-]|\\d+\\.) +/,\"\")).indexOf(\"\\n \")&&(l-=u.length,u=this.options.pedantic?u.replace(/^ {1,4}/gm,\"\"):u.replace(new RegExp(\"^ {1,\"+l+\"}\",\"gm\"),\"\")),this.options.smartLists&&c!==d-1&&(s===(a=t.bullet.exec(o[c+1])[0])||s.length>1&&a.length>1||(e=o.slice(c+1).join(\"\\n\")+e,c=d-1)),i=r||/\\n\\n(?!\\s*$)/.test(u),c!==d-1&&(r=\"\\n\"===u.charAt(u.length-1),i||(i=r)),this.tokens.push({type:i?\"loose_item_start\":\"list_item_start\"}),this.token(u,!1),this.tokens.push({type:\"list_item_end\"});this.tokens.push({type:\"list_end\"})}else if(o=this.rules.html.exec(e))e=e.substring(o[0].length),this.tokens.push({type:this.options.sanitize?\"paragraph\":\"html\",pre:!this.options.sanitizer&&(\"pre\"===o[1]||\"script\"===o[1]||\"style\"===o[1]),text:o[0]});else if(n&&(o=this.rules.def.exec(e)))e=e.substring(o[0].length),o[3]&&(o[3]=o[3].substring(1,o[3].length-1)),h=o[1].toLowerCase(),this.tokens.links[h]||(this.tokens.links[h]={href:o[2],title:o[3]});else if(n&&(o=this.rules.table.exec(e))){for(e=e.substring(o[0].length),u={type:\"table\",header:o[1].replace(/^ *| *\\| *$/g,\"\").split(/ *\\| */),align:o[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),cells:o[3].replace(/(?: *\\| *)?\\n$/,\"\").split(\"\\n\")},c=0;c<u.align.length;c++)/^ *-+: *$/.test(u.align[c])?u.align[c]=\"right\":/^ *:-+: *$/.test(u.align[c])?u.align[c]=\"center\":/^ *:-+ *$/.test(u.align[c])?u.align[c]=\"left\":u.align[c]=null;for(c=0;c<u.cells.length;c++)u.cells[c]=u.cells[c].replace(/^ *\\| *| *\\| *$/g,\"\").split(/ *\\| */);this.tokens.push(u)}else if(o=this.rules.lheading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:\"heading\",depth:\"=\"===o[2]?1:2,text:o[1]});else if(n&&(o=this.rules.paragraph.exec(e)))e=e.substring(o[0].length),this.tokens.push({type:\"paragraph\",text:\"\\n\"===o[1].charAt(o[1].length-1)?o[1].slice(0,-1):o[1]});else if(o=this.rules.text.exec(e))e=e.substring(o[0].length),this.tokens.push({type:\"text\",text:o[0]});else if(e)throw new Error(\"Infinite loop on byte: \"+e.charCodeAt(0));return this.tokens};var r={escape:/^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,autolink:/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,url:f,tag:/^<!--[\\s\\S]*?-->|^<\\/?[a-zA-Z0-9\\-]+(?:\"[^\"]*\"|'[^']*'|\\s[^<'\">\\/\\s]*)*?\\/?>/,link:/^!?\\[(inside)\\]\\(href\\)/,reflink:/^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,nolink:/^!?\\[((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\]/,strong:/^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,em:/^_([^\\s_](?:[^_]|__)+?[^\\s_])_\\b|^\\*((?:\\*\\*|[^*])+?)\\*(?!\\*)/,code:/^(`+)\\s*([\\s\\S]*?[^`]?)\\s*\\1(?!`)/,br:/^ {2,}\\n(?!\\s*$)/,del:f,text:/^[\\s\\S]+?(?=[\\\\<!\\[`*]|\\b_| {2,}\\n|$)/};function i(e,t){if(this.options=t||m.defaults,this.links=e,this.rules=r.normal,this.renderer=this.options.renderer||new o,this.renderer.options=this.options,!this.links)throw new Error(\"Tokens array requires a `links` property.\");this.options.gfm?this.options.breaks?this.rules=r.breaks:this.rules=r.gfm:this.options.pedantic&&(this.rules=r.pedantic)}function o(e){this.options=e||{}}function s(){}function a(e){this.tokens=[],this.token=null,this.options=e||m.defaults,this.options.renderer=this.options.renderer||new o,this.renderer=this.options.renderer,this.renderer.options=this.options}function u(e,t){return e.replace(t?/&/g:/&(?!#?\\w+;)/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\")}function l(e){return e.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/gi,function(e,t){return\"colon\"===(t=t.toLowerCase())?\":\":\"#\"===t.charAt(0)?\"x\"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):\"\"})}function c(e,t){return e=e.source,t=t||\"\",{replace:function(t,n){return n=(n=n.source||n).replace(/(^|[^\\[])\\^/g,\"$1\"),e=e.replace(t,n),this},getRegex:function(){return new RegExp(e,t)}}}function h(e,t){return d[\" \"+e]||(/^[^:]+:\\/*[^/]*$/.test(e)?d[\" \"+e]=e+\"/\":d[\" \"+e]=e.replace(/[^/]*$/,\"\")),e=d[\" \"+e],\"//\"===t.slice(0,2)?e.replace(/:[\\s\\S]*/,\":\")+t:\"/\"===t.charAt(0)?e.replace(/(:\\/*[^/]*)[\\s\\S]*/,\"$1\")+t:e+t}r._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,r._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,r.autolink=c(r.autolink).replace(\"scheme\",r._scheme).replace(\"email\",r._email).getRegex(),r._inside=/(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]]|\\](?=[^\\[]*\\]))*/,r._href=/\\s*<?([\\s\\S]*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*/,r.link=c(r.link).replace(\"inside\",r._inside).replace(\"href\",r._href).getRegex(),r.reflink=c(r.reflink).replace(\"inside\",r._inside).getRegex(),r.normal=g({},r),r.pedantic=g({},r.normal,{strong:/^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,em:/^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/}),r.gfm=g({},r.normal,{escape:c(r.escape).replace(\"])\",\"~|])\").getRegex(),url:c(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"email\",r._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\\S)([\\s\\S]*?\\S)~~/,text:c(r.text).replace(\"]|\",\"~]|\").replace(\"|\",\"|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\\\|}~-]+@|\").getRegex()}),r.breaks=g({},r.gfm,{br:c(r.br).replace(\"{2,}\",\"*\").getRegex(),text:c(r.gfm.text).replace(\"{2,}\",\"*\").getRegex()}),i.rules=r,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,r,i,o=\"\";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),r=\"@\"===i[2]?\"mailto:\"+(n=u(this.mangle(i[1]))):n=u(i[1]),o+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(i[0])?this.inLink=!0:this.inLink&&/^<\\/a>/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\\s+/g,\" \"),!(t=this.links[t.toLowerCase()])||!t.href){o+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,o+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),o+=this.renderer.codespan(u(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),o+=this.renderer.text(u(this.smartypants(i[0])));else if(e)throw new Error(\"Infinite loop on byte: \"+e.charCodeAt(0))}else i[0]=this.rules._backpedal.exec(i[0])[0],e=e.substring(i[0].length),\"@\"===i[2]?r=\"mailto:\"+(n=u(i[0])):(n=u(i[0]),r=\"www.\"===i[1]?\"http://\"+n:n),o+=this.renderer.link(r,null,n);return o},i.prototype.outputLink=function(e,t){var n=u(t.href),r=t.title?u(t.title):null;return\"!\"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,u(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,\"—\").replace(/--/g,\"–\").replace(/(^|[-\\u2014/(\\[{\"\\s])'/g,\"$1‘\").replace(/'/g,\"’\").replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g,\"$1“\").replace(/\"/g,\"”\").replace(/\\.{3}/g,\"…\"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n=\"\",r=e.length,i=0;i<r;i++)t=e.charCodeAt(i),Math.random()>.5&&(t=\"x\"+t.toString(16)),n+=\"&#\"+t+\";\";return n},o.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'<pre><code class=\"'+this.options.langPrefix+u(t,!0)+'\">'+(n?e:u(e,!0))+\"\\n</code></pre>\\n\":\"<pre><code>\"+(n?e:u(e,!0))+\"\\n</code></pre>\"},o.prototype.blockquote=function(e){return\"<blockquote>\\n\"+e+\"</blockquote>\\n\"},o.prototype.html=function(e){return e},o.prototype.heading=function(e,t,n){return\"<h\"+t+' id=\"'+this.options.headerPrefix+n.toLowerCase().replace(/[^\\w]+/g,\"-\")+'\">'+e+\"</h\"+t+\">\\n\"},o.prototype.hr=function(){return this.options.xhtml?\"<hr/>\\n\":\"<hr>\\n\"},o.prototype.list=function(e,t,n){var r=t?\"ol\":\"ul\";return\"<\"+r+(t&&1!==n?' start=\"'+n+'\"':\"\")+\">\\n\"+e+\"</\"+r+\">\\n\"},o.prototype.listitem=function(e){return\"<li>\"+e+\"</li>\\n\"},o.prototype.paragraph=function(e){return\"<p>\"+e+\"</p>\\n\"},o.prototype.table=function(e,t){return\"<table>\\n<thead>\\n\"+e+\"</thead>\\n<tbody>\\n\"+t+\"</tbody>\\n</table>\\n\"},o.prototype.tablerow=function(e){return\"<tr>\\n\"+e+\"</tr>\\n\"},o.prototype.tablecell=function(e,t){var n=t.header?\"th\":\"td\";return(t.align?\"<\"+n+' style=\"text-align:'+t.align+'\">':\"<\"+n+\">\")+e+\"</\"+n+\">\\n\"},o.prototype.strong=function(e){return\"<strong>\"+e+\"</strong>\"},o.prototype.em=function(e){return\"<em>\"+e+\"</em>\"},o.prototype.codespan=function(e){return\"<code>\"+e+\"</code>\"},o.prototype.br=function(){return this.options.xhtml?\"<br/>\":\"<br>\"},o.prototype.del=function(e){return\"<del>\"+e+\"</del>\"},o.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(l(e)).replace(/[^\\w:]/g,\"\").toLowerCase()}catch(e){return n}if(0===r.indexOf(\"javascript:\")||0===r.indexOf(\"vbscript:\")||0===r.indexOf(\"data:\"))return n}this.options.baseUrl&&!p.test(e)&&(e=h(this.options.baseUrl,e));var i='<a href=\"'+e+'\"';return t&&(i+=' title=\"'+t+'\"'),i+=\">\"+n+\"</a>\"},o.prototype.image=function(e,t,n){this.options.baseUrl&&!p.test(e)&&(e=h(this.options.baseUrl,e));var r='<img src=\"'+e+'\" alt=\"'+n+'\"';return t&&(r+=' title=\"'+t+'\"'),r+=this.options.xhtml?\"/>\":\">\"},o.prototype.text=function(e){return e},s.prototype.strong=s.prototype.em=s.prototype.codespan=s.prototype.del=s.prototype.text=function(e){return e},s.prototype.link=s.prototype.image=function(e,t,n){return\"\"+n},s.prototype.br=function(){return\"\"},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options),this.inlineText=new i(e.links,g({},this.options,{renderer:new s})),this.tokens=e.reverse();for(var t=\"\";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;\"text\"===this.peek().type;)e+=\"\\n\"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case\"space\":return\"\";case\"hr\":return this.renderer.hr();case\"heading\":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,l(this.inlineText.output(this.token.text)));case\"code\":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case\"table\":var e,t,n,r,i=\"\",o=\"\";for(n=\"\",e=0;e<this.token.header.length;e++)n+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(i+=this.renderer.tablerow(n),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],n=\"\",r=0;r<t.length;r++)n+=this.renderer.tablecell(this.inline.output(t[r]),{header:!1,align:this.token.align[r]});o+=this.renderer.tablerow(n)}return this.renderer.table(i,o);case\"blockquote_start\":for(o=\"\";\"blockquote_end\"!==this.next().type;)o+=this.tok();return this.renderer.blockquote(o);case\"list_start\":o=\"\";for(var s=this.token.ordered,a=this.token.start;\"list_end\"!==this.next().type;)o+=this.tok();return this.renderer.list(o,s,a);case\"list_item_start\":for(o=\"\";\"list_item_end\"!==this.next().type;)o+=\"text\"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(o);case\"loose_item_start\":for(o=\"\";\"list_item_end\"!==this.next().type;)o+=this.tok();return this.renderer.listitem(o);case\"html\":var u=this.token.pre||this.options.pedantic?this.token.text:this.inline.output(this.token.text);return this.renderer.html(u);case\"paragraph\":return this.renderer.paragraph(this.inline.output(this.token.text));case\"text\":return this.renderer.paragraph(this.parseText())}};var d={},p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function f(){}function g(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function m(e,t,r){if(void 0===e||null===e)throw new Error(\"marked(): input parameter is undefined or null\");if(\"string\"!=typeof e)throw new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(e)+\", string expected\");if(r||\"function\"==typeof t){r||(r=t,t=null);var i,o,s=(t=g({},m.defaults,t||{})).highlight,l=0;try{i=n.lex(e,t)}catch(e){return r(e)}o=i.length;var c=function(e){if(e)return t.highlight=s,r(e);var n;try{n=a.parse(i,t)}catch(t){e=t}return t.highlight=s,e?r(e):r(null,n)};if(!s||s.length<3)return c();if(delete t.highlight,!o)return c();for(;l<i.length;l++)!function(e){\"code\"!==e.type?--o||c():s(e.text,e.lang,function(t,n){return t?c(t):null==n||n===e.text?--o||c():(e.text=n,e.escaped=!0,void(--o||c()))})}(i[l])}else try{return t&&(t=g({},m.defaults,t)),a.parse(n.lex(e,t),t)}catch(e){if(e.message+=\"\\nPlease report this to https://github.com/markedjs/marked.\",(t||m.defaults).silent)return\"<p>An error occurred:</p><pre>\"+u(e.message+\"\",!0)+\"</pre>\";throw e}}f.exec=f,m.options=m.setOptions=function(e){return g(m.defaults,e),m},m.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:\"lang-\",smartypants:!1,headerPrefix:\"\",renderer:new o,xhtml:!1,baseUrl:null},m.Parser=a,m.parser=a.parse,m.Renderer=o,m.TextRenderer=s,m.Lexer=n,m.lexer=n.lex,m.InlineLexer=i,m.inlineLexer=i.output,m.parse=m,Dw=m}).call(void 0);var Tw=Dw;Dw.Parser,Dw.parser,Dw.Renderer,Dw.TextRenderer,Dw.Lexer,Dw.lexer,Dw.InlineLexer,Dw.inlineLexer,Dw.parse;function Fw(e){var t=e.inline?\"span\":\"div\",n=document.createElement(t);return e.className&&(n.className=e.className),n}function Ow(e,t){void 0===t&&(t={});var n=Fw(t);return function e(t,n,r){var i;if(2===n.type)i=document.createTextNode(n.content);else if(3===n.type)i=document.createElement(\"b\");else if(4===n.type)i=document.createElement(\"i\");else if(5===n.type&&r){var o=document.createElement(\"a\");o.href=\"#\",r.disposeables.push(Tc(o,\"click\",function(e){r.callback(String(n.index),e)})),i=o}else 7===n.type?i=document.createElement(\"br\"):1===n.type&&(i=t);t!==i&&t.appendChild(i);Array.isArray(n.children)&&n.children.forEach(function(t){e(i,t,r)})}(n,function(e){var t={type:1,children:[]},n=0,r=t,i=[],o=new Bw(e);for(;!o.eos();){var s=o.next(),a=\"\\\\\"===s&&0!==Rw(o.peek());if(a&&(s=o.next()),a||0===Rw(s)||s!==o.peek())if(\"\\n\"===s)2===r.type&&(r=i.pop()),r.children.push({type:7});else if(2!==r.type){var u={type:2,content:s};r.children.push(u),i.push(r),r=u}else r.content+=s;else{o.advance(),2===r.type&&(r=i.pop());var l=Rw(s);if(r.type===l||5===r.type&&6===l)r=i.pop();else{var c={type:l,children:[]};5===l&&(c.index=n,n++),r.children.push(c),i.push(r),r=c}}}2===r.type&&(r=i.pop());i.length;return t}(e),t.actionHandler),n}function Pw(e,t){void 0===t&&(t={});var n,r=Fw(t),i=new Promise(function(e){return n=e}),o=new Tw.Renderer;o.image=function(e,t,n){var r=[];if(e){var i=e.split(\"|\").map(function(e){return e.trim()});e=i[0];var o=i[1];if(o){var s=/height=(\\d+)/.exec(o),a=/width=(\\d+)/.exec(o),u=s&&s[1],l=a&&a[1],c=isFinite(parseInt(l)),h=isFinite(parseInt(u));c&&r.push('width=\"'+l+'\"'),h&&r.push('height=\"'+u+'\"')}}var d=[];return e&&d.push('src=\"'+e+'\"'),n&&d.push('alt=\"'+n+'\"'),t&&d.push('title=\"'+t+'\"'),r.length&&(d=d.concat(r)),\"<img \"+d.join(\" \")+\">\"},o.link=function(t,n,r){return t===r&&(r=kw(r)),n=kw(n),!(t=kw(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted?r:'<a href=\"#\" data-href=\"'+t+'\" title=\"'+(n||t)+'\">'+r+\"</a>\"},o.paragraph=function(e){return\"<p>\"+e+\"</p>\"},t.codeBlockRenderer&&(o.code=function(e,n){var o=t.codeBlockRenderer(n,e),s=xw.nextId(),a=Promise.all([o,i]).then(function(e){var t=e[0],n=r.querySelector('div[data-code=\"'+s+'\"]');n&&(n.innerHTML=t)}).catch(function(e){});return t.codeBlockRenderCallback&&a.then(t.codeBlockRenderCallback),'<div class=\"code\" data-code=\"'+s+'\">'+et(e)+\"</div>\"}),t.actionHandler&&t.actionHandler.disposeables.push(Tc(r,\"click\",function(e){var n=e.target;if(\"A\"===n.tagName||(n=n.parentElement)&&\"A\"===n.tagName){var r=n.dataset.href;r&&t.actionHandler.callback(r,e)}}));var s={sanitize:!0,renderer:o};return r.innerHTML=Tw(e.value,s),n(),r}var Bw=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function Rw(e){switch(e){case\"*\":return 3;case\"_\":return 4;case\"[\":return 5;case\"]\":return 6;default:return 0}}var jw,zw,Ww;n(341);function Vw(e){Hw(zw,e)}function Hw(e,t){jw&&(e.textContent===t&&(t=ns(\"repeated\",\"{0} (occurred again)\",t)),Dc(e),e.textContent=t,e.style.visibility=\"hidden\",e.style.visibility=\"visible\")}var Uw,Yw;n(342);!function(e){e[e.LEFT=0]=\"LEFT\",e[e.RIGHT=1]=\"RIGHT\"}(Uw||(Uw={})),function(e){e[e.BELOW=0]=\"BELOW\",e[e.ABOVE=1]=\"ABOVE\"}(Yw||(Yw={}));var Zw,Gw=function(){function e(e){var t=this;this.$view=Z_(\".context-view\").hide(),this.setContainer(e),this.toDispose=[{dispose:function(){t.setContainer(null)}}],this.toDisposeOnClean=null}return e.prototype.setContainer=function(t){var n=this;this.$container&&(this.$container.getHTMLElement().removeChild(this.$view.getHTMLElement()),this.$container.off(e.BUBBLE_UP_EVENTS),this.$container.off(e.BUBBLE_DOWN_EVENTS,!0),this.$container=null),t&&(this.$container=Z_(t),this.$view.appendTo(this.$container),this.$container.on(e.BUBBLE_UP_EVENTS,function(e){n.onDOMEvent(e,document.activeElement,!1)}),this.$container.on(e.BUBBLE_DOWN_EVENTS,function(e){n.onDOMEvent(e,document.activeElement,!0)},null,!0))},e.prototype.show=function(e){this.isVisible()&&this.hide(),this.$view.setClass(\"context-view\").empty().style({top:\"0px\",left:\"0px\"}).show(),this.toDisposeOnClean=e.render(this.$view.getHTMLElement()),this.delegate=e,this.doLayout()},e.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},e.prototype.doLayout=function(){var e,t=this.delegate.getAnchor();if(dh(t)){var n=eh(t);e={top:n.top,left:n.left,width:n.width,height:n.height}}else{var r=t;e={top:r.y,left:r.x,width:r.width||0,height:r.height||0}}var i={top:th.scrollY,left:th.scrollX,height:window.innerHeight,width:window.innerWidth},o=this.$view.getTotalSize(),s={width:o.width,height:o.height},a=this.delegate.anchorPosition||Yw.BELOW,u=this.delegate.anchorAlignment||Uw.LEFT,l=function(e,t,n,r,i){var o,s,a,u,l,c,h,d,p=function(e,t,n,r){return t?e:r?n:e},f=function(e,t,n,r,i){return i?p(e,t,n,r):p(n,r,e,t)};return{top:(o=t.top-e.height,s=t.top+t.height,a=o>=n.top&&o+e.height<=n.top+n.height,u=s>=n.top&&s+e.height<=n.top+n.height,f(o,a,s,u,r===Yw.ABOVE)),left:(l=t.left,c=t.left+t.width-e.width,h=l>=n.left&&l+e.width<=n.left+n.width,d=c>=n.left&&c+e.width<=n.left+n.width,f(l,h,c,d,i===Uw.LEFT))}}(s,e,i,a,u),c=eh(this.$container.getHTMLElement());l.top-=c.top,l.left-=c.left,this.$view.removeClass(\"top\",\"bottom\",\"left\",\"right\"),this.$view.addClass(a===Yw.BELOW?\"bottom\":\"top\"),this.$view.addClass(u===Uw.LEFT?\"left\":\"right\"),this.$view.style({top:l.top+\"px\",left:l.left+\"px\",width:\"initial\"})},e.prototype.hide=function(e){this.delegate&&this.delegate.onHide&&this.delegate.onHide(e),this.delegate=null,this.toDisposeOnClean&&(this.toDisposeOnClean.dispose(),this.toDisposeOnClean=null),this.$view.hide()},e.prototype.isVisible=function(){return!!this.delegate},e.prototype.onDOMEvent=function(e,t,n){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):n&&!sh(e.target,this.$container.getHTMLElement())&&this.hide())},e.prototype.dispose=function(){this.hide(),this.toDispose=on(this.toDispose)},e.BUBBLE_UP_EVENTS=[\"click\",\"keydown\",\"focus\",\"blur\"],e.BUBBLE_DOWN_EVENTS=[\"click\"],e}(),Kw=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qw=bh;!function(e){e[e.INFO=1]=\"INFO\",e[e.WARNING=2]=\"WARNING\",e[e.ERROR=3]=\"ERROR\"}(Zw||(Zw={}));var Qw,Xw={inputBackground:md.fromHex(\"#3C3C3C\"),inputForeground:md.fromHex(\"#CCCCCC\"),inputValidationInfoBorder:md.fromHex(\"#55AAFF\"),inputValidationInfoBackground:md.fromHex(\"#063B49\"),inputValidationWarningBorder:md.fromHex(\"#B89500\"),inputValidationWarningBackground:md.fromHex(\"#352A05\"),inputValidationErrorBorder:md.fromHex(\"#BE1100\"),inputValidationErrorBackground:md.fromHex(\"#5A1D1D\")},Jw=function(e){function t(t,n,r){var i=e.call(this)||this;i.state=\"idle\",i._onDidChange=i._register(new wn),i.onDidChange=i._onDidChange.event,i._onDidHeightChange=i._register(new wn),i.onDidHeightChange=i._onDidHeightChange.event,i.contextViewProvider=n,i.options=r||Object.create(null),ds(i.options,Xw,!1),i.message=null,i.cachedHeight=null,i.placeholder=i.options.placeholder||\"\",i.ariaLabel=i.options.ariaLabel||\"\",i.inputBackground=i.options.inputBackground,i.inputForeground=i.options.inputForeground,i.inputBorder=i.options.inputBorder,i.inputValidationInfoBorder=i.options.inputValidationInfoBorder,i.inputValidationInfoBackground=i.options.inputValidationInfoBackground,i.inputValidationWarningBorder=i.options.inputValidationWarningBorder,i.inputValidationWarningBackground=i.options.inputValidationWarningBackground,i.inputValidationErrorBorder=i.options.inputValidationErrorBorder,i.inputValidationErrorBackground=i.options.inputValidationErrorBackground,i.options.validationOptions&&(i.validation=i.options.validationOptions.validation),i.element=vh(t,qw(\".monaco-inputbox.idle\"));var o=i.options.flexibleHeight?\"textarea\":\"input\",s=vh(i.element,qw(\".wrapper\"));return i.input=vh(s,qw(o+\".input\")),i.input.setAttribute(\"autocorrect\",\"off\"),i.input.setAttribute(\"autocapitalize\",\"off\"),i.input.setAttribute(\"spellcheck\",\"false\"),i.onfocus(i.input,function(){return Mc(i.element,\"synthetic-focus\")}),i.onblur(i.input,function(){return Nc(i.element,\"synthetic-focus\")}),i.options.flexibleHeight?i.mirror=vh(s,qw(\"div.mirror\")):(i.input.type=i.options.type||\"text\",i.input.setAttribute(\"wrap\",\"off\")),i.ariaLabel&&i.input.setAttribute(\"aria-label\",i.ariaLabel),i.placeholder&&i.setPlaceHolder(i.placeholder),i.oninput(i.input,function(){return i.onValueChange()}),i.onblur(i.input,function(){return i.onBlur()}),i.onfocus(i.input,function(){return i.onFocus()}),i.placeholder&&Xl&&i.onclick(i.input,function(e){fh.stop(e,!0),i.input.focus()}),setTimeout(function(){i.input&&i.updateMirror()},0),i.options.actions&&(i.actionbar=i._register(new zC(i.element)),i.actionbar.push(i.options.actions,{icon:!0,label:!1})),i.applyStyles(),i}return Kw(t,e),t.prototype.onBlur=function(){this._hideMessage()},t.prototype.onFocus=function(){this._showMessage()},t.prototype.setPlaceHolder=function(e){this.input&&(this.input.setAttribute(\"placeholder\",e),this.input.title=e)},t.prototype.setAriaLabel=function(e){this.ariaLabel=e,this.input&&(e?this.input.setAttribute(\"aria-label\",this.ariaLabel):this.input.removeAttribute(\"aria-label\"))},Object.defineProperty(t.prototype,\"inputElement\",{get:function(){return this.input},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"value\",{get:function(){return this.input.value},set:function(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return null===this.cachedHeight?oh(this.element):this.cachedHeight},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.hasFocus=function(){return document.activeElement===this.input},t.prototype.select=function(e){void 0===e&&(e=null),this.input.select(),e&&this.input.setSelectionRange(e.start,e.end)},t.prototype.enable=function(){this.input.removeAttribute(\"disabled\")},t.prototype.disable=function(){this.input.disabled=!0,this._hideMessage()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},Object.defineProperty(t.prototype,\"width\",{get:function(){return nh(this.input)},set:function(e){this.input.style.width=e+\"px\"},enumerable:!0,configurable:!0}),t.prototype.showMessage=function(e,t){this.message=e,Nc(this.element,\"idle\"),Nc(this.element,\"info\"),Nc(this.element,\"warning\"),Nc(this.element,\"error\"),Mc(this.element,this.classForType(e.type));var n=this.stylesForType(this.message.type);this.element.style.border=n.border?\"1px solid \"+n.border:null,Vw(e.type===Zw.ERROR?ns(\"alertErrorMessage\",\"Error: {0}\",e.content):e.type===Zw.WARNING?ns(\"alertWarningMessage\",\"Warning: {0}\",e.content):ns(\"alertInfoMessage\",\"Info: {0}\",e.content)),(this.hasFocus()||t)&&this._showMessage()},t.prototype.hideMessage=function(){this.message=null,Nc(this.element,\"info\"),Nc(this.element,\"warning\"),Nc(this.element,\"error\"),Mc(this.element,\"idle\"),this._hideMessage(),this.applyStyles()},t.prototype.isInputValid=function(){return!!this.validation&&!this.validation(this.value)},t.prototype.validate=function(){var e=null;return this.validation&&((e=this.validation(this.value))?(this.inputElement.setAttribute(\"aria-invalid\",\"true\"),this.showMessage(e)):this.inputElement.hasAttribute(\"aria-invalid\")&&(this.inputElement.removeAttribute(\"aria-invalid\"),this.hideMessage())),!e},t.prototype.stylesForType=function(e){switch(e){case Zw.INFO:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground};case Zw.WARNING:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground}}},t.prototype.classForType=function(e){switch(e){case Zw.INFO:return\"info\";case Zw.WARNING:return\"warning\";default:return\"error\"}},t.prototype._showMessage=function(){var e=this;if(this.contextViewProvider&&this.message){var t,n=function(){return t.style.width=nh(e.element)+\"px\"};this.state=\"open\",this.contextViewProvider.showContextView({getAnchor:function(){return e.element},anchorAlignment:Uw.RIGHT,render:function(r){t=vh(r,qw(\".monaco-inputbox-container\")),n();var i={inline:!0,className:\"monaco-inputbox-message\"},o=e.message.formatContent?Ow(e.message.content,i):function(e,t){void 0===t&&(t={});var n=Fw(t);return n.textContent=e,n}(e.message.content,i);Mc(o,e.classForType(e.message.type));var s=e.stylesForType(e.message.type);return o.style.backgroundColor=s.background?s.background.toString():null,o.style.border=s.border?\"1px solid \"+s.border:null,vh(t,o),null},layout:n})}},t.prototype._hideMessage=function(){this.contextViewProvider&&\"open\"===this.state&&(this.state=\"idle\",this.contextViewProvider.hideContextView())},t.prototype.onValueChange=function(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),\"open\"===this.state&&this.contextViewProvider.layout()},t.prototype.updateMirror=function(){if(this.mirror){var e=this.value||this.placeholder,t=10===e.charCodeAt(e.length-1)?\" \":\"\";this.mirror.textContent=e+t,this.layout()}},t.prototype.style=function(e){this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.inputBackground?this.inputBackground.toString():null,t=this.inputForeground?this.inputForeground.toString():null,n=this.inputBorder?this.inputBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.input.style.backgroundColor=e,this.input.style.color=t,this.element.style.borderWidth=n?\"1px\":null,this.element.style.borderStyle=n?\"solid\":null,this.element.style.borderColor=n}},t.prototype.layout=function(){if(this.mirror){var e=this.cachedHeight;this.cachedHeight=oh(this.mirror),e!==this.cachedHeight&&(this.input.style.height=this.cachedHeight+\"px\",this._onDidHeightChange.fire(this.cachedHeight))}},t.prototype.dispose=function(){this._hideMessage(),this.element=null,this.input=null,this.contextViewProvider=null,this.message=null,this.placeholder=null,this.ariaLabel=null,this.validation=null,this.state=null,this.actionbar=null,e.prototype.dispose.call(this)},t}(eb),$w=(n(343),n(344),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),eD={inputActiveOptionBorder:md.fromHex(\"#007ACC\")},tD=function(e){function t(t){var n=e.call(this)||this;return n._opts=cs(t),ds(n._opts,eD,!1),n._checked=n._opts.isChecked,n.domNode=document.createElement(\"div\"),n.domNode.title=n._opts.title,n.domNode.className=\"monaco-custom-checkbox \"+n._opts.actionClassName+\" \"+(n._checked?\"checked\":\"unchecked\"),n.domNode.tabIndex=0,n.domNode.setAttribute(\"role\",\"checkbox\"),n.domNode.setAttribute(\"aria-checked\",String(n._checked)),n.domNode.setAttribute(\"aria-label\",n._opts.title),n.applyStyles(),n.onclick(n.domNode,function(e){n.checked=!n._checked,n._opts.onChange(!1),e.preventDefault()}),n.onkeydown(n.domNode,function(e){if(10===e.keyCode||3===e.keyCode)return n.checked=!n._checked,n._opts.onChange(!0),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)}),n}return $w(t,e),Object.defineProperty(t.prototype,\"enabled\",{get:function(){return\"true\"!==this.domNode.getAttribute(\"aria-disabled\")},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.domNode.focus()},Object.defineProperty(t.prototype,\"checked\",{get:function(){return this._checked},set:function(e){this._checked=e,this.domNode.setAttribute(\"aria-checked\",String(this._checked)),this._checked?this.domNode.classList.add(\"checked\"):this.domNode.classList.remove(\"checked\"),this.applyStyles()},enumerable:!0,configurable:!0}),t.prototype.width=function(){return 22},t.prototype.style=function(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),this.applyStyles()},t.prototype.applyStyles=function(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():\"transparent\")},t.prototype.enable=function(){this.domNode.tabIndex=0,this.domNode.setAttribute(\"aria-disabled\",String(!1))},t.prototype.disable=function(){wh(this.domNode),this.domNode.setAttribute(\"aria-disabled\",String(!0))},t}(eb),nD=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),rD=ns(\"caseDescription\",\"Match Case\"),iD=ns(\"wordsDescription\",\"Match Whole Word\"),oD=ns(\"regexDescription\",\"Use Regular Expression\"),sD=function(e){function t(t){return e.call(this,{actionClassName:\"monaco-case-sensitive\",title:rD+t.appendTitle,isChecked:t.isChecked,onChange:t.onChange,onKeyDown:t.onKeyDown,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return nD(t,e),t}(tD),aD=function(e){function t(t){return e.call(this,{actionClassName:\"monaco-whole-word\",title:iD+t.appendTitle,isChecked:t.isChecked,onChange:t.onChange,onKeyDown:t.onKeyDown,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return nD(t,e),t}(tD),uD=function(e){function t(t){return e.call(this,{actionClassName:\"monaco-regex\",title:oD+t.appendTitle,isChecked:t.isChecked,onChange:t.onChange,onKeyDown:t.onKeyDown,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return nD(t,e),t}(tD),lD=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),cD=ns(\"defaultLabel\",\"input\"),hD=function(e){function t(t,n,r){var i=e.call(this)||this;return i._onDidOptionChange=i._register(new wn),i.onDidOptionChange=i._onDidOptionChange.event,i._onKeyDown=i._register(new wn),i.onKeyDown=i._onKeyDown.event,i._onMouseDown=i._register(new wn),i.onMouseDown=i._onMouseDown.event,i._onInput=i._register(new wn),i.onInput=i._onInput.event,i._onKeyUp=i._register(new wn),i.onKeyUp=i._onKeyUp.event,i._onCaseSensitiveKeyDown=i._register(new wn),i.onCaseSensitiveKeyDown=i._onCaseSensitiveKeyDown.event,i._lastHighlightFindOptions=0,i.contextViewProvider=n,i.width=r.width||100,i.placeholder=r.placeholder||\"\",i.validation=r.validation,i.label=r.label||cD,i.inputActiveOptionBorder=r.inputActiveOptionBorder,i.inputBackground=r.inputBackground,i.inputForeground=r.inputForeground,i.inputBorder=r.inputBorder,i.inputValidationInfoBorder=r.inputValidationInfoBorder,i.inputValidationInfoBackground=r.inputValidationInfoBackground,i.inputValidationWarningBorder=r.inputValidationWarningBorder,i.inputValidationWarningBackground=r.inputValidationWarningBackground,i.inputValidationErrorBorder=r.inputValidationErrorBorder,i.inputValidationErrorBackground=r.inputValidationErrorBackground,i.regex=null,i.wholeWords=null,i.caseSensitive=null,i.domNode=null,i.inputBox=null,i.buildDomNode(r.appendCaseSensitiveLabel||\"\",r.appendWholeWordsLabel||\"\",r.appendRegexLabel||\"\"),Boolean(t)&&t.appendChild(i.domNode),i.onkeydown(i.inputBox.inputElement,function(e){return i._onKeyDown.fire(e)}),i.onkeyup(i.inputBox.inputElement,function(e){return i._onKeyUp.fire(e)}),i.oninput(i.inputBox.inputElement,function(e){return i._onInput.fire()}),i.onmousedown(i.inputBox.inputElement,function(e){return i._onMouseDown.fire(e)}),i}return lD(t,e),t.prototype.enable=function(){Nc(this.domNode,\"disabled\"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){Mc(this.domNode,\"disabled\"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},t.prototype.clear=function(){this.clearValidation(),this.setValue(\"\"),this.focus()},t.prototype.setWidth=function(e){this.width=e,this.domNode.style.width=this.width+\"px\",this.contextViewProvider.layout(),this.setInputWidth()},t.prototype.getValue=function(){return this.inputBox.value},t.prototype.setValue=function(e){this.inputBox.value!==e&&(this.inputBox.value=e)},t.prototype.style=function(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getCaseSensitive=function(){return this.caseSensitive.checked},t.prototype.setCaseSensitive=function(e){this.caseSensitive.checked=e,this.setInputWidth()},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e,this.setInputWidth()},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.setInputWidth(),this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){Nc(this.domNode,\"highlight-\"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,Mc(this.domNode,\"highlight-\"+this._lastHighlightFindOptions)},t.prototype.setInputWidth=function(){var e=this.width-this.caseSensitive.width()-this.wholeWords.width()-this.regex.width();this.inputBox.width=e},t.prototype.buildDomNode=function(e,t,n){var r=this;this.domNode=document.createElement(\"div\"),this.domNode.style.width=this.width+\"px\",Mc(this.domNode,\"monaco-findInput\"),this.inputBox=this._register(new Jw(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||\"\",ariaLabel:this.label||\"\",validationOptions:{validation:this.validation||null},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder})),this.regex=this._register(new uD({appendTitle:n,isChecked:!1,onChange:function(e){r._onDidOptionChange.fire(e),e||r.inputBox.focus(),r.setInputWidth(),r.validate()},inputActiveOptionBorder:this.inputActiveOptionBorder})),this.wholeWords=this._register(new aD({appendTitle:t,isChecked:!1,onChange:function(e){r._onDidOptionChange.fire(e),e||r.inputBox.focus(),r.setInputWidth(),r.validate()},inputActiveOptionBorder:this.inputActiveOptionBorder})),this.caseSensitive=this._register(new sD({appendTitle:e,isChecked:!1,onChange:function(e){r._onDidOptionChange.fire(e),e||r.inputBox.focus(),r.setInputWidth(),r.validate()},onKeyDown:function(e){r._onCaseSensitiveKeyDown.fire(e)},inputActiveOptionBorder:this.inputActiveOptionBorder}));var i=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=i.indexOf(document.activeElement);if(t>=0){var n=void 0;e.equals(17)?n=(t+1)%i.length:e.equals(15)&&(n=0===t?i.length-1:t-1),e.equals(9)?i[t].blur():n>=0&&i[n].focus(),fh.stop(e,!0)}}}),this.setInputWidth();var o=document.createElement(\"div\");o.className=\"controls\",o.appendChild(this.caseSensitive.domNode),o.appendChild(this.wholeWords.domNode),o.appendChild(this.regex.domNode),this.domNode.appendChild(o)},t.prototype.validate=function(){this.inputBox.validate()},t.prototype.showMessage=function(e){this.inputBox.showMessage(e)},t.prototype.clearMessage=function(){this.inputBox.hideMessage()},t.prototype.clearValidation=function(){this.inputBox.hideMessage()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.OPTION_CHANGE=\"optionChange\",t}(eb),dD=(n(345),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}());!function(e){e[e.VERTICAL=0]=\"VERTICAL\",e[e.HORIZONTAL=1]=\"HORIZONTAL\"}(Qw||(Qw={}));var pD=function(){function e(e,t,n){void 0===n&&(n={});var r=this;this._onDidStart=new wn,this._onDidChange=new wn,this._onDidReset=new wn,this._onDidEnd=new wn,this.$e=Z_(\".monaco-sash\").appendTo(e),we.d&&this.$e.addClass(\"mac\"),this.$e.on(ph.MOUSE_DOWN,function(e){r.onMouseDown(e)}),this.$e.on(ph.DBLCLICK,function(e){return r._onDidReset.fire()}),Im.addTarget(this.$e.getHTMLElement()),this.$e.on(Mm.Start,function(e){r.onTouchStart(e)}),this.size=n.baseSize||5,ic&&(this.size*=4,this.$e.addClass(\"touch\")),this.setOrientation(n.orientation||Qw.VERTICAL),this.isDisabled=!1,this.hidden=!1,this.layoutProvider=t}return Object.defineProperty(e.prototype,\"onDidStart\",{get:function(){return this._onDidStart.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidChange\",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidReset\",{get:function(){return this._onDidReset.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidEnd\",{get:function(){return this._onDidEnd.event},enumerable:!0,configurable:!0}),e.prototype.setOrientation=function(e){this.orientation=e,this.$e.removeClass(\"horizontal\",\"vertical\"),this.$e.addClass(this.getOrientation()),this.orientation===Qw.HORIZONTAL?this.$e.size(null,this.size):this.$e.size(this.size),this.layoutProvider&&this.layout()},e.prototype.getOrientation=function(){return this.orientation===Qw.HORIZONTAL?\"horizontal\":\"vertical\"},e.prototype.onMouseDown=function(e){var t=this;if(fh.stop(e,!1),!this.isDisabled){var n=Z_(Dh(\"iframe\"));n&&n.style(\"pointer-events\",\"none\");var r=new yc(e),i=r.posx,o=r.posy,s=r.altKey,a={startX:i,currentX:i,startY:o,currentY:o,altKey:s};this.$e.addClass(\"active\"),this._onDidStart.fire(a);var u=Z_(window),l=uh(this.$e.getHTMLElement());this.orientation===Qw.HORIZONTAL?l.innerHTML=\"* { cursor: \"+(we.d?\"row-resize\":\"ns-resize\")+\"; }\":l.innerHTML=\"* { cursor: \"+(we.d?\"col-resize\":\"ew-resize\")+\"; }\",u.on(\"mousemove\",function(e){fh.stop(e,!1);var n=new yc(e),r={startX:i,currentX:n.posx,startY:o,currentY:n.posy,altKey:s};t._onDidChange.fire(r)}).once(\"mouseup\",function(e){fh.stop(e,!1),t.$e.getHTMLElement().removeChild(l),t.$e.removeClass(\"active\"),t._onDidEnd.fire(),u.off(\"mousemove\");var n=Z_(Dh(\"iframe\"));n&&n.style(\"pointer-events\",\"auto\")})}},e.prototype.onTouchStart=function(e){var t=this;fh.stop(e);var n=[],r=e.pageX,i=e.pageY,o=e.altKey;this._onDidStart.fire({startX:r,currentX:r,startY:i,currentY:i,altKey:o}),n.push(kc(this.$e.getHTMLElement(),Mm.Change,function(e){Yr(e.pageX)&&Yr(e.pageY)&&t._onDidChange.fire({startX:r,currentX:e.pageX,startY:i,currentY:e.pageY,altKey:o})})),n.push(kc(this.$e.getHTMLElement(),Mm.End,function(e){t._onDidEnd.fire(),on(n)}))},e.prototype.layout=function(){var e;if(this.orientation===Qw.VERTICAL){var t=this.layoutProvider;e={left:t.getVerticalSashLeft(this)-this.size/2+\"px\"},t.getVerticalSashTop&&(e.top=t.getVerticalSashTop(this)+\"px\"),t.getVerticalSashHeight&&(e.height=t.getVerticalSashHeight(this)+\"px\")}else{var n=this.layoutProvider;e={top:n.getHorizontalSashTop(this)-this.size/2+\"px\"},n.getHorizontalSashLeft&&(e.left=n.getHorizontalSashLeft(this)+\"px\"),n.getHorizontalSashWidth&&(e.width=n.getHorizontalSashWidth(this)+\"px\")}this.$e.style(e)},e.prototype.show=function(){this.hidden=!1,this.$e.show()},e.prototype.hide=function(){this.hidden=!0,this.$e.hide()},e.prototype.isHidden=function(){return this.hidden},e.prototype.enable=function(){this.$e.removeClass(\"disabled\"),this.isDisabled=!1},e.prototype.disable=function(){this.$e.addClass(\"disabled\"),this.isDisabled=!0},Object.defineProperty(e.prototype,\"enabled\",{get:function(){return!this.isDisabled},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.$e&&(this.$e.destroy(),this.$e=null)},e}(),fD=(function(e){function t(t,n){var r=e.call(this)||this;return r.minWidth=n,r._onPositionChange=new wn,r.ratio=.5,r.sash=new pD(t,r),r._register(r.sash.onDidStart(function(){return r.onSashDragStart()})),r._register(r.sash.onDidChange(function(e){return r.onSashDrag(e)})),r._register(r.sash.onDidEnd(function(){return r.onSashDragEnd()})),r._register(r.sash.onDidReset(function(){return r.onSashReset()})),r}dD(t,e),Object.defineProperty(t.prototype,\"onPositionChange\",{get:function(){return this._onPositionChange.event},enumerable:!0,configurable:!0}),t.prototype.getVerticalSashTop=function(){return 0},t.prototype.getVerticalSashLeft=function(){return this.position},t.prototype.getVerticalSashHeight=function(){return this.dimension.height},t.prototype.setDimenesion=function(e){this.dimension=e,this.compute(this.ratio)},t.prototype.onSashDragStart=function(){this.startPosition=this.position},t.prototype.onSashDrag=function(e){this.compute((this.startPosition+(e.currentX-e.startX))/this.dimension.width)},t.prototype.compute=function(e){this.computeSashPosition(e),this.ratio=this.position/this.dimension.width,this._onPositionChange.fire(this.position)},t.prototype.onSashDragEnd=function(){this.sash.layout()},t.prototype.onSashReset=function(){this.compute(.5),this._onPositionChange.fire(this.position),this.sash.layout()},t.prototype.computeSashPosition=function(e){void 0===e&&(e=this.ratio);var t=this.dimension.width,n=Math.floor((e||.5)*t),r=Math.floor(.5*t);t>2*this.minWidth?(n<this.minWidth&&(n=this.minWidth),n>t-this.minWidth&&(n=t-this.minWidth)):n=r,this.position!==n&&(this.position=n,this.sash.layout())}}(un),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),gD=ns(\"label.find\",\"Find\"),mD=ns(\"placeholder.find\",\"Find\"),vD=ns(\"label.previousMatchButton\",\"Previous match\"),yD=ns(\"label.nextMatchButton\",\"Next match\"),bD=ns(\"label.toggleSelectionFind\",\"Find in selection\"),_D=ns(\"label.closeButton\",\"Close\"),CD=ns(\"label.replace\",\"Replace\"),wD=ns(\"placeholder.replace\",\"Replace\"),DD=ns(\"label.replaceButton\",\"Replace\"),ED=ns(\"label.replaceAllButton\",\"Replace All\"),AD=ns(\"label.toggleReplaceButton\",\"Toggle Replace mode\"),SD=ns(\"title.matchesCountLimit\",\"Only the first {0} results are highlighted, but all find operations work on the entire text.\",19999),xD=ns(\"label.matchesLocation\",\"{0} of {1}\"),MD=ns(\"label.noResults\",\"No Results\"),ND=69,ID=17+(ND+3+1)+92+2,LD=34,kD=function(){return function(e){this.afterLineNumber=e,this.heightInPx=LD,this.suppressMouseDown=!1,this.domNode=document.createElement(\"div\"),this.domNode.className=\"dock-find-viewzone\"}}(),TD=function(e){function t(t,n,r,i,o,s,a){var u=e.call(this)||this;return u._codeEditor=t,u._controller=n,u._state=r,u._contextViewProvider=i,u._keybindingService=o,u._isVisible=!1,u._isReplaceVisible=!1,u._register(u._state.onFindReplaceStateChange(function(e){return u._onStateChanged(e)})),u._buildDomNode(),u._updateButtons(),u._tryUpdateWidgetWidth(),u._register(u._codeEditor.onDidChangeConfiguration(function(e){e.readOnly&&(u._codeEditor.getConfiguration().readOnly&&u._state.change({isReplaceRevealed:!1},!1),u._updateButtons()),e.layoutInfo&&u._tryUpdateWidgetWidth()})),u._register(u._codeEditor.onDidChangeCursorSelection(function(){u._isVisible&&u._updateToggleSelectionFindButton()})),u._register(u._codeEditor.onDidFocusEditor(function(){if(u._isVisible){var e=u._controller.getGlobalBufferTerm();e&&e!==u._state.searchString&&(u._state.change({searchString:e},!0),u._findInput.select())}})),u._findInputFocused=dw.bindTo(s),u._findFocusTracker=u._register(mh(u._findInput.inputBox.inputElement)),u._register(u._findFocusTracker.onDidFocus(function(){u._findInputFocused.set(!0),u._updateSearchScope()})),u._register(u._findFocusTracker.onDidBlur(function(){u._findInputFocused.set(!1)})),u._replaceInputFocused=pw.bindTo(s),u._replaceFocusTracker=u._register(mh(u._replaceInputBox.inputElement)),u._register(u._replaceFocusTracker.onDidFocus(function(){u._replaceInputFocused.set(!0),u._updateSearchScope()})),u._register(u._replaceFocusTracker.onDidBlur(function(){u._replaceInputFocused.set(!1)})),u._codeEditor.addOverlayWidget(u),u._viewZone=new kD(0),u._applyTheme(a.getTheme()),u._register(a.onThemeChange(u._applyTheme.bind(u))),u._register(u._codeEditor.onDidChangeModel(function(e){u._isVisible&&void 0!==u._viewZoneId&&u._codeEditor.changeViewZones(function(e){e.removeZone(u._viewZoneId),u._viewZoneId=void 0})})),u._register(u._codeEditor.onDidScrollChange(function(e){e.scrollTopChanged?u._layoutViewZone():setTimeout(function(){u._layoutViewZone()},0)})),u}return fD(t,e),t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return this._isVisible?{preference:Ru.TOP_RIGHT_CORNER}:null},t.prototype._onStateChanged=function(e){if(e.searchString&&(this._findInput.setValue(this._state.searchString),this._updateButtons()),e.replaceString&&(this._replaceInputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal(!0):this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInputBox.width=this._findInput.inputBox.width,this._updateButtons()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){var t=this._state.searchString.length>0&&0===this._state.matchesCount;Ic(this._domNode,\"no-results\",t),this._updateMatchesCount()}(e.searchString||e.currentMatch)&&this._layoutViewZone()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=ND+\"px\",this._state.matchesCount>=19999?this._matchesCount.title=SD:this._matchesCount.title=\"\",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){var t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+=\"+\");var n=String(this._state.matchesPosition);\"0\"===n&&(n=\"?\"),e=$e(xD,n,t)}else e=MD;this._matchesCount.appendChild(document.createTextNode(e)),ND=Math.max(ND,this._matchesCount.clientWidth)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(n||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInputBox.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0;this._prevBtn.setEnabled(this._isVisible&&e),this._nextBtn.setEnabled(this._isVisible&&e),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),Ic(this._domNode,\"replaceToggled\",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass(\"collapse\",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass(\"expand\",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var t=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&t)},t.prototype._reveal=function(e){var t=this;if(!this._isVisible){this._isVisible=!0;var n=this._codeEditor.getSelection();!!n&&(n.startLineNumber!==n.endLineNumber||n.startColumn!==n.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout(function(){Mc(t._domNode,\"visible\"),t._domNode.setAttribute(\"aria-hidden\",\"false\")},0),this._codeEditor.layoutOverlayWidget(this);var r=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&n){var i=eh(this._codeEditor.getDomNode()),o=this._codeEditor.getScrolledVisiblePosition(n.getStartPosition()),s=i.left+o.left;if(o.top<this._viewZone.heightInPx){n.endLineNumber>n.startLineNumber&&(r=!1);var a=$c(this._domNode).left;s>a&&(r=!1);var u=this._codeEditor.getScrolledVisiblePosition(n.getEndPosition());i.left+u.left>a&&(r=!1)}}this._showViewZone(r)}},t.prototype._hide=function(e){var t=this;this._isVisible&&(this._isVisible=!1,this._updateButtons(),Nc(this._domNode,\"visible\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._codeEditor.changeViewZones(function(e){void 0!==t._viewZoneId&&(e.removeZone(t._viewZoneId),t._viewZoneId=void 0,t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()-t._viewZone.heightInPx))}))},t.prototype._layoutViewZone=function(){var e=this;this._isVisible&&void 0===this._viewZoneId&&this._codeEditor.changeViewZones(function(t){e._state.isReplaceRevealed?e._viewZone.heightInPx=64:e._viewZone.heightInPx=LD,e._viewZoneId=t.addZone(e._viewZone),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+e._viewZone.heightInPx)})},t.prototype._showViewZone=function(e){var t=this;void 0===e&&(e=!0),this._isVisible&&this._codeEditor.changeViewZones(function(n){var r=LD;void 0!==t._viewZoneId?(t._state.isReplaceRevealed?(t._viewZone.heightInPx=64,r=64-LD):(t._viewZone.heightInPx=LD,r=LD-64),n.removeZone(t._viewZoneId)):t._viewZone.heightInPx=LD,t._viewZoneId=n.addZone(t._viewZone),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+r)})},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(Df),inputBackground:e.getColor(_f),inputForeground:e.getColor(Cf),inputBorder:e.getColor(wf),inputValidationInfoBackground:e.getColor(Ef),inputValidationInfoBorder:e.getColor(Af),inputValidationWarningBackground:e.getColor(Sf),inputValidationWarningBorder:e.getColor(xf),inputValidationErrorBackground:e.getColor(Mf),inputValidationErrorBorder:e.getColor(Nf)};this._findInput.style(t),this._replaceInputBox.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible){var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,n=!1,r=!1,i=!1;if(this._resized)if(nh(this._domNode)>411)return this._domNode.style.maxWidth=e-28-t-15+\"px\",void(this._replaceInputBox.inputElement.style.width=nh(this._findInput.inputBox.inputElement)+\"px\");if(439+t>=e&&(r=!0),439+t-ND>=e&&(i=!0),439+t-ND>=e+50&&(n=!0),Ic(this._domNode,\"collapsed-find-widget\",n),Ic(this._domNode,\"narrow-find-widget\",i),Ic(this._domNode,\"reduced-find-widget\",r),i||n||(this._domNode.style.maxWidth=e-28-t-15+\"px\"),this._resized){var o=nh(this._findInput.inputBox.inputElement);o>0&&(this._replaceInputBox.inputElement.style.width=o+\"px\")}}},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInputBox.select(),this._replaceInputBox.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._updateSearchScope=function(){if(this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(be.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){return e.equals(3)?(this._codeEditor.getAction(_w.NextMatchFindAction).run().done(null,pn),void e.preventDefault()):e.equals(1027)?(this._codeEditor.getAction(_w.PreviousMatchFindAction).run().done(null,pn),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInputBox.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype._onReplaceInputKeyDown=function(e){return e.equals(3)?(this._controller.replace(),void e.preventDefault()):e.equals(2051)?(this._controller.replaceAll(),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype.getHorizontalSashTop=function(e){return 0},t.prototype.getHorizontalSashLeft=function(e){return 0},t.prototype.getHorizontalSashWidth=function(e){return 500},t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?\" (\"+t.getLabel()+\")\":\"\"},t.prototype._buildFindPart=function(){var e=this;this._findInput=this._register(new hD(null,this._contextViewProvider,{width:221,label:gD,placeholder:mD,appendCaseSensitiveLabel:this._keybindingLabelFor(_w.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(_w.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(_w.ToggleRegexCommand),validation:function(t){if(0===t.length)return null;if(!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}}})),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(function(t){return e._onFindInputKeyDown(t)})),this._register(this._findInput.onInput(function(){e._state.change({searchString:e._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(function(){e._state.change({isRegex:e._findInput.getRegex(),wholeWord:e._findInput.getWholeWords(),matchCase:e._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(function(t){t.equals(1026)&&e._isReplaceVisible&&(e._replaceInputBox.focus(),t.preventDefault())})),we.c&&this._register(this._findInput.onMouseDown(function(t){return e._onFindInputMouseDown(t)})),this._matchesCount=document.createElement(\"div\"),this._matchesCount.className=\"matchesCount\",this._updateMatchesCount(),this._prevBtn=this._register(new OD({label:vD+this._keybindingLabelFor(_w.PreviousMatchFindAction),className:\"previous\",onTrigger:function(){e._codeEditor.getAction(_w.PreviousMatchFindAction).run().done(null,pn)}})),this._nextBtn=this._register(new OD({label:yD+this._keybindingLabelFor(_w.NextMatchFindAction),className:\"next\",onTrigger:function(){e._codeEditor.getAction(_w.NextMatchFindAction).run().done(null,pn)}}));var t=document.createElement(\"div\");return t.className=\"find-part\",t.appendChild(this._findInput.domNode),t.appendChild(this._matchesCount),t.appendChild(this._prevBtn.domNode),t.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new FD({parent:t,title:bD+this._keybindingLabelFor(_w.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,1)),t.isEmpty()||e._state.change({searchScope:t},!0)}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new OD({label:_D+this._keybindingLabelFor(_w.CloseFindWidgetCommand),className:\"close-fw\",onTrigger:function(){e._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceBtn.isEnabled()?e._replaceBtn.focus():e._codeEditor.focus(),t.preventDefault())}})),t.appendChild(this._closeBtn.domNode),t},t.prototype._buildReplacePart=function(){var e=this,t=document.createElement(\"div\");t.className=\"replace-input\",t.style.width=\"221px\",this._replaceInputBox=this._register(new Jw(t,null,{ariaLabel:CD,placeholder:wD})),this._register(Tc(this._replaceInputBox.inputElement,\"keydown\",function(t){return e._onReplaceInputKeyDown(t)})),this._register(Tc(this._replaceInputBox.inputElement,\"input\",function(t){e._state.change({replaceString:e._replaceInputBox.value},!1)})),this._replaceBtn=this._register(new OD({label:DD+this._keybindingLabelFor(_w.ReplaceOneAction),className:\"replace\",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new OD({label:ED+this._keybindingLabelFor(_w.ReplaceAllAction),className:\"replace-all\",onTrigger:function(){e._controller.replaceAll()}}));var n=document.createElement(\"div\");return n.className=\"replace-part\",n.appendChild(t),n.appendChild(this._replaceBtn.domNode),n.appendChild(this._replaceAllBtn.domNode),n},t.prototype._buildDomNode=function(){var e=this,t=this._buildFindPart(),n=this._buildReplacePart();this._toggleReplaceBtn=this._register(new OD({label:AD,className:\"toggle left\",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInputBox.width=e._findInput.inputBox.width),e._showViewZone()}})),this._toggleReplaceBtn.toggleClass(\"expand\",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass(\"collapse\",!this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement(\"div\"),this._domNode.className=\"editor-widget find-widget\",this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._domNode.style.width=\"411px\",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(n),this._buildSash()},t.prototype._buildSash=function(){var e=this;this._resizeSash=new pD(this._domNode,this,{orientation:Qw.VERTICAL}),this._resized=!1;var t=411;this._register(this._resizeSash.onDidStart(function(n){t=nh(e._domNode)})),this._register(this._resizeSash.onDidChange(function(n){e._resized=!0;var r=t+n.startX-n.currentX;if(!(r<411)){var i=r-ID;r>(parseFloat(Kc(e._domNode).maxWidth)||0)||(e._domNode.style.width=r+\"px\",e._isReplaceVisible&&(e._replaceInputBox.width=i))}}))},t.ID=\"editor.contrib.findWidget\",t}(eb),FD=function(e){function t(n){var r=e.call(this)||this;return r._opts=n,r._domNode=document.createElement(\"div\"),r._domNode.className=\"monaco-checkbox\",r._domNode.title=r._opts.title,r._domNode.tabIndex=0,r._checkbox=document.createElement(\"input\"),r._checkbox.type=\"checkbox\",r._checkbox.className=\"checkbox\",r._checkbox.id=\"checkbox-\"+t._COUNTER++,r._checkbox.tabIndex=-1,r._label=document.createElement(\"label\"),r._label.className=\"label\",r._label.htmlFor=r._checkbox.id,r._label.tabIndex=-1,r._domNode.appendChild(r._checkbox),r._domNode.appendChild(r._label),r._opts.parent.appendChild(r._domNode),r.onchange(r._checkbox,function(e){r._opts.onChange()}),r}return fD(t,e),Object.defineProperty(t.prototype,\"domNode\",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"checked\",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this._checkbox.focus()},t.prototype.enable=function(){this._checkbox.removeAttribute(\"disabled\")},t.prototype.disable=function(){this._checkbox.disabled=!0},t.prototype.setEnabled=function(e){e?(this.enable(),this.domNode.tabIndex=0):(this.disable(),this.domNode.tabIndex=-1)},t._COUNTER=0,t}(eb),OD=function(e){function t(t){var n=e.call(this)||this;return n._opts=t,n._domNode=document.createElement(\"div\"),n._domNode.title=n._opts.label,n._domNode.tabIndex=0,n._domNode.className=\"button \"+n._opts.className,n._domNode.setAttribute(\"role\",\"button\"),n._domNode.setAttribute(\"aria-label\",n._opts.label),n.onclick(n._domNode,function(e){n._opts.onTrigger(),e.preventDefault()}),n.onkeydown(n._domNode,function(e){if(e.equals(10)||e.equals(3))return n._opts.onTrigger(),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)}),n}return fD(t,e),Object.defineProperty(t.prototype,\"domNode\",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),t.prototype.isEnabled=function(){return this._domNode.tabIndex>=0},t.prototype.focus=function(){this._domNode.focus()},t.prototype.setEnabled=function(e){Ic(this._domNode,\"disabled\",!e),this._domNode.setAttribute(\"aria-disabled\",String(!e)),this._domNode.tabIndex=e?0:-1},t.prototype.setExpanded=function(e){this._domNode.setAttribute(\"aria-expanded\",String(!!e))},t.prototype.toggleClass=function(e,t){Ic(this._domNode,e,t)},t}(eb);Vg(function(e,t){var n=function(e,n){n&&t.addRule(\".monaco-editor \"+e+\" { background-color: \"+n+\"; }\")};n(\".findMatch\",e.getColor(og)),n(\".currentFindMatch\",e.getColor(ig)),n(\".findScope\",e.getColor(sg)),n(\".find-widget\",e.getColor(Xf));var r=e.getColor(bf);r&&t.addRule(\".monaco-editor .find-widget { box-shadow: 0 2px 8px \"+r+\"; }\");var i=e.getColor(ug);i&&t.addRule(\".monaco-editor .findMatch { border: 1px \"+(\"hc\"===e.type?\"dotted\":\"solid\")+\" \"+i+\"; box-sizing: border-box; }\");var o=e.getColor(ag);o&&t.addRule(\".monaco-editor .currentFindMatch { border: 2px solid \"+o+\"; padding: 1px; box-sizing: border-box; }\");var s=e.getColor(lg);s&&t.addRule(\".monaco-editor .findScope { border: 1px \"+(\"hc\"===e.type?\"dashed\":\"solid\")+\" \"+s+\"; }\");var a=e.getColor(gf);a&&t.addRule(\".monaco-editor .find-widget { border: 2px solid \"+a+\"; }\");var u=e.getColor(pf);u&&t.addRule(\".monaco-editor .find-widget.no-results .matchesCount { color: \"+u+\"; }\");var l=e.getColor(Jf);l&&t.addRule(\".monaco-editor .find-widget .monaco-sash { background-color: \"+l+\"; width: 3px !important; margin-left: -4px;}\")});var PD=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),BD=function(e){function t(t,n,r,i){var o=e.call(this)||this;o._hideSoon=o._register(new Yl(function(){return o._hide()},2e3)),o._isVisible=!1,o._editor=t,o._state=n,o._keybindingService=r,o._domNode=document.createElement(\"div\"),o._domNode.className=\"findOptionsWidget\",o._domNode.style.display=\"none\",o._domNode.style.top=\"10px\",o._domNode.setAttribute(\"role\",\"presentation\"),o._domNode.setAttribute(\"aria-hidden\",\"true\");var s=i.getTheme().getColor(Df);return o.caseSensitive=o._register(new sD({appendTitle:o._keybindingLabelFor(_w.ToggleCaseSensitiveCommand),isChecked:o._state.matchCase,onChange:function(e){o._state.change({matchCase:o.caseSensitive.checked},!1)},inputActiveOptionBorder:s})),o._domNode.appendChild(o.caseSensitive.domNode),o.wholeWords=o._register(new aD({appendTitle:o._keybindingLabelFor(_w.ToggleWholeWordCommand),isChecked:o._state.wholeWord,onChange:function(e){o._state.change({wholeWord:o.wholeWords.checked},!1)},inputActiveOptionBorder:s})),o._domNode.appendChild(o.wholeWords.domNode),o.regex=o._register(new uD({appendTitle:o._keybindingLabelFor(_w.ToggleRegexCommand),isChecked:o._state.isRegex,onChange:function(e){o._state.change({isRegex:o.regex.checked},!1)},inputActiveOptionBorder:s})),o._domNode.appendChild(o.regex.domNode),o._editor.addOverlayWidget(o),o._register(o._state.onFindReplaceStateChange(function(e){var t=!1;e.isRegex&&(o.regex.checked=o._state.isRegex,t=!0),e.wholeWord&&(o.wholeWords.checked=o._state.wholeWord,t=!0),e.matchCase&&(o.caseSensitive.checked=o._state.matchCase,t=!0),!o._state.isRevealed&&t&&o._revealTemporarily()})),o._register(Fc(o._domNode,function(e){return o._onMouseOut()})),o._register(kc(o._domNode,\"mouseover\",function(e){return o._onMouseOver()})),o._applyTheme(i.getTheme()),o._register(i.onThemeChange(o._applyTheme.bind(o))),o}return PD(t,e),t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?\" (\"+t.getLabel()+\")\":\"\"},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return{preference:Ru.TOP_RIGHT_CORNER}},t.prototype.highlightFindOptions=function(){this._revealTemporarily()},t.prototype._revealTemporarily=function(){this._show(),this._hideSoon.schedule()},t.prototype._onMouseOut=function(){this._hideSoon.schedule()},t.prototype._onMouseOver=function(){this._hideSoon.cancel()},t.prototype._show=function(){this._isVisible||(this._isVisible=!0,this._domNode.style.display=\"block\")},t.prototype._hide=function(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display=\"none\")},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(Df)};this.caseSensitive.style(t),this.wholeWords.style(t),this.regex.style(t)},t.ID=\"editor.contrib.findOptionsWidget\",t}(eb);Vg(function(e,t){var n=e.getColor(Xf);n&&t.addRule(\".monaco-editor .findOptionsWidget { background-color: \"+n+\"; }\");var r=e.getColor(bf);r&&t.addRule(\".monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px \"+r+\"; }\");var i=e.getColor(gf);i&&t.addRule(\".monaco-editor .findOptionsWidget { border: 2px solid \"+i+\"; }\")});var RD=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),jD=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},zD=function(e,t){return function(n,r){t(n,r,e)}};function WD(e){var t=e.getSelection();if(t.startLineNumber===t.endLineNumber){if(!t.isEmpty())return e.getModel().getValueInRange(t);var n=e.getModel().getWordAtPosition(t.getStartPosition());if(n)return n.word}return null}var VD=function(e){function t(t,n,r,i){var o=e.call(this)||this;return o._editor=t,o._findWidgetVisible=hw.bindTo(n),o._storageService=r,o._clipboardService=i,o._updateHistoryDelayer=new Rl(500),o._currentHistoryNavigator=new ow,o._state=o._register(new Ew),o.loadQueryState(),o._register(o._state.onFindReplaceStateChange(function(e){return o._onStateChanged(e)})),o._model=null,o._register(o._editor.onDidChangeModel(function(){var e=o._editor.getModel()&&o._state.isRevealed;o.disposeModel(),o._state.change({searchScope:null,matchCase:o._storageService.getBoolean(\"editor.matchCase\",Pp.WORKSPACE,!1),wholeWord:o._storageService.getBoolean(\"editor.wholeWord\",Pp.WORKSPACE,!1),isRegex:o._storageService.getBoolean(\"editor.isRegex\",Pp.WORKSPACE,!1)},!1),e&&o._start({forceRevealReplace:!1,seedSearchStringFromSelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1})})),o}return RD(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this.disposeModel(),e.prototype.dispose.call(this)},t.prototype.disposeModel=function(){this._model&&(this._model.dispose(),this._model=null)},t.prototype.getId=function(){return t.ID},t.prototype._onStateChanged=function(e){this.saveQueryState(e),e.updateHistory&&e.searchString&&this._delayedUpdateHistory(),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)},t.prototype.saveQueryState=function(e){e.isRegex&&this._storageService.store(\"editor.isRegex\",this._state.actualIsRegex,Pp.WORKSPACE),e.wholeWord&&this._storageService.store(\"editor.wholeWord\",this._state.actualWholeWord,Pp.WORKSPACE),e.matchCase&&this._storageService.store(\"editor.matchCase\",this._state.actualMatchCase,Pp.WORKSPACE)},t.prototype.loadQueryState=function(){this._state.change({matchCase:this._storageService.getBoolean(\"editor.matchCase\",Pp.WORKSPACE,this._state.matchCase),wholeWord:this._storageService.getBoolean(\"editor.wholeWord\",Pp.WORKSPACE,this._state.wholeWord),isRegex:this._storageService.getBoolean(\"editor.isRegex\",Pp.WORKSPACE,this._state.isRegex)},!1)},t.prototype._delayedUpdateHistory=function(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))},t.prototype._updateHistory=function(){this._state.searchString&&this._currentHistoryNavigator.add(this._state.searchString)},t.prototype.getState=function(){return this._state},t.prototype.getHistory=function(){return this._currentHistoryNavigator},t.prototype.closeFindWidget=function(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()},t.prototype.toggleCaseSensitive=function(){this._state.change({matchCase:!this._state.matchCase},!1)},t.prototype.toggleWholeWords=function(){this._state.change({wholeWord:!this._state.wholeWord},!1)},t.prototype.toggleRegex=function(){this._state.change({isRegex:!this._state.isRegex},!1)},t.prototype.toggleSearchScope=function(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else{var e=this._editor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1)),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=tt(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.getModel()){var t,n={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=WD(this._editor))&&(this._state.isRegex?n.searchString=tt(t):n.searchString=t);if(!n.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(n.searchString=t);e.forceRevealReplace?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),this._state.change(n,!1),this._model||(this._model=new Cw(this._editor,this._state))}},t.prototype.start=function(e){this._start(e)},t.prototype.moveToNextMatch=function(){return!!this._model&&(this._model.moveToNextMatch(),!0)},t.prototype.moveToPrevMatch=function(){return!!this._model&&(this._model.moveToPrevMatch(),!0)},t.prototype.replace=function(){return!!this._model&&(this._model.replace(),!0)},t.prototype.replaceAll=function(){return!!this._model&&(this._model.replaceAll(),!0)},t.prototype.selectAllMatches=function(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)},t.prototype.showPreviousFindTerm=function(){var e=this._currentHistoryNavigator.previous();return e&&this._state.change({searchString:e},!1,!1),!0},t.prototype.showNextFindTerm=function(){var e=this._currentHistoryNavigator.next();return e&&this._state.change({searchString:e},!1,!1),!0},t.prototype.getGlobalBufferTerm=function(){return this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():\"\"},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID=\"editor.contrib.findController\",t=jD([zD(1,Su),zD(2,Bp),zD(3,Aw)],t)}(un),HD=function(e){function t(t,n,r,i,o,s,a){var u=e.call(this,t,r,s,a)||this;return u._contextViewService=n,u._contextKeyService=r,u._keybindingService=i,u._themeService=o,u}return RD(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),e.prototype._start.call(this,t),2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput()},t.prototype.highlightFindOptions=function(){this._widget||this._createFindWidget(),this._state.isRevealed?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()},t.prototype._createFindWidget=function(){this._widget=this._register(new TD(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService)),this._findOptionsWidget=this._register(new BD(this._editor,this._state,this._keybindingService,this._themeService))},t=jD([zD(1,WC),zD(2,Su),zD(3,HC),zD(4,Og),zD(5,Bp),zD(6,Pr(Aw))],t)}(VD),UD=function(e){function t(){return e.call(this,{id:_w.StartFindAction,label:ns(\"startFindAction\",\"Find\"),alias:\"Find\",precondition:null,kbOpts:{kbExpr:null,primary:2084}})||this}return RD(t,e),t.prototype.run=function(e,t){var n=VD.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0})},t}(qu),YD=function(e){function t(){return e.call(this,{id:_w.StartFindWithSelection,label:ns(\"startFindWithSelectionAction\",\"Find With Selection\"),alias:\"Find With Selection\",precondition:null,kbOpts:{kbExpr:null,primary:null,mac:{primary:2083}}})||this}return RD(t,e),t.prototype.run=function(e,t){var n=VD.get(t);n&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0}),n.setGlobalBufferTerm(n.getState().searchString))},t}(qu),ZD=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return RD(t,e),t.prototype.run=function(e,t){var n=VD.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0}),this._run(n))},t}(qu),GD=function(e){function t(){return e.call(this,{id:_w.NextMatchFindAction,label:ns(\"findNextMatchAction\",\"Find Next\"),alias:\"Find Next\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:61,mac:{primary:2085,secondary:[61]}}})||this}return RD(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ZD),KD=function(e){function t(){return e.call(this,{id:_w.PreviousMatchFindAction,label:ns(\"findPreviousMatchAction\",\"Find Previous\"),alias:\"Find Previous\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:1085,mac:{primary:3109,secondary:[1085]}}})||this}return RD(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ZD),qD=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return RD(t,e),t.prototype.run=function(e,t){var n=VD.get(t);if(n){var r=WD(t);r&&n.setSearchString(r),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0}),this._run(n))}},t}(qu),QD=function(e){function t(){return e.call(this,{id:_w.NextSelectionMatchFindAction,label:ns(\"nextSelectionMatchFindAction\",\"Find Next Selection\"),alias:\"Find Next Selection\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:2109}})||this}return RD(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(qD),XD=function(e){function t(){return e.call(this,{id:_w.PreviousSelectionMatchFindAction,label:ns(\"previousSelectionMatchFindAction\",\"Find Previous Selection\"),alias:\"Find Previous Selection\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:3133}})||this}return RD(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(qD),JD=function(e){function t(){return e.call(this,{id:_w.StartFindReplaceAction,label:ns(\"startReplace\",\"Replace\"),alias:\"Replace\",precondition:null,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596}}})||this}return RD(t,e),t.prototype.run=function(e,t){if(!t.getConfiguration().readOnly){var n=VD.get(t),r=t.getSelection(),i=!r.isEmpty()&&r.startLineNumber===r.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,o=n.getState().searchString||i?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:i,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:o,shouldAnimate:!0})}},t}(qu),$D=function(e){function t(){return e.call(this,{id:_w.ShowNextFindTermAction,label:ns(\"showNextFindTermAction\",\"Show Next Find Term\"),alias:\"Show Next Find Term\",precondition:hw,kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:mu.and(dw,nl.focus),primary:bw.primary,mac:bw.mac,win:bw.win,linux:bw.linux}})||this}return RD(t,e),t.prototype._run=function(e){return e.showNextFindTerm()},t}(ZD),eE=function(e){function t(){return e.call(this,{id:_w.ShowPreviousFindTermAction,label:ns(\"showPreviousFindTermAction\",\"Show Previous Find Term\"),alias:\"Find Show Previous Find Term\",precondition:hw,kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:mu.and(dw,nl.focus),primary:yw.primary,mac:yw.mac,win:yw.win,linux:yw.linux}})||this}return RD(t,e),t.prototype._run=function(e){return e.showPreviousFindTerm()},t}(ZD);el(HD),$u(UD),$u(YD),$u(GD),$u(KD),$u(QD),$u(XD),$u(JD),$u($D),$u(eE);var tE=Ku.bindToContribution(VD.get);Ju(new tE({id:_w.CloseFindWidgetCommand,precondition:hw,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:9,secondary:[1033]}})),Ju(new tE({id:_w.ToggleCaseSensitiveCommand,precondition:null,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:fw.primary,mac:fw.mac,win:fw.win,linux:fw.linux}})),Ju(new tE({id:_w.ToggleWholeWordCommand,precondition:null,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:gw.primary,mac:gw.mac,win:gw.win,linux:gw.linux}})),Ju(new tE({id:_w.ToggleRegexCommand,precondition:null,handler:function(e){return e.toggleRegex()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:mw.primary,mac:mw.mac,win:mw.win,linux:mw.linux}})),Ju(new tE({id:_w.ToggleSearchScopeCommand,precondition:null,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:vw.primary,mac:vw.mac,win:vw.win,linux:vw.linux}})),Ju(new tE({id:_w.ReplaceOneAction,precondition:hw,handler:function(e){return e.replace()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:3094}})),Ju(new tE({id:_w.ReplaceAllAction,precondition:hw,handler:function(e){return e.replaceAll()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:2563}})),Ju(new tE({id:_w.SelectAllMatchesAction,precondition:hw,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:au.WEIGHT.editorContrib(5),kbExpr:nl.focus,primary:515}}));var nE=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),rE=function(e){function t(n){var r=e.call(this)||this;return r.name=t.Name,r.message=n,r}return nE(t,e),t.Name=\"NOPRO\",t}(Error);function iE(e,t,n){var r,i=wi.ordered(e);return 0===i.length?cn.b.wrapError(new rE):Wl(i.map(function(i){return function(){if(Zn(r))return Pl(function(r){return i.provideDocumentRangeFormattingEdits(e,t,n,r)}).then(function(e){r=e},fn)}})).then(function(){return r})}function oE(e,t){var n,r=Ci.ordered(e);return 0===r.length?iE(e,e.getFullModelRange(),t):Wl(r.map(function(r){return function(){if(Zn(n))return Pl(function(n){return r.provideDocumentFormattingEdits(e,t,n)}).then(function(e){n=e},fn)}})).then(function(){return n})}function sE(e,t,n,r){var i=Di.ordered(e)[0];return i?i.autoFormatTriggerCharacters.indexOf(n)<0?cn.b.as(void 0):Pl(function(o){return i.provideOnTypeFormattingEdits(e,t,n,r,o)}).then(function(e){return e},fn):cn.b.as(void 0)}Qu(\"_executeFormatRangeProvider\",function(e,t){var n=t.resource,r=t.range,i=t.options;if(!(n instanceof Be&&be.isIRange(r)))throw yn();var o=e.get(Br).getModel(n);if(!o)throw yn(\"resource\");return iE(o,be.lift(r),i)}),Qu(\"_executeFormatDocumentProvider\",function(e,t){var n=t.resource,r=t.options;if(!(n instanceof Be))throw yn(\"resource\");var i=e.get(Br).getModel(n);if(!i)throw yn(\"resource\");return oE(i,r)}),Xu(\"_executeFormatOnTypeProvider\",function(e,t,n){var r=n.ch,i=n.options;if(\"string\"!=typeof r)throw yn(\"ch\");return sE(e,t,r,i)});var aE=function(){function e(e,t){this._initialSelection=t,this._edits=e}return e._handleEolEdits=function(e,t){for(var n=void 0,r=[],i=0,o=t;i<o.length;i++){var s=o[i];\"number\"==typeof s.eol&&(n=s.eol),s.range&&\"string\"==typeof s.text&&r.push(s)}return\"number\"==typeof n&&e.getModel().setEOL(n),r},e.executeAsCommand=function(t,n){var r=new e(this._handleEolEdits(t,n),t.getSelection());t.pushUndoStop(),t.executeCommand(\"formatEditsCommand\",r),t.pushUndoStop()},e.isFullModelReplaceEdit=function(e,t){var n=e.getModel(),r=n.validateRange(t.range);return n.getFullModelRange().equalsRange(r)},e.execute=function(t,n){var r=this._handleEolEdits(t,n);t.pushUndoStop(),1===r.length&&e.isFullModelReplaceEdit(t,r[0])?t.executeEdits(\"formatEditsCommand\",r.map(function(e){return S_.replace(be.lift(e.range),e.text)})):t.executeEdits(\"formatEditsCommand\",r.map(function(e){return S_.replaceMove(be.lift(e.range),e.text)})),t.pushUndoStop()},e.prototype.getEditOperations=function(t,n){for(var r=0,i=this._edits;r<i.length;r++){var o=i[r];null!==e.trimEdit(o,t)&&n.addEditOperation(be.lift(o.range),o.text)}var s=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(s=!0,this._selectionId=n.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(s=!0,this._selectionId=n.trackSelection(this._initialSelection,!1))),s||(this._selectionId=n.trackSelection(this._initialSelection))},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._selectionId)},e.fixLineTerminators=function(e,t){e.text=e.text.replace(/\\r\\n|\\r|\\n/g,t.getEOL())},e.trimEdit=function(e,t){return this.fixLineTerminators(e,t),this._trimEdit(t.validateRange(e.range),e.text,e.forceMoveMarkers,t)},e._trimEdit=function(e,t,n,r){var i=r.getValueInRange(e),o=It(t,i);if(o===i.length&&o===t.length)return null;if(o>0){var s=r.modifyPosition(e.getStartPosition(),o);e=new be(s.lineNumber,s.column,e.endLineNumber,e.endColumn),t=t.substring(o),i=i.substr(o)}var a=Lt(t,i);if(a>0){var u=r.modifyPosition(e.getEndPosition(),-a);e=new be(e.startLineNumber,e.startColumn,u.lineNumber,u.column),t=t.substring(0,t.length-a),i=i.substring(0,i.length-a)}return{text:t,range:e,forceMoveMarkers:n}},e}(),uE=Or(\"editorWorkerService\"),lE=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var n=e.getModel();this.modelVersionId=n?$e(\"{0}#{1}\",n.uri.toString(),n.getVersionId()):null}0!=(4&this.flags)&&(this.position=e.getPosition()),0!=(2&this.flags)&&(this.selection=e.getSelection()),0!=(8&this.flags)&&(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop())}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var n=t;return this.modelVersionId===n.modelVersionId&&(this.scrollLeft===n.scrollLeft&&this.scrollTop===n.scrollTop&&(!(!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position))&&!(!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}(),cE=function(){function e(e,t){this._visiblePosition=e,this._visiblePositionScrollDelta=t}return e.capture=function(t){var n=null,r=0;if(0!==t.getScrollTop()){var i=t.getVisibleRanges();if(i.length>0){n=i[0].getStartPosition();var o=t.getTopForPosition(n.lineNumber,n.column);r=t.getScrollTop()-o}}return new e(n,r)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}(),hE=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),dE=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},pE=function(e,t){return function(n,r){t(n,r,e)}};function fE(e){if((e=e.filter(function(e){return e.range})).length){for(var t=e[0].range,n=1;n<e.length;n++)t=be.plusRange(t,e[n].range);var r=t.startLineNumber,i=t.endLineNumber;r===i?1===e.length?Vw(ns(\"hint11\",\"Made 1 formatting edit on line {0}\",r)):Vw(ns(\"hintn1\",\"Made {0} formatting edits on line {1}\",e.length,r)):1===e.length?Vw(ns(\"hint1n\",\"Made 1 formatting edit between lines {0} and {1}\",r,i)):Vw(ns(\"hintnn\",\"Made {0} formatting edits between lines {1} and {2}\",e.length,r,i))}}var gE,mE,vE,yE=function(){function e(e,t){var n=this;this.editor=e,this.workerService=t,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.onDidChangeConfiguration(function(){return n.update()})),this.callOnDispose.push(e.onDidChangeModel(function(){return n.update()})),this.callOnDispose.push(e.onDidChangeModelLanguage(function(){return n.update()})),this.callOnDispose.push(Di.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=on(this.callOnModel),this.editor.getConfiguration().contribInfo.formatOnType&&this.editor.getModel()){var t=this.editor.getModel(),n=Di.ordered(t)[0];if(n&&n.autoFormatTriggerCharacters){for(var r=new Bs,i=0,o=n.autoFormatTriggerCharacters;i<o.length;i++){var s=o[i];r.add(s.charCodeAt(0))}this.callOnModel.push(this.editor.onDidType(function(t){var n=t.charCodeAt(t.length-1);r.has(n)&&e.trigger(String.fromCharCode(n))}))}}},e.prototype.trigger=function(e){var t=this;if(!(this.editor.getSelections().length>1)){var n=this.editor.getModel(),r=this.editor.getPosition(),i=!1,o=this.editor.onDidChangeModelContent(function(e){if(e.isFlush)return i=!0,void o.dispose();for(var t=0,n=e.changes.length;t<n;t++){if(e.changes[t].range.endLineNumber<=r.lineNumber)return i=!0,void o.dispose()}}),s=n.getOptions();sE(n,r,e,{tabSize:s.tabSize,insertSpaces:s.insertSpaces}).then(function(e){return t.workerService.computeMoreMinimalEdits(n.uri,e)}).then(function(e){o.dispose(),i||Zn(e)||(aE.executeAsCommand(t.editor,e),fE(e))},function(e){throw o.dispose(),e})}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=on(this.callOnDispose),this.callOnModel=on(this.callOnModel)},e.ID=\"editor.contrib.autoFormat\",e=dE([pE(1,uE)],e)}(),bE=function(){function e(e,t){var n=this;this.editor=e,this.workerService=t,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.onDidChangeConfiguration(function(){return n.update()})),this.callOnDispose.push(e.onDidChangeModel(function(){return n.update()})),this.callOnDispose.push(e.onDidChangeModelLanguage(function(){return n.update()})),this.callOnDispose.push(wi.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=on(this.callOnModel),this.editor.getConfiguration().contribInfo.formatOnPaste&&this.editor.getModel()){var t=this.editor.getModel(),n=wi.ordered(t)[0];n&&n.provideDocumentRangeFormattingEdits&&this.callOnModel.push(this.editor.onDidPaste(function(t){e.trigger(t)}))}},e.prototype.trigger=function(e){var t=this;if(!(this.editor.getSelections().length>1)){var n=this.editor.getModel(),r=n.getOptions(),i=r.tabSize,o=r.insertSpaces,s=new lE(this.editor,5);iE(n,e,{tabSize:i,insertSpaces:o}).then(function(e){return t.workerService.computeMoreMinimalEdits(n.uri,e)}).then(function(e){s.validate(t.editor)&&!Zn(e)&&(aE.execute(t.editor,e),fE(e))})}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=on(this.callOnDispose),this.callOnModel=on(this.callOnModel)},e.ID=\"editor.contrib.formatOnPaste\",e=dE([pE(1,uE)],e)}(),_E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return hE(t,e),t.prototype.run=function(e,t){var n=this,r=e.get(uE),i=e.get(Yb),o=this._getFormattingEdits(t);if(!o)return cn.b.as(void 0);var s=new lE(t,5);return o.then(function(e){return r.computeMoreMinimalEdits(t.getModel().uri,e)}).then(function(e){s.validate(t)&&!Zn(e)&&(aE.execute(t,e),fE(e),t.focus())},function(e){if(!(e instanceof Error&&e.name===rE.Name))throw e;n._notifyNoProviderError(i,t.getModel().getLanguageIdentifier().language)})},t.prototype._notifyNoProviderError=function(e,t){e.info(ns(\"no.provider\",\"There is no formatter for '{0}'-files installed.\",t))},t}(qu),CE=function(e){function t(){return e.call(this,{id:\"editor.action.formatDocument\",label:ns(\"formatDocument.label\",\"Format Document\"),alias:\"Format Document\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:1572,linux:{primary:3111}},menuOpts:{when:nl.hasDocumentFormattingProvider,group:\"1_modification\",order:1.3}})||this}return hE(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=t.getOptions();return oE(t,{tabSize:n.tabSize,insertSpaces:n.insertSpaces})},t.prototype._notifyNoProviderError=function(e,t){e.info(ns(\"no.documentprovider\",\"There is no document formatter for '{0}'-files installed.\",t))},t}(_E),wE=function(e){function t(){return e.call(this,{id:\"editor.action.formatSelection\",label:ns(\"formatSelection.label\",\"Format Selection\"),alias:\"Format Code\",precondition:mu.and(nl.writable,nl.hasNonEmptySelection),kbOpts:{kbExpr:nl.editorTextFocus,primary:Ja(2089,2084)},menuOpts:{when:mu.and(nl.hasDocumentSelectionFormattingProvider,nl.hasNonEmptySelection),group:\"1_modification\",order:1.31}})||this}return hE(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=t.getOptions(),r=n.tabSize,i=n.insertSpaces;return iE(t,e.getSelection(),{tabSize:r,insertSpaces:i})},t.prototype._notifyNoProviderError=function(e,t){e.info(ns(\"no.selectionprovider\",\"There is no selection formatter for '{0}'-files installed.\",t))},t}(_E);el(yE),el(bE),$u(CE),$u(wE),Ga.registerCommand(\"editor.action.format\",function(e){var t=e.get(Wu).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return hE(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=e.getSelection(),r=t.getOptions(),i=r.tabSize,o=r.insertSpaces;return n.isEmpty()?oE(t,{tabSize:i,insertSpaces:o}):iE(t,n,{tabSize:i,insertSpaces:o})},t}(_E))).run(e,t)}),(mE=gE||(gE={}))[mE.Hint=1]=\"Hint\",mE[mE.Info=2]=\"Info\",mE[mE.Warning=4]=\"Warning\",mE[mE.Error=8]=\"Error\",function(e){e.compare=function(e,t){return t-e};var t=Object.create(null);t[e.Error]=ns(\"sev.error\",\"Error\"),t[e.Warning]=ns(\"sev.warning\",\"Warning\"),t[e.Info]=ns(\"sev.info\",\"Info\"),e.toString=function(e){return t[e]||\"\"},e.fromSeverity=function(t){switch(t){case Ub.Error:return e.Error;case Ub.Warning:return e.Warning;case Ub.Info:return e.Info;case Ub.Ignore:return e.Hint}}}(gE||(gE={})),function(e){var t=\"\";e.makeKey=function(e){var n=[t];return e.source?n.push(e.source.replace(\"¦\",\"¦\")):n.push(t),e.code?n.push(e.code.replace(\"¦\",\"¦\")):n.push(t),void 0!==e.severity&&null!==e.severity?n.push(gE.toString(e.severity)):n.push(t),e.message?n.push(e.message.replace(\"¦\",\"¦\")):n.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?n.push(e.startLineNumber.toString()):n.push(t),void 0!==e.startColumn&&null!==e.startColumn?n.push(e.startColumn.toString()):n.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?n.push(e.endLineNumber.toString()):n.push(t),void 0!==e.endColumn&&null!==e.endColumn?n.push(e.endColumn.toString()):n.push(t),n.push(t),n.join(\"¦\")}}(vE||(vE={}));var DE=Or(\"markerService\"),EE=(n(346),n(347),new md(new pd(0,122,204))),AE={showArrow:!0,showFrame:!0,className:\"\",frameColor:EE,arrowColor:EE,keepEditorSelection:!1},SE=function(){function e(e,t,n,r,i,o){this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=r,this._onDomNodeTop=i,this._onComputedHeight=o}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),xE=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),ME=function(){function e(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=[]}return e.prototype.dispose=function(){this.hide(),hh(this._ruleName)},Object.defineProperty(e.prototype,\"color\",{set:function(e){this._color!==e&&(this._color=e,this._updateStyle())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{set:function(e){this._height!==e&&(this._height=e,this._updateStyle())},enumerable:!0,configurable:!0}),e.prototype._updateStyle=function(){var e,t,n;hh(this._ruleName),e=\".monaco-editor \"+this._ruleName,t=\"border-style: solid; border-color: transparent; border-bottom-color: \"+this._color+\"; border-width: \"+this._height+\"px; bottom: -\"+this._height+\"px; margin-left: -\"+this._height+\"px; \",void 0===n&&(n=ch()),n&&t&&n.sheet.insertRule(e+\"{\"+t+\"}\",0)},e.prototype.show=function(e){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:be.fromPositions(e),options:{className:this._ruleName,stickiness:Pn.NeverGrowsWhenTypingAtEdges}}])},e.prototype.hide=function(){this._editor.deltaDecorations(this._decorations,[])},e._IdGenerator=new Sw(\".arrow-decoration-\"),e}(),NE=function(){function e(e,t){void 0===t&&(t={});var n=this;this._positionMarkerId=[],this._disposables=[],this._isShowing=!1,this.editor=e,this.options=cs(t),ds(this.options,AE,!1),this.domNode=document.createElement(\"div\"),this.options.isAccessible||(this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setAttribute(\"role\",\"presentation\")),this._disposables.push(this.editor.onDidLayoutChange(function(e){var t=n._getWidth(e);n.domNode.style.width=t+\"px\",n.domNode.style.left=n._getLeft(e)+\"px\",n._onWidth(t)}))}return e.prototype.dispose=function(){var e=this;on(this._disposables),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(function(t){t.removeZone(e._viewZone.id),e._viewZone=null}),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[]},e.prototype.create=function(){Mc(this.domNode,\"zone-widget\"),Mc(this.domNode,this.options.className),this.container=document.createElement(\"div\"),Mc(this.container,\"zone-widget-container\"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new ME(this.editor),this._disposables.push(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()},e.prototype.style=function(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()},e.prototype._applyStyles=function(){if(this.container){var e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow){var t=this.options.arrowColor.toString();this._arrow.color=t}},e.prototype._getWidth=function(e){return e.width-e.minimapWidth-e.verticalScrollbarWidth},e.prototype._getLeft=function(e){return e.minimapWidth>0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+\"px\"},e.prototype._onViewZoneHeight=function(e){this.domNode.style.height=e+\"px\";var t=e-this._decoratingElementsHeight();this.container.style.height=t+\"px\";var n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n)),this._resizeSash.layout()},Object.defineProperty(e.prototype,\"position\",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel().getDecorationRange(e);if(t)return t.getStartPosition()}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var n=be.isIRange(e)?e:new be(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:n,options:Ma.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones(function(t){t.removeZone(e._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getConfiguration().lineHeight,t=0;this.options.showArrow&&(t+=2*Math.round(e/3));this.options.showFrame&&(t+=2*Math.round(e/9));return t},e.prototype._showImpl=function(e,t){var n=this,r={lineNumber:e.startLineNumber,column:e.startColumn},i=this.editor.getLayoutInfo(),o=this._getWidth(i);this.domNode.style.width=o+\"px\",this.domNode.style.left=this._getLeft(i)+\"px\";var s=document.createElement(\"div\");s.style.overflow=\"hidden\";var a=this.editor.getConfiguration().lineHeight,u=this.editor.getLayoutInfo().height/a*.8;t>=u&&(t=u);var l=0,c=0;if(this.options.showArrow&&(l=Math.round(a/3),this._arrow.height=l,this._arrow.show(r)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones(function(e){n._viewZone&&e.removeZone(n._viewZone.id),n._overlayWidget&&(n.editor.removeOverlayWidget(n._overlayWidget),n._overlayWidget=null),n.domNode.style.top=\"-1000px\",n._viewZone=new SE(s,r.lineNumber,r.column,t,function(e){return n._onViewZoneTop(e)},function(e){return n._onViewZoneHeight(e)}),n._viewZone.id=e.addZone(n._viewZone),n._overlayWidget=new xE(\"vs.editor.contrib.zoneWidget\"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)}),this.options.showFrame){var h=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=h+\"px\",this.container.style.borderBottomWidth=h+\"px\"}var d=t*a-this._decoratingElementsHeight();this.container.style.top=l+\"px\",this.container.style.height=d+\"px\",this.container.style.overflow=\"hidden\",this._doLayout(d,o),this.options.keepEditorSelection||this.editor.setSelection(e);var p=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(p)},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),Mc(this.container,e)},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.prototype._relayout=function(e){var t=this;this._viewZone.heightInLines!==e&&this.editor.changeViewZones(function(n){t._viewZone.heightInLines=e,n.layoutZone(t._viewZone.id)})},e.prototype._initSash=function(){var e,t=this;this._resizeSash=new pD(this.domNode,this,{orientation:Qw.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.disable()),this._disposables.push(this._resizeSash.onDidStart(function(n){t._viewZone&&(e={startY:n.startY,heightInLines:t._viewZone.heightInLines})})),this._disposables.push(this._resizeSash.onDidEnd(function(){e=void 0})),this._disposables.push(this._resizeSash.onDidChange(function(n){if(e){var r=(n.currentY-e.startY)/t.editor.getConfiguration().lineHeight,i=r<0?Math.ceil(r):Math.floor(r),o=e.heightInLines+i;o>5&&o<35&&t._relayout(o)}}))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}();function IE(e,t,n){if(!e)return null;if(\"string\"==typeof e&&(e=Be.file(e)),e.scheme!==Md.file&&e.scheme!==Md.untitled)return e.with({query:null,fragment:null}).toString(!0);var r=t?t.getWorkspaceFolder(e):null;if(r){var i=t.getWorkspace().folders.length>1,o=void 0;if(o=(we.c?r.uri.fsPath===e.fsPath:xt(r.uri.fsPath,e.fsPath))?\"\":ir(rt(e.fsPath.substr(r.uri.fsPath.length),Jn),!0),i){var s=er(r.uri.fsPath);o=o?sr(s,o):s}return o}if(kE(e.fsPath))return ir(TE(e.fsPath),!0);var a=ir(e.fsPath,!0);return!we.g&&n&&(a=OE(a,n.userHome)),a}function LE(e){if(!e)return null;\"string\"==typeof e&&(e=Be.file(e));var t=er(e.fsPath)||e.fsPath;return kE(t)?TE(t):t}function kE(e){return we.g&&e&&\":\"===e[1]}function TE(e){return kE(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var FE=Object.create(null);function OE(e,t){if(we.g||!e||!t)return e;var n=FE.original===t?FE.normalized:void 0;return n||(n=\"\"+it(t,Xn)+Xn,FE={original:t,normalized:n}),(we.c?at(e,n):Nt(e,n))&&(e=\"~/\"+e.substr(n.length)),e}var PE;!function(e){e[e.TEXT=0]=\"TEXT\",e[e.VARIABLE=1]=\"VARIABLE\",e[e.SEPARATOR=2]=\"SEPARATOR\"}(PE||(PE={}));var BE=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),RE=function(){function e(e,t,n){var r=this;this.lines=0,this.longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var i=document.createElement(\"div\");i.className=\"descriptioncontainer\",i.setAttribute(\"aria-live\",\"assertive\"),i.setAttribute(\"role\",\"alert\"),this._messageBlock=document.createElement(\"span\"),i.appendChild(this._messageBlock),this._relatedBlock=document.createElement(\"div\"),i.appendChild(this._relatedBlock),this._disposables.push(Tc(this._relatedBlock,\"click\",function(e){e.preventDefault();var t=r._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new vb(i,{horizontal:rs.Auto,vertical:rs.Hidden,useShadows:!1,horizontalScrollbarSize:3}),Mc(this._scrollable.getDomNode(),\"block\"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){return i.style.left=\"-\"+e.scrollLeft+\"px\"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){on(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,r=e.relatedInformation;if(t){this.lines=0,this.longestLineLength=0;for(var i=new Array(t.length+3+1).join(\" \"),o=n.split(/\\r\\n|\\r|\\n/g),s=0;s<o.length;s++){var a=o[s];this.lines+=1,this.longestLineLength=Math.max(a.length,this.longestLineLength),0===s?n=\"[\"+t+\"] \"+a:n+=\"\\n\"+i+a}}else this.lines=1,this.longestLineLength=n.length;if(Dc(this._relatedBlock),!Zn(r)){this._relatedBlock.style.paddingTop=Math.floor(.66*this._editor.getConfiguration().lineHeight)+\"px\",this.lines+=1;for(var u=0,l=r;u<l.length;u++){var c=l[u],h=document.createElement(\"div\"),d=document.createElement(\"span\");Mc(d,\"filename\"),d.innerHTML=LE(c.resource)+\"(\"+c.startLineNumber+\", \"+c.startColumn+\"): \",d.title=IE(c.resource),this._relatedDiagnostics.set(d,c);var p=document.createElement(\"span\");p.innerText=c.message,this._editor.applyFontInfo(p),h.appendChild(d),h.appendChild(p),this.lines+=1,this._relatedBlock.appendChild(h)}}this._messageBlock.innerText=n,this._editor.applyFontInfo(this._messageBlock);var f=Math.floor(this._editor.getConfiguration().fontInfo.typicalFullwidthCharacterWidth*this.longestLineLength);this._scrollable.setScrollDimensions({scrollWidth:f})},e.prototype.layout=function(e,t){this._scrollable.setScrollDimensions({width:t})},e}(),jE=function(e){function t(t,n){var r=e.call(this,t,{showArrow:!0,showFrame:!0,isAccessible:!0})||this;return r._themeService=n,r._callOnDispose=[],r._onDidSelectRelatedInformation=new wn,r.onDidSelectRelatedInformation=r._onDidSelectRelatedInformation.event,r._severity=gE.Warning,r._backgroundColor=md.white,r._applyTheme(n.getTheme()),r._callOnDispose.push(n.onThemeChange(r._applyTheme.bind(r))),r.create(),r}return BE(t,e),t.prototype._applyTheme=function(e){this._backgroundColor=e.getColor(ZE);var t=HE;this._severity===gE.Warning?t=UE:this._severity===gE.Info&&(t=YE);var n=e.getColor(t);this.style({arrowColor:n,frameColor:n})},t.prototype._applyStyles=function(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor.toString()),e.prototype._applyStyles.call(this)},t.prototype.dispose=function(){this._callOnDispose=on(this._callOnDispose),e.prototype.dispose.call(this)},t.prototype.focus=function(){this._parentContainer.focus()},t.prototype._fillContainer=function(e){var t=this;this._parentContainer=e,Mc(e,\"marker-widget\"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute(\"role\",\"tooltip\"),this._container=document.createElement(\"div\"),e.appendChild(this._container),this._title=document.createElement(\"div\"),this._title.className=\"block title\",this._container.appendChild(this._title),this._message=new RE(this._container,this.editor,function(e){return t._onDidSelectRelatedInformation.fire(e)}),this._disposables.push(this._message)},t.prototype.show=function(e,t){throw new Error(\"call showAtMarker\")},t.prototype.showAtMarker=function(t,n,r){this._container.classList.remove(\"stale\"),this._title.innerHTML=ns(\"title.wo_source\",\"({0}/{1})\",n,r),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getTheme());var i=be.lift(t),o=i.containsPosition(this.editor.getPosition())?this.editor.getPosition():i.getStartPosition();e.prototype.show.call(this,o,this.computeRequiredHeight()),this.editor.revealPositionInCenter(o,0),1!==this.editor.getConfiguration().accessibilitySupport&&this.focus()},t.prototype.updateMarker=function(e){this._container.classList.remove(\"stale\"),this._message.update(e)},t.prototype.showStale=function(){this._container.classList.add(\"stale\"),this._relayout()},t.prototype._doLayout=function(e,t){this._message.layout(e,t),this._container.style.height=e+\"px\"},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 1+this._message.lines},t}(NE),zE=kg(sm,am),WE=kg(um,lm),VE=kg(cm,hm),HE=lf(\"editorMarkerNavigationError.background\",{dark:zE,light:zE,hc:zE},ns(\"editorMarkerNavigationError\",\"Editor marker navigation widget error color.\")),UE=lf(\"editorMarkerNavigationWarning.background\",{dark:WE,light:WE,hc:WE},ns(\"editorMarkerNavigationWarning\",\"Editor marker navigation widget warning color.\")),YE=lf(\"editorMarkerNavigationInfo.background\",{dark:VE,light:VE,hc:VE},ns(\"editorMarkerNavigationInfo\",\"Editor marker navigation widget info color.\")),ZE=lf(\"editorMarkerNavigation.background\",{dark:\"#2D2D30\",light:md.white,hc:\"#0C141F\"},ns(\"editorMarkerNavigationBackground\",\"Editor marker navigation widget background.\")),GE=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),KE=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},qE=function(e,t){return function(n,r){t(n,r,e)}},QE=function(){function e(e,t){var n=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new wn,this._onMarkerSetChanged=new wn,this.setMarkers(t),this._toUnbind.push(this._editor.onDidDispose(function(){return n.dispose()})),this._toUnbind.push(this._editor.onDidChangeCursorPosition(function(){n._ignoreSelectionChange||n.currentMarker&&be.containsPosition(n.currentMarker,n._editor.getPosition())||(n._nextIdx=-1)}))}return Object.defineProperty(e.prototype,\"onCurrentMarkerChanged\",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onMarkerSetChanged\",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){var t=this._nextIdx>=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(JE.compareMarker),this._nextIdx=t?Math.max(-1,Vn(this._markers,t,JE.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,n=this._editor.getPosition(),r=0;r<this._markers.length;r++){var i=be.lift(this._markers[r]);if(i.isEmpty()){var o=this._editor.getModel().getWordAtPosition(i.getStartPosition());o&&(i=new be(i.startLineNumber,o.startColumn,i.startLineNumber,o.endColumn))}if(i.containsPosition(n)||n.isBeforeOrEqual(i.getStartPosition())){this._nextIdx=r,t=!0;break}}t||(this._nextIdx=e?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)},Object.defineProperty(e.prototype,\"currentMarker\",{get:function(){return this.canNavigate()?this._markers[this._nextIdx]:void 0},enumerable:!0,configurable:!0}),e.prototype.move=function(e,t){if(!this.canNavigate())return this._onCurrentMarkerChanged.fire(void 0),!t;var n=this._nextIdx,r=!1;if(-1===this._nextIdx?this._initIdx(e):e?t||this._nextIdx+1<this._markers.length?this._nextIdx=(this._nextIdx+1)%this._markers.length:r=!0:e||(t||this._nextIdx>0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:r=!0),n!==this._nextIdx){var i=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(i)}return r},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t<n.length;t++){var r=n[t];if(be.containsPosition(r,e))return r}},Object.defineProperty(e.prototype,\"total\",{get:function(){return this._markers.length},enumerable:!0,configurable:!0}),e.prototype.indexOf=function(e){return 1+this._markers.indexOf(e)},e.prototype.dispose=function(){this._toUnbind=on(this._toUnbind)},e}(),XE=function(){function e(e,t,n,r,i){this._markerService=t,this._contextKeyService=n,this._themeService=r,this._editorService=i,this._disposeOnClose=[],this._editor=e,this._widgetVisible=tA.bindTo(this._contextKeyService)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._cleanUp()},e.prototype._cleanUp=function(){this._widgetVisible.reset(),this._disposeOnClose=on(this._disposeOnClose),this._widget=null,this._model=null},e.prototype.getOrCreateModel=function(){var e=this;if(this._model)return this._model;var t=this._getMarkers();return this._model=new QE(this._editor,t),this._markerService.onMarkerChanged(this._onMarkerChanged,this,this._disposeOnClose),this._widget=new jE(this._editor,this._themeService),this._widgetVisible.set(!0),this._disposeOnClose.push(this._model),this._disposeOnClose.push(this._widget),this._disposeOnClose.push(this._widget.onDidSelectRelatedInformation(function(t){e._editorService.openEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:be.lift(t).collapseToStart()}}).then(void 0,pn),e.closeMarkersNavigation(!1)})),this._disposeOnClose.push(this._editor.onDidChangeModel(function(){return e._cleanUp()})),this._disposeOnClose.push(this._model.onCurrentMarkerChanged(function(t){t?e._model.withoutWatchingEditorPosition(function(){e._widget.showAtMarker(t,e._model.indexOf(t),e._model.total)}):e._cleanUp()})),this._disposeOnClose.push(this._model.onMarkerSetChanged(function(){var t=e._model.findMarkerAtPosition(e._widget.position);t?e._widget.updateMarker(t):e._widget.showStale()})),this._model},e.prototype.closeMarkersNavigation=function(e){void 0===e&&(e=!0),this._cleanUp(),e&&this._editor.focus()},e.prototype._onMarkerChanged=function(e){var t=this;e.some(function(e){return t._editor.getModel().uri.toString()===e.toString()})&&this._model.setMarkers(this._getMarkers())},e.prototype._getMarkers=function(){return this._markerService.read({resource:this._editor.getModel().uri,severities:gE.Error|gE.Warning|gE.Info})},e.ID=\"editor.contrib.markerController\",e=KE([qE(1,DE),qE(2,Su),qE(3,Og),qE(4,Fu)],e)}(),JE=function(e){function t(t,n){var r=e.call(this,n)||this;return r._isNext=t,r}return GE(t,e),t.prototype.run=function(e,n){var r=this,i=e.get(DE),o=e.get(Fu),s=XE.get(n);if(s){var a=s.getOrCreateModel();if(a.move(this._isNext,!1)){var u=i.read({severities:gE.Error|gE.Warning|gE.Info}).sort(t.compareMarker);if(0!==u.length){var l=Vn(u,a.currentMarker||{resource:n.getModel().uri,severity:gE.Error,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1},t.compareMarker);l<0?(l=~l,l%=u.length):l=this._isNext?(l+1)%u.length:(l+u.length-1)%u.length;var c=u[l];if(c.resource.toString()!==n.getModel().uri.toString())return s.closeMarkersNavigation(),o.openEditor({resource:c.resource,options:{pinned:!1,revealIfOpened:!0,revealInCenterIfOutsideViewport:!0,selection:c}}).then(function(e){if(e&&zu(e.getControl()))return e.getControl().getAction(r.id).run()});a.move(this._isNext,!0)}}}},t.compareMarker=function(e,t){var n=wt(e.resource.toString(),t.resource.toString());return 0===n&&(n=gE.compare(e.severity,t.severity)),0===n&&(n=be.compareRangesUsingStarts(e,t)),n},t}(qu),$E=function(e){function t(){return e.call(this,!0,{id:\"editor.action.marker.next\",label:ns(\"markerAction.next.label\",\"Go to Next Problem (Error, Warning, Info)\"),alias:\"Go to Next Error or Warning\",precondition:nl.writable,kbOpts:{kbExpr:nl.focus,primary:66}})||this}return GE(t,e),t}(JE),eA=function(e){function t(){return e.call(this,!1,{id:\"editor.action.marker.prev\",label:ns(\"markerAction.previous.label\",\"Go to Previous Problem (Error, Warning, Info)\"),alias:\"Go to Previous Error or Warning\",precondition:nl.writable,kbOpts:{kbExpr:nl.focus,primary:1090}})||this}return GE(t,e),t}(JE);el(XE),$u($E),$u(eA);var tA=new Au(\"markersNavigationVisible\",!1);Ju(new(Ku.bindToContribution(XE.get))({id:\"closeMarkersNavigation\",precondition:tA,handler:function(e){return e.closeMarkersNavigation()},kbOpts:{weight:au.WEIGHT.editorContrib(50),kbExpr:nl.focus,primary:9,secondary:[1033]}}));n(348);var nA=Or(\"openerService\"),rA=Object.freeze({_serviceBrand:void 0,open:function(){return cn.b.as(void 0)}}),iA=Or(\"modeService\");function oA(e,t){var n=[],r=pi.ordered(e).map(function(r,i){return Pl(function(n){return r.provideHover(e,t,n)}).then(function(e){if(e){var t=void 0!==e.range,r=void 0!==e.contents&&e.contents&&e.contents.length>0;t&&r&&(n[i]=e)}},function(e){fn(e)})});return cn.b.join(r).then(function(){return Yn(n)})}Xu(\"_executeHoverProvider\",oA);var sA=function(){function e(e,t,n,r){var i=this;this._computer=e,this._state=0,this._firstWaitScheduler=new Yl(function(){return i._triggerAsyncComputation()},this._getHoverTimeMillis()/2),this._secondWaitScheduler=new Yl(function(){return i._triggerSyncComputation()},this._getHoverTimeMillis()/2),this._loadingMessageScheduler=new Yl(function(){return i._showLoadingMessage()},3*this._getHoverTimeMillis()),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,this._errorCallback=n,this._progressCallback=r}return e.prototype._getHoverTimeMillis=function(){return this._computer.getHoverTimeMillis?this._computer.getHoverTimeMillis():e.HOVER_TIME},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=this._computer.computeAsync().then(function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)},function(t){return e._onError(t)})):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):pn(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(){0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(),this._loadingMessageScheduler.schedule())},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e.HOVER_TIME=300,e}(),aA=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),uA=function(e){function t(t,n){var r=e.call(this)||this;return r.disposables=[],r.allowEditorOverflow=!0,r._id=t,r._editor=n,r._isVisible=!1,r._containerDomNode=document.createElement(\"div\"),r._containerDomNode.className=\"monaco-editor-hover hidden\",r._containerDomNode.tabIndex=0,r._domNode=document.createElement(\"div\"),r._domNode.className=\"monaco-editor-hover-content\",r.scrollbar=new bb(r._domNode,{}),r.disposables.push(r.scrollbar),r._containerDomNode.appendChild(r.scrollbar.getDomNode()),r.onkeydown(r._containerDomNode,function(e){e.equals(9)&&r.hide()}),r._register(r._editor.onDidChangeConfiguration(function(e){e.fontInfo&&r.updateFont()})),r._editor.onDidLayoutChange(function(e){return r.updateMaxHeight()}),r.updateMaxHeight(),r._editor.addContentWidget(r),r._showAtPosition=null,r}return aA(t,e),Object.defineProperty(t.prototype,\"isVisible\",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Ic(this._containerDomNode,\"hidden\",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t){this._showAtPosition=new ye(e.lineNumber,e.column),this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=t,t&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,preference:[Bu.ABOVE,Bu.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=on(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName(\"code\")).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent=\"\",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.fontSize,r=t.lineHeight;this._domNode.style.fontSize=n+\"px\",this._domNode.style.lineHeight=r+\"px\",this._domNode.style.maxHeight=e+\"px\"},t}(eb),lA=function(e){function t(t,n){var r=e.call(this)||this;return r._id=t,r._editor=n,r._isVisible=!1,r._domNode=document.createElement(\"div\"),r._domNode.className=\"monaco-editor-hover hidden\",r._domNode.setAttribute(\"aria-hidden\",\"true\"),r._domNode.setAttribute(\"role\",\"presentation\"),r._showAtLineNumber=-1,r._register(r._editor.onDidChangeConfiguration(function(e){e.fontInfo&&r.updateFont()})),r._editor.addOverlayWidget(r),r}return aA(t,e),Object.defineProperty(t.prototype,\"isVisible\",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Ic(this._domNode,\"hidden\",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),n=this._editor.getTopForLineNumber(this._showAtLineNumber),r=this._editor.getScrollTop(),i=this._editor.getConfiguration().lineHeight,o=n-r-(this._domNode.clientHeight-i)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+\"px\",this._domNode.style.top=Math.max(Math.round(o),0)+\"px\"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName(\"code\")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName(\"code\"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent=\"\",this._domNode.appendChild(e),this.updateFont()},t}(eb),cA=function(){function e(e,t,n){this.presentationIndex=n,this._onColorFlushed=new wn,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new wn,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new wn,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}return Object.defineProperty(e.prototype,\"color\",{get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"presentation\",{get:function(){return this.colorPresentations[this.presentationIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"colorPresentations\",{get:function(){return this._colorPresentations},set:function(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var n=0;n<this.colorPresentations.length;n++)if(t===this.colorPresentations[n].label){this.presentationIndex=n,this._onDidChangePresentation.fire(this.presentation);break}},e.prototype.flushColor=function(){this._onColorFlushed.fire(this._color)},e}(),hA=(n(349),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),dA=bh,pA=function(e){function t(t,n,r){var i=e.call(this)||this;i.model=n,i.domNode=dA(\".colorpicker-header\"),vh(t,i.domNode),i.pickedColorNode=vh(i.domNode,dA(\".picked-color\"));var o=vh(i.domNode,dA(\".original-color\"));return o.style.backgroundColor=md.Format.CSS.format(i.model.originalColor),i.backgroundColor=r.getTheme().getColor(hg)||md.white,i._register(Vg(function(e,t){i.backgroundColor=e.getColor(hg)||md.white})),i._register(kc(i.pickedColorNode,ph.CLICK,function(){return i.model.selectNextColorPresentation()})),i._register(kc(o,ph.CLICK,function(){i.model.color=i.model.originalColor,i.model.flushColor()})),i._register(n.onDidChangeColor(i.onDidChangeColor,i)),i._register(n.onDidChangePresentation(i.onDidChangePresentation,i)),i.pickedColorNode.style.backgroundColor=md.Format.CSS.format(n.color),Ic(i.pickedColorNode,\"light\",n.color.rgba.a<.5?i.backgroundColor.isLighter():n.color.isLighter()),i}return hA(t,e),t.prototype.onDidChangeColor=function(e){this.pickedColorNode.style.backgroundColor=md.Format.CSS.format(e),Ic(this.pickedColorNode,\"light\",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()},t.prototype.onDidChangePresentation=function(){this.pickedColorNode.textContent=this.model.presentation.label},t}(un),fA=function(e){function t(t,n,r){var i=e.call(this)||this;return i.model=n,i.pixelRatio=r,i.domNode=dA(\".colorpicker-body\"),vh(t,i.domNode),i.saturationBox=new gA(i.domNode,i.model,i.pixelRatio),i._register(i.saturationBox),i._register(i.saturationBox.onDidChange(i.onDidSaturationValueChange,i)),i._register(i.saturationBox.onColorFlushed(i.flushColor,i)),i.opacityStrip=new vA(i.domNode,i.model),i._register(i.opacityStrip),i._register(i.opacityStrip.onDidChange(i.onDidOpacityChange,i)),i._register(i.opacityStrip.onColorFlushed(i.flushColor,i)),i.hueStrip=new yA(i.domNode,i.model),i._register(i.hueStrip),i._register(i.hueStrip.onDidChange(i.onDidHueChange,i)),i._register(i.hueStrip.onColorFlushed(i.flushColor,i)),i}return hA(t,e),t.prototype.flushColor=function(){this.model.flushColor()},t.prototype.onDidSaturationValueChange=function(e){var t=e.s,n=e.v,r=this.model.color.hsva;this.model.color=new md(new gd(r.h,t,n,r.a))},t.prototype.onDidOpacityChange=function(e){var t=this.model.color.hsva;this.model.color=new md(new gd(t.h,t.s,t.v,e))},t.prototype.onDidHueChange=function(e){var t=this.model.color.hsva,n=360*(1-e);this.model.color=new md(new gd(360===n?0:n,t.s,t.v,t.a))},t.prototype.layout=function(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()},t}(un),gA=function(e){function t(t,n,r){var i=e.call(this)||this;return i.model=n,i.pixelRatio=r,i._onDidChange=new wn,i.onDidChange=i._onDidChange.event,i._onColorFlushed=new wn,i.onColorFlushed=i._onColorFlushed.event,i.domNode=dA(\".saturation-wrap\"),vh(t,i.domNode),i.canvas=document.createElement(\"canvas\"),i.canvas.className=\"saturation-box\",vh(i.domNode,i.canvas),i.selection=dA(\".saturation-selection\"),vh(i.domNode,i.selection),i.layout(),i._register(kc(i.domNode,ph.MOUSE_DOWN,function(e){return i.onMouseDown(e)})),i._register(i.model.onDidChangeColor(i.onDidChangeColor,i)),i.monitor=null,i}return hA(t,e),t.prototype.onMouseDown=function(e){var t=this;this.monitor=this._register(new Tm);var n=eh(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(km,function(e){return t.onDidChangePosition(e.posx-n.left,e.posy-n.top)},function(){return null});var r=kc(document,ph.MOUSE_UP,function(){t._onColorFlushed.fire(),r.dispose(),t.monitor.stopMonitoring(!0),t.monitor=null},!0)},t.prototype.onDidChangePosition=function(e,t){var n=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(n,r),this._onDidChange.fire({s:n,v:r})},t.prototype.layout=function(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();var e=this.model.color.hsva;this.paintSelection(e.s,e.v)},t.prototype.paint=function(){var e=this.model.color.hsva,t=new md(new gd(e.h,1,1,1)),n=this.canvas.getContext(\"2d\"),r=n.createLinearGradient(0,0,this.canvas.width,0);r.addColorStop(0,\"rgba(255, 255, 255, 1)\"),r.addColorStop(.5,\"rgba(255, 255, 255, 0.5)\"),r.addColorStop(1,\"rgba(255, 255, 255, 0)\");var i=n.createLinearGradient(0,0,0,this.canvas.height);i.addColorStop(0,\"rgba(0, 0, 0, 0)\"),i.addColorStop(1,\"rgba(0, 0, 0, 1)\"),n.rect(0,0,this.canvas.width,this.canvas.height),n.fillStyle=md.Format.CSS.format(t),n.fill(),n.fillStyle=r,n.fill(),n.fillStyle=i,n.fill()},t.prototype.paintSelection=function(e,t){this.selection.style.left=e*this.width+\"px\",this.selection.style.top=this.height-t*this.height+\"px\"},t.prototype.onDidChangeColor=function(){this.monitor&&this.monitor.isMonitoring()||this.paint()},t}(un),mA=function(e){function t(t,n){var r=e.call(this)||this;return r.model=n,r._onDidChange=new wn,r.onDidChange=r._onDidChange.event,r._onColorFlushed=new wn,r.onColorFlushed=r._onColorFlushed.event,r.domNode=vh(t,dA(\".strip\")),r.overlay=vh(r.domNode,dA(\".overlay\")),r.slider=vh(r.domNode,dA(\".slider\")),r.slider.style.top=\"0px\",r._register(kc(r.domNode,ph.MOUSE_DOWN,function(e){return r.onMouseDown(e)})),r.layout(),r}return hA(t,e),t.prototype.layout=function(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;var e=this.getValue(this.model.color);this.updateSliderPosition(e)},t.prototype.onMouseDown=function(e){var t=this,n=this._register(new Tm),r=eh(this.domNode);Mc(this.domNode,\"grabbing\"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),n.startMonitoring(km,function(e){return t.onDidChangeTop(e.posy-r.top)},function(){return null});var i=kc(document,ph.MOUSE_UP,function(){t._onColorFlushed.fire(),i.dispose(),n.stopMonitoring(!0),Nc(t.domNode,\"grabbing\")},!0)},t.prototype.onDidChangeTop=function(e){var t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)},t.prototype.updateSliderPosition=function(e){this.slider.style.top=(1-e)*this.height+\"px\"},t}(un),vA=function(e){function t(t,n){var r=e.call(this,t,n)||this;return Mc(r.domNode,\"opacity-strip\"),r._register(n.onDidChangeColor(r.onDidChangeColor,r)),r.onDidChangeColor(r.model.color),r}return hA(t,e),t.prototype.onDidChangeColor=function(e){var t=e.rgba,n=t.r,r=t.g,i=t.b,o=new md(new pd(n,r,i,1)),s=new md(new pd(n,r,i,0));this.overlay.style.background=\"linear-gradient(to bottom, \"+o+\" 0%, \"+s+\" 100%)\"},t.prototype.getValue=function(e){return e.hsva.a},t}(mA),yA=function(e){function t(t,n){var r=e.call(this,t,n)||this;return Mc(r.domNode,\"hue-strip\"),r}return hA(t,e),t.prototype.getValue=function(e){return 1-e.hsva.h/360},t}(mA),bA=function(e){function t(t,n,r,i){var o=e.call(this)||this;o.model=n,o.pixelRatio=r,o._register(Kl(function(){return o.layout()}));var s=dA(\".colorpicker-widget\");t.appendChild(s);var a=new pA(s,o.model,i);return o.body=new fA(s,o.model,o.pixelRatio),o._register(a),o._register(o.body),o}return hA(t,e),t.prototype.getId=function(){return t.ID},t.prototype.layout=function(){this.body.layout()},t.ID=\"editor.contrib.colorPickerWidget\",t}(eb);function _A(e,t,n){return Pl(function(r){return n.provideColorPresentations(e,t,r)})}Qu(\"_executeDocumentColorProvider\",function(e,t){var n=t.resource;if(!(n instanceof Be))throw yn();var r=e.get(Br).getModel(n);if(!r)throw yn();var i=[],o=Ai.ordered(r).reverse().map(function(e){return Pl(function(t){return e.provideDocumentColors(r,t)}).then(function(e){if(Array.isArray(e))for(var t=0,n=e;t<n.length;t++){var r=n[t];i.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]})}})});return cn.b.join(o).then(function(){return i})}),Qu(\"_executeColorPresentationProvider\",function(e,t){var n=t.resource,r=t.color,i=t.range;if(!(n instanceof Be&&Array.isArray(r)&&4===r.length&&be.isIRange(i)))throw yn();var o=r[0],s=r[1],a=r[2],u=r[3],l=e.get(Br).getModel(n);if(!l)throw yn();var c={range:i,color:{red:o,green:s,blue:a,alpha:u}},h=[],d=Ai.ordered(l).reverse().map(function(e){return Pl(function(t){return e.provideColorPresentations(l,c,t)}).then(function(e){Array.isArray(e)&&h.push.apply(h,e)})});return cn.b.join(d).then(function(){return h})});var CA,wA=Or(\"configurationService\");function DA(e,t){var n=Object.create(null);for(var r in e)EA(n,r,e[r],t);return n}function EA(e,t,n,r){for(var i=t.split(\".\"),o=i.pop(),s=e,a=0;a<i.length;a++){var u=i[a],l=s[u];switch(typeof l){case\"undefined\":l=s[u]=Object.create(null);break;case\"object\":break;default:return void r(\"Ignoring \"+t+\" as \"+i.slice(0,a+1).join(\".\")+\" is \"+JSON.stringify(l))}s=l}\"object\"==typeof s?s[o]=n:r(\"Ignoring \"+t+\" as \"+i.join(\".\")+\" is \"+JSON.stringify(s))}function AA(e,t){!function e(t,n){var r=n.shift();if(0===n.length)return void delete t[r];if(-1!==Object.keys(t).indexOf(r)){var i=t[r];\"object\"!=typeof i||Array.isArray(i)||(e(i,n),0===Object.keys(i).length&&delete t[r])}}(e,t.split(\".\"))}function SA(e,t,n){var r=function(e,t){for(var n=e,r=0;r<t.length;r++){if(\"object\"!=typeof n||null===n)return;n=n[t[r]]}return n}(e,t.split(\".\"));return void 0===r?n:r}function xA(e){return e.substring(1,e.length-1)}!function(e){e[e.USER=1]=\"USER\",e[e.WORKSPACE=2]=\"WORKSPACE\",e[e.WORKSPACE_FOLDER=3]=\"WORKSPACE_FOLDER\",e[e.DEFAULT=4]=\"DEFAULT\",e[e.MEMORY=5]=\"MEMORY\"}(CA||(CA={}));var MA=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},NA=function(e,t){return function(n,r){t(n,r,e)}},IA=function(){function e(e,t,n){var r=this;this._editor=e,this._codeEditorService=t,this._configurationService=n,this._globalToDispose=[],this._localToDispose=[],this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes={},this._globalToDispose.push(e.onDidChangeModel(function(e){r._isEnabled=r.isEnabled(),r.onModelChanged()})),this._globalToDispose.push(e.onDidChangeModelLanguage(function(e){return r.onModelChanged()})),this._globalToDispose.push(Ai.onDidChange(function(e){return r.onModelChanged()})),this._globalToDispose.push(e.onDidChangeConfiguration(function(e){var t=r._isEnabled;r._isEnabled=r.isEnabled(),t!==r._isEnabled&&(r._isEnabled?r.onModelChanged():r.removeAllDecorations())})),this._timeoutPromise=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}return e.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),n=this._configurationService.getValue(t.language);if(n){var r=n.colorDecorators;if(r&&void 0!==r.enable&&!r.enable)return r.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},e.prototype.getId=function(){return e.ID},e.get=function(e){return e.getContribution(this.ID)},e.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),this._globalToDispose=on(this._globalToDispose)},e.prototype.onModelChanged=function(){var t=this;if(this.stop(),this._isEnabled){var n=this._editor.getModel();Ai.has(n)&&(this._localToDispose.push(this._editor.onDidChangeModelContent(function(n){t._timeoutPromise||(t._timeoutPromise=cn.b.timeout(e.RECOMPUTE_TIME),t._timeoutPromise.then(function(){t._timeoutPromise=null,t.beginCompute()}))})),this.beginCompute())}},e.prototype.beginCompute=function(){var e,t,n,r=this;this._computePromise=(e=this._editor.getModel(),t=[],n=Ai.ordered(e).reverse().map(function(n){return Pl(function(t){return n.provideDocumentColors(e,t)}).then(function(e){if(Array.isArray(e))for(var r=0,i=e;r<i.length;r++){var o=i[r];t.push({colorInfo:o,provider:n})}})}),cn.b.join(n).then(function(){return t})).then(function(e){r.updateDecorations(e),r.updateColorDecorators(e),r._computePromise=null})},e.prototype.stop=function(){this._timeoutPromise&&(this._timeoutPromise.cancel(),this._timeoutPromise=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose=on(this._localToDispose)},e.prototype.updateDecorations=function(e){var t=this,n=e.map(function(e){return{range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:Ma.EMPTY}});this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,n),this._colorDatas=new Map,this._decorationsIds.forEach(function(n,r){return t._colorDatas.set(n,e[r])})},e.prototype.updateColorDecorators=function(e){for(var t=[],n={},r=0;r<e.length&&t.length<500;r++){var i=e[r].colorInfo.color,o=i.red,s=i.green,a=i.blue,u=i.alpha,l=new pd(Math.round(255*o),Math.round(255*s),Math.round(255*a),u),c=Hd(l).toString(16),h=\"rgba(\"+l.r+\", \"+l.g+\", \"+l.b+\", \"+l.a+\")\",d=\"colorBox-\"+c;this._decorationsTypes[d]||n[d]||this._codeEditorService.registerDecorationType(d,{before:{contentText:\" \",border:\"solid 0.1em #000\",margin:\"0.1em 0.2em 0 0.2em\",width:\"0.8em\",height:\"0.8em\",backgroundColor:h},dark:{before:{border:\"solid 0.1em #eee\"}}}),n[d]=!0,t.push({range:{startLineNumber:e[r].colorInfo.range.startLineNumber,startColumn:e[r].colorInfo.range.startColumn,endLineNumber:e[r].colorInfo.range.endLineNumber,endColumn:e[r].colorInfo.range.endColumn},options:this._codeEditorService.resolveDecorationOptions(d,!0)})}for(var p in this._decorationsTypes)n[p]||this._codeEditorService.removeDecorationType(p);this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,t)},e.prototype.removeAllDecorations=function(){for(var e in this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,[]),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,[]),this._decorationsTypes)this._codeEditorService.removeDecorationType(e)},e.prototype.getColorData=function(e){var t=this,n=this._editor.getModel().getDecorationsInRange(be.fromPositions(e,e)).filter(function(e){return t._colorDatas.has(e.id)});return 0===n.length?null:this._colorDatas.get(n[0].id)},e.ID=\"editor.contrib.colorDetector\",e.RECOMPUTE_TIME=1e3,e=MA([NA(1,Wu),NA(2,wA)],e)}();el(IA);var LA=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),kA=bh,TA=function(){return function(e,t,n){this.range=e,this.color=t,this.provider=n}}(),FA=function(){function e(e){this._editor=e,this._range=null}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(){var e=this._editor.getModel();return pi.has(e)?oA(e,new ye(this._range.startLineNumber,this._range.startColumn)):cn.b.as(null)},e.prototype.computeSync=function(){var e=this,t=this._range.startLineNumber;if(t>this._editor.getModel().getLineCount())return[];var n=IA.get(this._editor),r=this._editor.getModel().getLineMaxColumn(t),i=!1;return this._editor.getLineDecorations(t).map(function(o){var s=o.range.startLineNumber===t?o.range.startColumn:1,a=o.range.endLineNumber===t?o.range.endColumn:r;if(s>e._range.startColumn||e._range.endColumn>a)return null;var u=new be(e._range.startLineNumber,s,e._range.startLineNumber,a),l=n.getColorData(o.range.getStartPosition());if(!i&&l){i=!0;var c=l.colorInfo,h=c.color,d=c.range;return new TA(d,h,l.provider)}if(Nw(o.options.hoverMessage))return null;var p=void 0;return o.options.hoverMessage&&(p=Array.isArray(o.options.hoverMessage)?o.options.hoverMessage.slice():[o.options.hoverMessage]),{contents:p,range:u}}).filter(function(e){return!!e})},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort(function(e,t){return e instanceof TA?-1:t instanceof TA?1:0})):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[(new Mw).appendText(ns(\"modesContentHover.loading\",\"Loading...\"))]}},e}(),OA=function(e){function t(n,r,i){var o=e.call(this,t.ID,n)||this;return o._themeService=i,o.renderDisposable=rn,o.toDispose=[],o._computer=new FA(o._editor),o._highlightDecorations=[],o._isChangingDecorations=!1,o._markdownRenderer=r,r.onDidRenderCodeBlock(o.onContentsChange,o,o.toDispose),o._hoverOperation=new sA(o._computer,function(e){return o._withResult(e,!0)},null,function(e){return o._withResult(e,!1)}),o.toDispose.push(Tc(o.getDomNode(),ph.FOCUS,function(){o._colorPicker&&Mc(o.getDomNode(),\"colorpicker-hover\")})),o.toDispose.push(Tc(o.getDomNode(),ph.BLUR,function(){Nc(o.getDomNode(),\"colorpicker-hover\")})),o}return LA(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=rn,this._hoverOperation.cancel(),this.toDispose=on(this.toDispose),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start())},t.prototype.startShowingAt=function(e,t){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var n=[],r=0,i=this._messages.length;r<i;r++){var o=this._messages[r],s=o.range;s.startColumn<=e.startColumn&&s.endColumn>=e.endColumn&&n.push(o)}if(n.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(r instanceof TA)return!1;if(i instanceof TA)return!1;if(o=r.contents,s=i.contents,!(!o&&!s||o&&s&&(Array.isArray(o)&&Array.isArray(s)?Wn(o,s,Lw):Iw(o)&&Iw(s)&&Lw(o,s))))return!1}var o,s;return!0}(n,this._messages))return;this._renderMessages(e,n)}else this.hide()}this._lastRange=e,this._computer.setRange(e),this._shouldFocus=t,this._hoverOperation.start()}},t.prototype.hide=function(){this._lastRange=null,this._hoverOperation.cancel(),e.prototype.hide.call(this),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1,this.renderDisposable.dispose(),this.renderDisposable=rn,this._colorPicker=null},t.prototype.isColorPickerVisible=function(){return!!this._colorPicker},t.prototype._withResult=function(e,t){this._messages=e,this._lastRange&&this._messages.length>0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var r=this;this.renderDisposable.dispose(),this._colorPicker=null;var i,o=Number.MAX_VALUE,s=n[0].range,a=document.createDocumentFragment(),u=!0,l=!1;n.forEach(function(t){if(t.range)if(o=Math.min(o,t.range.startColumn),s=be.plusRange(s,t.range),t instanceof TA){l=!0;var n=t.color,c=n.red,h=n.green,d=n.blue,p=n.alpha,f=new pd(255*c,255*h,255*d,p),g=new md(f),m=r._editor.getModel(),v=new be(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn),y={range:t.range,color:t.color},b=new cA(g,[],0),_=new bA(a,b,r._editor.getConfiguration().pixelRatio,r._themeService);_A(m,y,t.provider).then(function(n){b.colorPresentations=n;var s=r._editor.getModel().getValueInRange(t.range);b.guessColorPresentation(g,s);var u=function(){var e,t;b.presentation.textEdit?(e=[b.presentation.textEdit],t=(t=new be(b.presentation.textEdit.range.startLineNumber,b.presentation.textEdit.range.startColumn,b.presentation.textEdit.range.endLineNumber,b.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+b.presentation.textEdit.text.length)):(e=[{identifier:null,range:v,text:b.presentation.label,forceMoveMarkers:!1}],t=v.setEndPosition(v.endLineNumber,v.startColumn+b.presentation.label.length)),m.pushEditOperations([],e,function(){return[]}),b.presentation.additionalTextEdits&&(e=b.presentation.additionalTextEdits.slice(),m.pushEditOperations([],e,function(){return[]}),r.hide()),r._editor.pushUndoStop(),v=t},l=function(e){return _A(m,{range:v,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},t.provider).then(function(e){b.colorPresentations=e})},c=b.onColorFlushed(function(e){l(e).then(u)}),h=b.onDidChangeColor(l);r._colorPicker=_,r.showAt(new ye(e.startLineNumber,o),r._shouldFocus),r.updateContents(a),r._colorPicker.layout(),r.renderDisposable=sn([c,h,_,i])})}else t.contents.filter(function(e){return!Nw(e)}).forEach(function(e){var t=r._markdownRenderer.render(e);i=t,a.appendChild(kA(\"div.hover-row\",null,t.element)),u=!1})}),l||u||(this.showAt(new ye(e.startLineNumber,o),this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:s,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID=\"editor.contrib.modesContentHoverWidget\",t._DECORATION_OPTIONS=Ma.register({className:\"hoverHighlight\"}),t}(uA);var PA=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),BA=function(){function e(e){this._editor=e,this._lineNumber=-1}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){for(var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),n=[],r=0,i=t.length;r<i;r++){var o=t[r];if(o.options.glyphMarginClassName){var s=o.options.glyphMarginHoverMessage;Nw(s)||(Array.isArray(s)?n=n.concat(s.map(e)):n.push(e(s)))}}return n},e.prototype.onResult=function(e,t){this._result=this._result.concat(e)},e.prototype.getResult=function(){return this._result},e.prototype.getResultWithLoadingMessage=function(){return this.getResult()},e}(),RA=function(e){function t(n,r){var i=e.call(this,t.ID,n)||this;return i._lastLineNumber=-1,i._markdownRenderer=r,i._computer=new BA(i._editor),i._hoverOperation=new sA(i._computer,function(e){return i._withResult(e)},null,function(e){return i._withResult(e)}),i}return PA(t,e),t.prototype.dispose=function(){this._renderDisposeables=on(this._renderDisposeables),this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start())},t.prototype.startShowingAt=function(e){this._lastLineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=e,this._computer.setLineNumber(e),this._hoverOperation.start())},t.prototype.hide=function(){this._lastLineNumber=-1,this._hoverOperation.cancel(),e.prototype.hide.call(this)},t.prototype._withResult=function(e){this._messages=e,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var n=this;on(this._renderDisposeables),this._renderDisposeables=[];var r=document.createDocumentFragment();t.forEach(function(e){var t=n._markdownRenderer.render(e.value);n._renderDisposeables.push(t),r.appendChild(bh(\"div.hover-row\",null,t.element))}),this.updateContents(r),this.showAt(e)},t.ID=\"editor.contrib.modesGlyphHoverWidget\",t}(lA),jA=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},zA=function(e,t){return function(n,r){t(n,r,e)}},WA=function(){function e(e,t,n){void 0===n&&(n=rA),this._editor=e,this._modeService=t,this._openerService=n,this._onDidRenderCodeBlock=new wn,this.onDidRenderCodeBlock=this._onDidRenderCodeBlock.event}return e.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,n){var r=e?t._modeService.getModeIdForLanguageName(e):t._editor.getModel().getLanguageIdentifier().language;return t._modeService.getOrCreateMode(r).then(function(e){return ed(n,r)}).then(function(e){return'<span style=\"font-family: '+t._editor.getConfiguration().fontInfo.fontFamily+'\">'+e+\"</span>\"})},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(Be.parse(e)).then(void 0,pn)},disposeables:e}}},e.prototype.render=function(e){var t=[];return{element:e?Pw(e,this.getOptions(t)):document.createElement(\"span\"),dispose:function(){return on(t)}}},e=jA([zA(1,iA),zA(2,Pr(nA))],e)}(),VA=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),HA=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},UA=function(e,t){return function(n,r){t(n,r,e)}},YA=function(){function e(e,t,n,r){var i=this;this._openerService=t,this._modeService=n,this._themeService=r,this._editor=e,this._toUnhook=[],this._isMouseDown=!1,e.getConfiguration().contribInfo.hover&&(this._toUnhook.push(this._editor.onMouseDown(function(e){return i._onEditorMouseDown(e)})),this._toUnhook.push(this._editor.onMouseUp(function(e){return i._onEditorMouseUp(e)})),this._toUnhook.push(this._editor.onMouseMove(function(e){return i._onEditorMouseMove(e)})),this._toUnhook.push(this._editor.onMouseLeave(function(e){return i._hideWidgets()})),this._toUnhook.push(this._editor.onKeyDown(function(e){return i._onKeyDown(e)})),this._toUnhook.push(this._editor.onDidChangeModel(function(){return i._hideWidgets()})),this._toUnhook.push(this._editor.onDidChangeModelDecorations(function(){return i._onModelDecorationsChanged()})),this._toUnhook.push(this._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&i._hideWidgets()})))}return Object.defineProperty(e.prototype,\"contentWidget\",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"glyphWidget\",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;t!==ju.CONTENT_WIDGET||e.target.detail!==OA.ID?t===ju.OVERLAY_WIDGET&&e.target.detail===RA.ID||(t!==ju.OVERLAY_WIDGET&&e.target.detail!==RA.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type,n=we.d?\"metaKey\":\"ctrlKey\";if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible())&&(t!==ju.CONTENT_WIDGET||e.target.detail!==OA.ID||e.event[n])&&(t!==ju.OVERLAY_WIDGET||e.target.detail!==RA.ID||e.event[n])){if(t===ju.CONTENT_EMPTY){var r=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&\"number\"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText<r&&(t=ju.CONTENT_TEXT)}this._editor.getConfiguration().contribInfo.hover&&t===ju.CONTENT_TEXT?(this.glyphWidget.hide(),this.contentWidget.startShowingAt(e.target.range,!1)):t===ju.GUTTER_GLYPH_MARGIN?(this.contentWidget.hide(),this.glyphWidget.startShowingAt(e.target.position.lineNumber)):this._hideWidgets()}},e.prototype._onKeyDown=function(e){5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&this._hideWidgets()},e.prototype._hideWidgets=function(){!this._contentWidget||this._isMouseDown&&this._hoverClicked&&this._contentWidget.isColorPickerVisible()||(this._glyphWidget.hide(),this._contentWidget.hide())},e.prototype._createHoverWidget=function(){var e=new WA(this._editor,this._modeService,this._openerService);this._contentWidget=new OA(this._editor,e,this._themeService),this._glyphWidget=new RA(this._editor,e)},e.prototype.showContentHover=function(e,t){this.contentWidget.startShowingAt(e,t)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toUnhook=on(this._toUnhook),this._glyphWidget&&(this._glyphWidget.dispose(),this._glyphWidget=null),this._contentWidget&&(this._contentWidget.dispose(),this._contentWidget=null)},e.ID=\"editor.contrib.hover\",e=HA([UA(1,nA),UA(2,iA),UA(3,Og)],e)}(),ZA=function(e){function t(){return e.call(this,{id:\"editor.action.showHover\",label:ns({key:\"showHover\",comment:[\"Label for action that will trigger the showing of a hover in the editor.\",\"This allows for users to show the hover without using the mouse.\"]},\"Show Hover\"),alias:\"Show Hover\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:Ja(2089,2087)}})||this}return VA(t,e),t.prototype.run=function(e,t){var n=YA.get(t);if(n){var r=t.getPosition(),i=new be(r.lineNumber,r.column,r.lineNumber,r.column);n.showContentHover(i,!0)}},t}(qu);el(YA),$u(ZA),Vg(function(e,t){var n=e.getColor(cg);n&&t.addRule(\".monaco-editor .hoverHighlight { background-color: \"+n+\"; }\");var r=e.getColor(hg);r&&t.addRule(\".monaco-editor .monaco-editor-hover { background-color: \"+r+\"; }\");var i=e.getColor(dg);i&&(t.addRule(\".monaco-editor .monaco-editor-hover { border: 1px solid \"+i+\"; }\"),t.addRule(\".monaco-editor .monaco-editor-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid \"+i.transparent(.5)+\"; }\"));var o=e.getColor(vf);o&&t.addRule(\".monaco-editor .monaco-editor-hover a { color: \"+o+\"; }\");var s=e.getColor(yf);s&&t.addRule(\".monaco-editor .monaco-editor-hover code { background-color: \"+s+\"; }\")});var GA=function(){function e(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Ii(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Ii(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)},e}(),KA=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qA=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},QA=function(e,t){return function(n,r){t(n,r,e)}},XA=function(){function e(e,t){this.editor=e,this.editorWorkerService=t,this.currentRequest=cn.b.as(null),this.decorationRemover=cn.b.as(null),this.decorationIds=[]}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,n){var r=this;this.currentRequest.cancel();var i=this.editor.getSelection(),o=this.editor.getModel().uri;if(i.startLineNumber!==i.endLineNumber)return null;var s=new lE(this.editor,5);return this.editorWorkerService.canNavigateValueSet(o)?(this.currentRequest=this.editorWorkerService.navigateValueSet(o,i,n),this.currentRequest=this.currentRequest.then(function(e){return e&&e.range&&e.value?e:null})):this.currentRequest=cn.b.as(null),this.currentRequest.then(function(n){if(n&&n.range&&n.value&&s.validate(r.editor)){var o=be.lift(n.range),a=n.range,u=n.value.length-(i.endColumn-i.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},u>1&&(i=new Ii(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+u-1));var l=new GA(o,i,n.value);r.editor.pushUndoStop(),r.editor.executeCommand(t,l),r.editor.pushUndoStop(),r.decorationIds=r.editor.deltaDecorations(r.decorationIds,[{range:a,options:e.DECORATION}]),r.decorationRemover.cancel(),r.decorationRemover=cn.b.timeout(350),r.decorationRemover.then(function(){r.decorationIds=r.editor.deltaDecorations(r.decorationIds,[])})}})},e.ID=\"editor.contrib.inPlaceReplaceController\",e.DECORATION=Ma.register({className:\"valueSetReplacement\"}),e=qA([QA(1,uE)],e)}(),JA=function(e){function t(){return e.call(this,{id:\"editor.action.inPlaceReplace.up\",label:ns(\"InPlaceReplaceAction.previous.label\",\"Replace with Previous Value\"),alias:\"Replace with Previous Value\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:3154}})||this}return KA(t,e),t.prototype.run=function(e,t){var n=XA.get(t);if(n)return n.run(this.id,!0)},t}(qu),$A=function(e){function t(){return e.call(this,{id:\"editor.action.inPlaceReplace.down\",label:ns(\"InPlaceReplaceAction.next.label\",\"Replace with Next Value\"),alias:\"Replace with Next Value\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:3156}})||this}return KA(t,e),t.prototype.run=function(e,t){var n=XA.get(t);if(n)return n.run(this.id,!1)},t}(qu);el(XA),$u(JA),$u($A),Vg(function(e,t){var n=e.getColor(rm);n&&t.addRule(\".monaco-editor.vs .valueSetReplacement { outline: solid 2px \"+n+\"; }\")});var eS=function(){function e(e,t){this.selection=e,this.descending=t}return e.prototype.getEditOperations=function(e,t){var n=function(e,t,n){var r=tS(e,t,n);if(!r)return null;return S_.replace(new be(r.startLineNumber,1,r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),r.after.join(\"\\n\"))}(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e.canRun=function(e,t,n){var r=tS(e,t,n);if(!r)return!1;for(var i=0,o=r.before.length;i<o;i++)if(r.before[i]!==r.after[i])return!0;return!1},e}();function tS(e,t,n){var r=t.startLineNumber,i=t.endLineNumber;if(1===t.endColumn&&i--,r>=i)return null;for(var o=[],s=r;s<=i;s++)o.push(e.getLineContent(s));var a=o.slice(0);return a.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}),!0===n&&(a=a.reverse()),{startLineNumber:r,endLineNumber:i,before:o,after:a}}var nS=function(){function e(e,t){this.selection=e,this.cursors=t}return e.prototype.getEditOperations=function(e,t){for(var n=function(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var n=t.length-2;n>=0;n--)t[n].lineNumber===t[n+1].lineNumber&&t.splice(n,1);for(var r=[],i=0,o=0,s=t.length,a=1,u=e.getLineCount();a<=u;a++){var l=e.getLineContent(a),c=l.length+1,h=0;if(!(o<s&&t[o].lineNumber===a&&(h=t[o].column,o++,h===c))&&0!==l.length){var d=Ct(l),p=0;if(-1===d)p=1;else{if(d===l.length-1)continue;p=d+2}p=Math.max(h,p),r[i++]=S_.delete(new be(a,p,a,c))}}return r}(e,this.cursors),r=0,i=n.length;r<i;r++){var o=n[r];t.addEditOperation(o.range,o.text)}this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e}();var rS=function(){function e(e,t){this._selection=e,this._isCopyingDown=t}return e.prototype.getEditOperations=function(e,t){var n=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,n.startLineNumber<n.endLineNumber&&1===n.endColumn&&(this._endLineNumberDelta=1,n=n.setEndPosition(n.endLineNumber-1,e.getLineMaxColumn(n.endLineNumber-1)));for(var r=[],i=n.startLineNumber;i<=n.endLineNumber;i++)r.push(e.getLineContent(i));var o=r.join(\"\\n\");\"\"===o&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._isCopyingDown?t.addEditOperation(new be(n.startLineNumber,1,n.startLineNumber,1),o+\"\\n\"):t.addEditOperation(new be(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),\"\\n\"+o),this._selectionId=t.trackSelection(n),this._selectionDirection=this._selection.getDirection()},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);if(0!==this._startLineNumberDelta||0!==this._endLineNumberDelta){var r=n.startLineNumber,i=n.startColumn,o=n.endLineNumber,s=n.endColumn;0!==this._startLineNumberDelta&&(r+=this._startLineNumberDelta,i=1),0!==this._endLineNumberDelta&&(o+=this._endLineNumberDelta,s=1),n=Ii.createWithDirection(r,i,o,s,this._selectionDirection)}return n},e}(),iS=function(){function e(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.restoreCursorToColumn=n}return e.prototype.getEditOperations=function(e,t){if(1!==e.getLineCount()||1!==e.getLineMaxColumn(1)){var n=this.startLineNumber,r=this.endLineNumber,i=1,o=e.getLineMaxColumn(r);r<e.getLineCount()?(r+=1,o=1):n>1&&(n-=1,i=e.getLineMaxColumn(n)),t.addTrackedEditOperation(new be(n,i,r,o),null)}},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new Ii(n.endLineNumber,this.restoreCursorToColumn,n.endLineNumber,this.restoreCursorToColumn)},e}();function oS(e,t){for(var n=0,r=0;r<e.length;r++)\"\\t\"===e.charAt(r)?n+=t:n++;return n}function sS(e,t,n){e=e<0?0:e;var r=\"\";if(!n){var i=Math.floor(e/t);e%=t;for(var o=0;o<i;o++)r+=\"\\t\"}for(o=0;o<e;o++)r+=\" \";return r}var aS=function(){function e(e,t,n){this._selection=e,this._isMovingDown=t,this._autoIndent=n,this._moveEndLineSelectionShrink=!1}return e.prototype.getEditOperations=function(e,t){var n=e.getLineCount();if((!this._isMovingDown||this._selection.endLineNumber!==n)&&(this._isMovingDown||1!==this._selection.startLineNumber)){this._moveEndPositionDown=!1;var r=this._selection;r.startLineNumber<r.endLineNumber&&1===r.endColumn&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));var i=e.getOptions().tabSize,o=e.getOptions().insertSpaces,s=this.buildIndentConverter(i),a={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:null};if(r.startLineNumber===r.endLineNumber&&1===e.getLineMaxColumn(r.startLineNumber)){var u=r.startLineNumber,l=this._isMovingDown?u+1:u-1;1===e.getLineMaxColumn(l)?t.addEditOperation(new be(1,1,1,1),null):(t.addEditOperation(new be(u,1,u,1),e.getLineContent(l)),t.addEditOperation(new be(l,1,l,e.getLineMaxColumn(l)),null)),r=new Ii(l,1,l,1)}else{var c,h;if(this._isMovingDown){c=r.endLineNumber+1,h=e.getLineContent(c),t.addEditOperation(new be(c-1,e.getLineMaxColumn(c-1),c,e.getLineMaxColumn(c)),null);var d=h;if(this.shouldAutoIndent(e,r)){var p=this.matchEnterRule(e,s,i,c,r.startLineNumber-1);if(null!==p){var f=sS(C=p+oS(m=_t(e.getLineContent(c)),i),i,o);d=f+this.trimLeft(h)}else{a.getLineContent=function(t){return t===r.startLineNumber?e.getLineContent(c):e.getLineContent(t)};var g=Zo.getGoodIndentForLine(a,e.getLanguageIdAtPosition(c,1),r.startLineNumber,s);if(null!==g){var m=_t(e.getLineContent(c));if((C=oS(g,i))!==(w=oS(m,i))){f=sS(C,i,o);d=f+this.trimLeft(h)}}}if(t.addEditOperation(new be(r.startLineNumber,1,r.startLineNumber,1),d+\"\\n\"),null!==(b=this.matchEnterRule(e,s,i,r.startLineNumber,r.startLineNumber,d)))0!==b&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,b);else{a.getLineContent=function(t){return t===r.startLineNumber?d:t>=r.startLineNumber+1&&t<=r.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var v=Zo.getGoodIndentForLine(a,e.getLanguageIdAtPosition(c,1),r.startLineNumber+1,s);if(null!==v){m=_t(e.getLineContent(r.startLineNumber));if((C=oS(v,i))!==(w=oS(m,i))){var y=C-w;this.getIndentEditsOfMovingBlock(e,t,r,i,o,y)}}}}else t.addEditOperation(new be(r.startLineNumber,1,r.startLineNumber,1),d+\"\\n\")}else{var b;if(c=r.startLineNumber-1,h=e.getLineContent(c),t.addEditOperation(new be(c,1,c+1,1),null),t.addEditOperation(new be(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),\"\\n\"+h),this.shouldAutoIndent(e,r))if(a.getLineContent=function(t){return t===c?e.getLineContent(r.startLineNumber):e.getLineContent(t)},null!==(b=this.matchEnterRule(e,s,i,r.startLineNumber,r.startLineNumber-2)))0!==b&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,b);else{var _=Zo.getGoodIndentForLine(a,e.getLanguageIdAtPosition(r.startLineNumber,1),c,s);if(null!==_){var C,w,D=_t(e.getLineContent(r.startLineNumber));if((C=oS(_,i))!==(w=oS(D,i))){y=C-w;this.getIndentEditsOfMovingBlock(e,t,r,i,o,y)}}}}}this._selectionId=t.trackSelection(r)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var n=gl.shiftIndentCount(t,t.length+1,e),r=\"\",i=0;i<n;i++)r+=\"\\t\";return r},unshiftIndent:function(t){for(var n=gl.unshiftIndentCount(t,t.length+1,e),r=\"\",i=0;i<n;i++)r+=\"\\t\";return r}}},e.prototype.matchEnterRule=function(e,t,n,r,i,o){for(var s=i;s>=1;){if(Ct(s===i&&void 0!==o?o:e.getLineContent(s))>=0)break;s--}if(s<1||r>e.getLineCount())return null;var a=e.getLineMaxColumn(s),u=Zo.getEnterAction(e,new be(s,a,s,a));if(u){var l=u.indentation,c=u.enterAction;c.indentAction===To.None?l=u.indentation+c.appendText:c.indentAction===To.Indent?l=u.indentation+c.appendText:c.indentAction===To.IndentOutdent?l=u.indentation:c.indentAction===To.Outdent&&(l=t.unshiftIndent(u.indentation)+c.appendText);var h=e.getLineContent(r);if(this.trimLeft(h).indexOf(this.trimLeft(l))>=0){var d=_t(e.getLineContent(r)),p=_t(l);return 2&Zo.getIndentMetadata(e,r)&&(p=t.unshiftIndent(p)),oS(p,n)-oS(d,n)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\\s+/,\"\")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==Zo.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,n,r,i,o){for(var s=n.startLineNumber;s<=n.endLineNumber;s++){var a=_t(e.getLineContent(s)),u=sS(oS(a,r)+o,r,i);u!==a&&(t.addEditOperation(new be(s,1,s,a.length+1),u),s===n.endLineNumber&&n.endColumn<=a.length+1&&\"\"===u&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber<n.endLineNumber&&(n=n.setEndPosition(n.endLineNumber,2)),n},e}(),uS=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),lS=function(e){function t(t,n){var r=e.call(this,n)||this;return r.down=t,r}return uS(t,e),t.prototype.run=function(e,t){for(var n=[],r=t.getSelections(),i=0;i<r.length;i++)n.push(new rS(r[i],this.down));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()},t}(qu),cS=function(e){function t(){return e.call(this,!1,{id:\"editor.action.copyLinesUpAction\",label:ns(\"lines.copyUp\",\"Copy Line Up\"),alias:\"Copy Line Up\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:1552,linux:{primary:3600}}})||this}return uS(t,e),t}(lS),hS=function(e){function t(){return e.call(this,!0,{id:\"editor.action.copyLinesDownAction\",label:ns(\"lines.copyDown\",\"Copy Line Down\"),alias:\"Copy Line Down\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:1554,linux:{primary:3602}}})||this}return uS(t,e),t}(lS),dS=function(e){function t(t,n){var r=e.call(this,n)||this;return r.down=t,r}return uS(t,e),t.prototype.run=function(e,t){for(var n=[],r=t.getSelections(),i=t.getConfiguration().autoIndent,o=0;o<r.length;o++)n.push(new aS(r[o],this.down,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()},t}(qu),pS=function(e){function t(){return e.call(this,!1,{id:\"editor.action.moveLinesUpAction\",label:ns(\"lines.moveUp\",\"Move Line Up\"),alias:\"Move Line Up\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:528,linux:{primary:528}}})||this}return uS(t,e),t}(dS),fS=function(e){function t(){return e.call(this,!0,{id:\"editor.action.moveLinesDownAction\",label:ns(\"lines.moveDown\",\"Move Line Down\"),alias:\"Move Line Down\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:530,linux:{primary:530}}})||this}return uS(t,e),t}(dS),gS=function(e){function t(t,n){var r=e.call(this,n)||this;return r.descending=t,r}return uS(t,e),t.prototype.run=function(e,t){for(var n=t.getSelections(),r=0,i=n.length;r<i;r++){var o=n[r];if(!eS.canRun(t.getModel(),o,this.descending))return}var s=[];for(r=0,i=n.length;r<i;r++)s[r]=new eS(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()},t}(qu),mS=function(e){function t(){return e.call(this,!1,{id:\"editor.action.sortLinesAscending\",label:ns(\"lines.sortAscending\",\"Sort Lines Ascending\"),alias:\"Sort Lines Ascending\",precondition:nl.writable})||this}return uS(t,e),t}(gS),vS=function(e){function t(){return e.call(this,!0,{id:\"editor.action.sortLinesDescending\",label:ns(\"lines.sortDescending\",\"Sort Lines Descending\"),alias:\"Sort Lines Descending\",precondition:nl.writable})||this}return uS(t,e),t}(gS),yS=function(e){function t(){return e.call(this,{id:t.ID,label:ns(\"lines.trimTrailingWhitespace\",\"Trim Trailing Whitespace\"),alias:\"Trim Trailing Whitespace\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:Ja(2089,2102)}})||this}return uS(t,e),t.prototype.run=function(e,t,n){var r=[];\"auto-save\"===n.reason&&(r=t.getSelections().map(function(e){return new ye(e.positionLineNumber,e.positionColumn)}));var i=new nS(t.getSelection(),r);t.pushUndoStop(),t.executeCommands(this.id,[i]),t.pushUndoStop()},t.ID=\"editor.action.trimTrailingWhitespace\",t}(qu),bS=function(e){function t(){return e.call(this,{id:\"editor.action.deleteLines\",label:ns(\"lines.delete\",\"Delete Line\"),alias:\"Delete Line\",precondition:nl.writable,kbOpts:{kbExpr:nl.textInputFocus,primary:3113}})||this}return uS(t,e),t.prototype.run=function(e,t){var n=this._getLinesToRemove(t).map(function(e){return new iS(e.startLineNumber,e.endLineNumber,e.positionColumn)});t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()},t}(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return uS(t,e),t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map(function(e){var t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&1===e.endColumn&&(t-=1),{startLineNumber:e.startLineNumber,endLineNumber:t,positionColumn:e.positionColumn}});t.sort(function(e,t){return e.startLineNumber-t.startLineNumber});for(var n=[],r=t[0],i=1;i<t.length;i++)r.endLineNumber+1===t[i].startLineNumber?r.endLineNumber=t[i].endLineNumber:(n.push(r),r=t[i]);return n.push(r),n},t}(qu)),_S=function(e){function t(){return e.call(this,{id:\"editor.action.indentLines\",label:ns(\"lines.indent\",\"Indent Line\"),alias:\"Indent Line\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:2137}})||this}return uS(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,vl.indent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(qu),CS=function(e){function t(){return e.call(this,{id:\"editor.action.outdentLines\",label:ns(\"lines.outdent\",\"Outdent Line\"),alias:\"Outdent Line\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:2135}})||this}return uS(t,e),t.prototype.run=function(e,t){ll.Outdent.runEditorCommand(null,t,null)},t}(qu),wS=function(e){function t(){return e.call(this,{id:\"editor.action.insertLineBefore\",label:ns(\"lines.insertBefore\",\"Insert Line Above\"),alias:\"Insert Line Above\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:3075}})||this}return uS(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,vl.lineInsertBefore(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(qu),DS=function(e){function t(){return e.call(this,{id:\"editor.action.insertLineAfter\",label:ns(\"lines.insertAfter\",\"Insert Line Below\"),alias:\"Insert Line Below\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:2051}})||this}return uS(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,vl.lineInsertAfter(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(qu),ES=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return uS(t,e),t.prototype.run=function(e,t){for(var n=t.getSelection(),r=this._getRangesToDelete(t),i=[],o=0,s=r.length-1;o<s;o++){var a=r[o],u=r[o+1];null===be.intersectRanges(a,u)?i.push(a):r[o+1]=be.plusRange(a,u)}i.push(r[r.length-1]);var l=this._getEndCursorState(n,i),c=i.map(function(e){return l.push(new Ii(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)),S_.replace(e,\"\")});t.pushUndoStop(),t.executeEdits(this.id,c,l),t.pushUndoStop()},t}(qu),AS=function(e){function t(){return e.call(this,{id:\"deleteAllLeft\",label:ns(\"lines.deleteAllLeft\",\"Delete All Left\"),alias:\"Delete All Left\",precondition:nl.writable,kbOpts:{kbExpr:nl.textInputFocus,primary:null,mac:{primary:2049}}})||this}return uS(t,e),t.prototype._getEndCursorState=function(e,t){for(var n,r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=new Ii(t[i].startLineNumber,t[i].startColumn,t[i].startLineNumber,t[i].startColumn);s.intersectRanges(e)?n=a:r.push(a)}return n&&r.unshift(n),r},t.prototype._getRangesToDelete=function(e){var t=e.getSelections();return t.sort(be.compareRangesUsingStarts),t=t.map(function(e){return e.isEmpty()?new be(e.startLineNumber,1,e.startLineNumber,e.startColumn):e})},t}(ES),SS=function(e){function t(){return e.call(this,{id:\"deleteAllRight\",label:ns(\"lines.deleteAllRight\",\"Delete All Right\"),alias:\"Delete All Right\",precondition:nl.writable,kbOpts:{kbExpr:nl.textInputFocus,primary:null,mac:{primary:297,secondary:[2068]}}})||this}return uS(t,e),t.prototype._getEndCursorState=function(e,t){for(var n,r=[],i=0,o=t.length;i<o;i++){var s=t[i],a=new Ii(s.startLineNumber-0,s.startColumn,s.startLineNumber-0,s.startColumn);s.intersectRanges(e)?n=a:r.push(a)}return n&&r.unshift(n),r},t.prototype._getRangesToDelete=function(e){var t=e.getModel(),n=e.getSelections().map(function(e){if(e.isEmpty()){var n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new be(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new be(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e});return n.sort(be.compareRangesUsingStarts),n},t}(ES),xS=function(e){function t(){return e.call(this,{id:\"editor.action.joinLines\",label:ns(\"lines.joinLines\",\"Join Lines\"),alias:\"Join Lines\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:0,mac:{primary:296}}})||this}return uS(t,e),t.prototype.run=function(e,t){var n=t.getSelections(),r=t.getSelection();n.sort(be.compareRangesUsingStarts);var i=[],o=n.reduce(function(e,t){return e.isEmpty()?e.endLineNumber===t.startLineNumber?(r.equalsSelection(e)&&(r=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new Ii(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new Ii(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});i.push(o);for(var s=t.getModel(),a=[],u=[],l=r,c=0,h=0,d=i.length;h<d;h++){var p=i[h],f=p.startLineNumber,g=void 0,m=void 0,v=void 0,y=s.getLineContent(p.endLineNumber).length-p.endColumn;if(p.isEmpty()||p.startLineNumber===p.endLineNumber){var b=p.getStartPosition();b.lineNumber<s.getLineCount()?(g=f+1,m=s.getLineMaxColumn(g)):(g=b.lineNumber,m=s.getLineMaxColumn(b.lineNumber))}else g=p.endLineNumber,m=s.getLineMaxColumn(g);for(var _=s.getLineContent(f),C=f+1;C<=g;C++){var w=s.getLineContent(C),D=s.getLineFirstNonWhitespaceColumn(C);if(D>=1){var E=!0;\"\"===_&&(E=!1),!E||\" \"!==_.charAt(_.length-1)&&\"\\t\"!==_.charAt(_.length-1)||(E=!1,_=_.replace(/[\\s\\uFEFF\\xA0]+$/g,\" \"));var A=w.substr(D-1);_+=(E?\" \":\"\")+A,v=E?A.length+1:A.length}else v=0}var S=new be(f,1,g,m);if(!S.isEmpty()){var x=void 0;p.isEmpty()?(a.push(S_.replace(S,_)),x=new Ii(S.startLineNumber-c,_.length-v+1,f-c,_.length-v+1)):p.startLineNumber===p.endLineNumber?(a.push(S_.replace(S,_)),x=new Ii(p.startLineNumber-c,p.startColumn,p.endLineNumber-c,p.endColumn)):(a.push(S_.replace(S,_)),x=new Ii(p.startLineNumber-c,p.startColumn,p.startLineNumber-c,_.length-y)),null!==be.intersectRanges(S,r)?l=x:u.push(x)}c+=S.endLineNumber-S.startLineNumber}u.unshift(l),t.pushUndoStop(),t.executeEdits(this.id,a,u),t.pushUndoStop()},t}(qu),MS=function(e){function t(){return e.call(this,{id:\"editor.action.transpose\",label:ns(\"editor.transpose\",\"Transpose characters around the cursor\"),alias:\"Transpose characters around the cursor\",precondition:nl.writable})||this}return uS(t,e),t.prototype.run=function(e,t){for(var n=t.getSelections(),r=t.getModel(),i=[],o=0,s=n.length;o<s;o++){var a=n[o];if(a.isEmpty()){var u=a.getStartPosition(),l=r.getLineMaxColumn(u.lineNumber);if(u.column>=l){if(u.lineNumber===r.getLineCount())continue;var c=new be(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),h=r.getValueInRange(c).split(\"\").reverse().join(\"\");i.push(new hl(new Ii(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),h))}else{c=new be(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),h=r.getValueInRange(c).split(\"\").reverse().join(\"\");i.push(new fl(c,h,new Ii(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(qu),NS=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return uS(t,e),t.prototype.run=function(e,t){for(var n=t.getSelections(),r=t.getModel(),i=[],o=0,s=n.length;o<s;o++){var a=n[o];if(a.isEmpty()){var u=a.getStartPosition(),l=r.getWordAtPosition(u);if(!l)continue;var c=new be(u.lineNumber,l.startColumn,u.lineNumber,l.endColumn),h=r.getValueInRange(c);i.push(new fl(c,this._modifyText(h),new Ii(u.lineNumber,u.column,u.lineNumber,u.column)))}else{h=r.getValueInRange(a);i.push(new fl(a,this._modifyText(h),a))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(qu),IS=function(e){function t(){return e.call(this,{id:\"editor.action.transformToUppercase\",label:ns(\"editor.transformToUppercase\",\"Transform to Uppercase\"),alias:\"Transform to Uppercase\",precondition:nl.writable})||this}return uS(t,e),t.prototype._modifyText=function(e){return e.toLocaleUpperCase()},t}(NS),LS=function(e){function t(){return e.call(this,{id:\"editor.action.transformToLowercase\",label:ns(\"editor.transformToLowercase\",\"Transform to Lowercase\"),alias:\"Transform to Lowercase\",precondition:nl.writable})||this}return uS(t,e),t.prototype._modifyText=function(e){return e.toLocaleLowerCase()},t}(NS);$u(cS),$u(hS),$u(pS),$u(fS),$u(mS),$u(vS),$u(yS),$u(bS),$u(_S),$u(CS),$u(wS),$u(DS),$u(AS),$u(SS),$u(xS),$u(MS),$u(IS),$u(LS);n(350);var kS=function(){function e(e,t){this._link=e,this._provider=t}return e.prototype.toJSON=function(){return{range:this.range,url:this.url}},Object.defineProperty(e.prototype,\"range\",{get:function(){return this._link.range},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"url\",{get:function(){return this._link.url},enumerable:!0,configurable:!0}),e.prototype.resolve=function(){var e=this;if(this._link.url)try{return cn.b.as(Be.parse(this._link.url))}catch(e){return cn.b.wrapError(new Error(\"invalid\"))}return\"function\"==typeof this._provider.resolveLink?Pl(function(t){return e._provider.resolveLink(e._link,t)}).then(function(t){return e._link=t||e._link,e._link.url?e.resolve():cn.b.wrapError(new Error(\"missing\"))}):cn.b.wrapError(new Error(\"missing\"))},e}();function TS(e){var t=[],n=Ei.ordered(e).reverse().map(function(n){return Pl(function(t){return n.provideLinks(e,t)}).then(function(e){if(Array.isArray(e)){var r=e.map(function(e){return new kS(e,n)});t=function(e,t){var n,r,i,o,s,a,u=[];for(n=0,i=0,r=e.length,o=t.length;n<r&&i<o;)s=e[n],a=t[i],be.areIntersectingOrTouching(s.range,a.range)?n++:be.compareRangesUsingStarts(s.range,a.range)<0?(u.push(s),n++):(u.push(a),i++);for(;n<r;n++)u.push(e[n]);for(;i<o;i++)u.push(t[i]);return u}(t,r)}},fn)});return cn.b.join(n).then(function(){return t})}Ga.registerCommand(\"_executeLinkProvider\",function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=t[0];if(r instanceof Be){var i=e.get(Br).getModel(r);if(i)return TS(i)}});n(351);var FS=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function OS(e,t){return!!e[t]}var PS=function(){return function(e,t){this.target=e.target,this.hasTriggerModifier=OS(e.event,t.triggerModifier),this.hasSideBySideModifier=OS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=Xl||e.event.detail<=1}}(),BS=function(){return function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=OS(e,t.triggerModifier)}}(),RS=function(){function e(e,t,n,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=r}return e.prototype.equals=function(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier},e}();function jS(e){return\"altKey\"===e?we.d?new RS(57,\"metaKey\",6,\"altKey\"):new RS(5,\"ctrlKey\",6,\"altKey\"):we.d?new RS(6,\"altKey\",57,\"metaKey\"):new RS(6,\"altKey\",5,\"ctrlKey\")}var zS=function(e){function t(t){var n=e.call(this)||this;return n._onMouseMoveOrRelevantKeyDown=n._register(new wn),n.onMouseMoveOrRelevantKeyDown=n._onMouseMoveOrRelevantKeyDown.event,n._onExecute=n._register(new wn),n.onExecute=n._onExecute.event,n._onCancel=n._register(new wn),n.onCancel=n._onCancel.event,n._editor=t,n._opts=jS(n._editor.getConfiguration().multiCursorModifier),n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._register(n._editor.onDidChangeConfiguration(function(e){if(e.multiCursorModifier){var t=jS(n._editor.getConfiguration().multiCursorModifier);if(n._opts.equals(t))return;n._opts=t,n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._onCancel.fire()}})),n._register(n._editor.onMouseMove(function(e){return n.onEditorMouseMove(new PS(e,n._opts))})),n._register(n._editor.onMouseDown(function(e){return n.onEditorMouseDown(new PS(e,n._opts))})),n._register(n._editor.onMouseUp(function(e){return n.onEditorMouseUp(new PS(e,n._opts))})),n._register(n._editor.onKeyDown(function(e){return n.onEditorKeyDown(new BS(e,n._opts))})),n._register(n._editor.onKeyUp(function(e){return n.onEditorKeyUp(new BS(e,n._opts))})),n._register(n._editor.onMouseDrag(function(){return n.resetHandler()})),n._register(n._editor.onDidChangeCursorSelection(function(e){return n.onDidChangeCursorSelection(e)})),n._register(n._editor.onDidChangeModel(function(e){return n.resetHandler()})),n._register(n._editor.onDidChangeModelContent(function(){return n.resetHandler()})),n._register(n._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&n.resetHandler()})),n}return FS(t,e),t.prototype.onDidChangeCursorSelection=function(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this.resetHandler()},t.prototype.onEditorMouseMove=function(e){this.lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])},t.prototype.onEditorMouseDown=function(e){this.hasTriggerKeyOnMouseDown=e.hasTriggerModifier},t.prototype.onEditorMouseUp=function(e){this.hasTriggerKeyOnMouseDown&&this._onExecute.fire(e)},t.prototype.onEditorKeyDown=function(e){this.lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this.lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()},t.prototype.onEditorKeyUp=function(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()},t.prototype.resetHandler=function(){this.lastMouseMoveEvent=null,this.hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()},t}(un),WS=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),VS=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},HS=function(e,t){return function(n,r){t(n,r,e)}},US=(new Mw).appendText(we.d?ns(\"links.navigate.mac\",\"Cmd + click to follow link\"):ns(\"links.navigate\",\"Ctrl + click to follow link\")),YS=(new Mw).appendText(we.d?ns(\"links.command.mac\",\"Cmd + click to execute command\"):ns(\"links.command\",\"Ctrl + click to execute command\")),ZS=(new Mw).appendText(we.d?ns(\"links.navigate.al.mac\",\"Option + click to follow link\"):ns(\"links.navigate.al\",\"Alt + click to follow link\")),GS=(new Mw).appendText(we.d?ns(\"links.command.al.mac\",\"Option + click to execute command\"):ns(\"links.command.al\",\"Alt + click to execute command\")),KS={meta:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link\",hoverMessage:US}),metaActive:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link-active\",hoverMessage:US}),alt:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link\",hoverMessage:ZS}),altActive:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link-active\",hoverMessage:ZS}),altCommand:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link\",hoverMessage:GS}),altCommandActive:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link-active\",hoverMessage:GS}),metaCommand:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link\",hoverMessage:YS}),metaCommandActive:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,inlineClassName:\"detected-link-active\",hoverMessage:YS})},qS=function(){function e(e,t){this.link=e,this.decorationId=t}return e.decoration=function(t,n){return{range:t.range,options:e._getOptions(t,n,!1)}},e._getOptions=function(e,t,n){return/^command:/i.test(e.url)?t?n?KS.metaCommandActive:KS.metaCommand:n?KS.altCommandActive:KS.altCommand:t?n?KS.metaActive:KS.meta:n?KS.altActive:KS.alt},e.prototype.activate=function(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!0))},e.prototype.deactivate=function(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!1))},e}(),QS=function(){function e(e,t,n){var r=this;this.editor=e,this.openerService=t,this.notificationService=n,this.listenersToRemove=[];var i=new zS(e);this.listenersToRemove.push(i),this.listenersToRemove.push(i.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];r._onEditorMouseMove(t,n)})),this.listenersToRemove.push(i.onExecute(function(e){r.onEditorMouseUp(e)})),this.listenersToRemove.push(i.onCancel(function(e){r.cleanUpActiveLinkDecoration()})),this.enabled=e.getConfiguration().contribInfo.links,this.listenersToRemove.push(e.onDidChangeConfiguration(function(t){var n=e.getConfiguration().contribInfo.links;r.enabled!==n&&(r.enabled=n,r.updateDecorations([]),r.stop(),r.beginCompute())})),this.listenersToRemove.push(e.onDidChangeModelContent(function(e){return r.onChange()})),this.listenersToRemove.push(e.onDidChangeModel(function(e){return r.onModelChanged()})),this.listenersToRemove.push(e.onDidChangeModelLanguage(function(e){return r.onModelModeChanged()})),this.listenersToRemove.push(Ei.onDidChange(function(e){return r.onModelModeChanged()})),this.timeoutPromise=null,this.computePromise=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.onModelChanged=function(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()},e.prototype.onModelModeChanged=function(){this.stop(),this.beginCompute()},e.prototype.onChange=function(){var t=this;this.timeoutPromise||(this.timeoutPromise=cn.b.timeout(e.RECOMPUTE_TIME),this.timeoutPromise.then(function(){t.timeoutPromise=null,t.beginCompute()}))},e.prototype.beginCompute=function(){var e=this;this.editor.getModel()&&this.enabled&&Ei.has(this.editor.getModel())&&(this.computePromise=TS(this.editor.getModel()).then(function(t){e.updateDecorations(t),e.computePromise=null}))},e.prototype.updateDecorations=function(e){for(var t=\"altKey\"===this.editor.getConfiguration().multiCursorModifier,n=[],r=Object.keys(this.currentOccurrences),i=0,o=r.length;i<o;i++){var s=r[i],a=this.currentOccurrences[s];n.push(a.decorationId)}var u=[];if(e)for(i=0;i<e.length;i++)u.push(qS.decoration(e[i],t));var l=this.editor.deltaDecorations(n,u);this.currentOccurrences={},this.activeLinkDecorationId=null;for(i=0,o=l.length;i<o;i++){a=new qS(e[i],l[i]);this.currentOccurrences[a.decorationId]=a}},e.prototype._onEditorMouseMove=function(e,t){var n=this,r=\"altKey\"===this.editor.getConfiguration().multiCursorModifier;if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();var i=this.getLinkOccurrence(e.target.position);i&&this.editor.changeDecorations(function(e){i.activate(e,r),n.activeLinkDecorationId=i.decorationId})}else this.cleanUpActiveLinkDecoration()},e.prototype.cleanUpActiveLinkDecoration=function(){var e=\"altKey\"===this.editor.getConfiguration().multiCursorModifier;if(this.activeLinkDecorationId){var t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(function(n){t.deactivate(n,e)}),this.activeLinkDecorationId=null}},e.prototype.onEditorMouseUp=function(e){if(this.isEnabled(e)){var t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier)}},e.prototype.openLinkOccurrence=function(e,t){var n=this;if(this.openerService){var r=e.link;r.resolve().then(function(e){return n.openerService.open(e,{openToSide:t})},function(e){\"invalid\"===e?n.notificationService.warn(ns(\"invalid.url\",\"Failed to open this link because it is not well-formed: {0}\",r.url)):\"missing\"===e?n.notificationService.warn(ns(\"missing.url\",\"Failed to open this link because its target is missing.\")):pn(e)}).done(null,pn)}},e.prototype.getLinkOccurrence=function(e){for(var t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0),n=0;n<t.length;n++){var r=t[n],i=this.currentOccurrences[r.id];if(i)return i}return null},e.prototype.isEnabled=function(e,t){return e.target.type===ju.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)},e.prototype.stop=function(){this.timeoutPromise&&(this.timeoutPromise.cancel(),this.timeoutPromise=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)},e.prototype.dispose=function(){this.listenersToRemove=on(this.listenersToRemove),this.stop()},e.ID=\"editor.linkDetector\",e.RECOMPUTE_TIME=1e3,e=VS([HS(1,nA),HS(2,Yb)],e)}(),XS=function(e){function t(){return e.call(this,{id:\"editor.action.openLink\",label:ns(\"label\",\"Open Link\"),alias:\"Open Link\",precondition:null})||this}return WS(t,e),t.prototype.run=function(e,t){var n=QS.get(t);if(n)for(var r=0,i=t.getSelections();r<i.length;r++){var o=i[r],s=n.getLinkOccurrence(o.getEndPosition());s&&n.openLinkOccurrence(s,!1)}},t}(qu);el(QS),$u(XS),Vg(function(e,t){var n=e.getColor(pg);n&&t.addRule(\".monaco-editor .detected-link-active { color: \"+n+\" !important; }\")});var JS=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),$S=function(e){function t(){return e.call(this,{id:\"editor.action.insertCursorAbove\",label:ns(\"mutlicursor.insertAbove\",\"Add Cursor Above\"),alias:\"Add Cursor Above\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]}}})||this}return JS(t,e),t.prototype.run=function(e,t,n){var r=t._getCursors(),i=r.context;i.config.readOnly||(i.model.pushStackElement(),r.setStates(n.source,La.Explicit,Ua.addCursorUp(i,r.getAll())),r.reveal(!0,1,0))},t}(qu),ex=function(e){function t(){return e.call(this,{id:\"editor.action.insertCursorBelow\",label:ns(\"mutlicursor.insertBelow\",\"Add Cursor Below\"),alias:\"Add Cursor Below\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]}}})||this}return JS(t,e),t.prototype.run=function(e,t,n){var r=t._getCursors(),i=r.context;i.config.readOnly||(i.model.pushStackElement(),r.setStates(n.source,La.Explicit,Ua.addCursorDown(i,r.getAll())),r.reveal(!0,2,0))},t}(qu),tx=function(e){function t(){return e.call(this,{id:\"editor.action.insertCursorAtEndOfEachLineSelected\",label:ns(\"mutlicursor.insertAtEndOfEachLineSelected\",\"Add Cursors to Line Ends\"),alias:\"Add Cursors to Line Ends\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:1575}})||this}return JS(t,e),t.prototype.getCursorsForSelection=function(e,t,n){if(!e.isEmpty()){for(var r=e.startLineNumber;r<e.endLineNumber;r++){var i=t.getLineMaxColumn(r);n.push(new Ii(r,i,r,i))}e.endColumn>1&&n.push(new Ii(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this,r=t.getModel(),i=[];t.getSelections().forEach(function(e){return n.getCursorsForSelection(e,r,i)}),i.length>0&&t.setSelections(i)},t}(qu),nx=function(){return function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}(),rx=function(){function e(e,t,n,r,i,o,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=r,this.wholeWord=i,this.matchCase=o,this.currentMatch=s}return e.create=function(t,n){var r=n.getState();if(!t.isFocused()&&r.isRevealed&&r.searchString.length>0)return new e(t,n,!1,r.searchString,r.wholeWord,r.matchCase,null);var i,o,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,i=!0,o=!0):(i=r.wholeWord,o=r.matchCase);var u,l=t.getSelection(),c=null;if(l.isEmpty()){var h=t.getModel().getWordAtPosition(l.getStartPosition());if(!h)return null;u=h.word,c=new Ii(l.startLineNumber,h.startColumn,l.startLineNumber,h.endColumn)}else u=t.getModel().getValueInRange(l).replace(/\\r\\n/g,\"\\n\");return new e(t,n,s,u,i,o,c)},e.prototype.addSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new nx(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new nx(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],r=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return r?new Ii(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new nx(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new nx(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],r=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return r?new Ii(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn):null},e.prototype.selectAll=function(){return this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)},e}(),ix=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n._sessionDispose=[],n}return JS(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var n=rx.create(this._editor,e);if(!n)return;this._session=n;var r={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(r.wholeWordOverride=1,r.matchCaseOverride=1,r.isRegexOverride=2),e.getState().change(r,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()}),this._editor.onDidBlurEditorText(function(){t._endSession()}),e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()})]}},t.prototype._endSession=function(){if(this._sessionDispose=on(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var n=e.getWordAtPosition(t.getStartPosition());return n?new Ii(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!fx(this._editor.getModel(),t,n)){for(var r=this._editor.getModel(),i=[],o=0,s=t.length;o<s;o++)i[o]=this._expandEmptyToWord(r,t[o]);return void this._editor.setSelections(i)}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())},t.prototype.addSelectionToPreviousFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())},t.prototype.moveSelectionToNextFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())},t.prototype.moveSelectionToPreviousFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())},t.prototype.selectAll=function(e){var t=null,n=e.getState();if(n.isRevealed&&n.searchString.length>0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var r=this._editor.getSelection(),i=0,o=t.length;i<o;i++){var s=t[i];if(s.range.intersectRanges(r)){t[i]=t[0],t[0]=s;break}}this._setSelections(t.map(function(e){return new Ii(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)}))}},t.ID=\"editor.contrib.multiCursorController\",t}(un),ox=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return JS(t,e),t.prototype.run=function(e,t){var n=ix.get(t);if(n){var r=VD.get(t);if(!r)return null;this._run(n,r)}},t}(qu),sx=function(e){function t(){return e.call(this,{id:\"editor.action.addSelectionToNextFindMatch\",label:ns(\"addSelectionToNextFindMatch\",\"Add Selection To Next Find Match\"),alias:\"Add Selection To Next Find Match\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:2082}})||this}return JS(t,e),t.prototype._run=function(e,t){e.addSelectionToNextFindMatch(t)},t}(ox),ax=function(e){function t(){return e.call(this,{id:\"editor.action.addSelectionToPreviousFindMatch\",label:ns(\"addSelectionToPreviousFindMatch\",\"Add Selection To Previous Find Match\"),alias:\"Add Selection To Previous Find Match\",precondition:null})||this}return JS(t,e),t.prototype._run=function(e,t){e.addSelectionToPreviousFindMatch(t)},t}(ox),ux=function(e){function t(){return e.call(this,{id:\"editor.action.moveSelectionToNextFindMatch\",label:ns(\"moveSelectionToNextFindMatch\",\"Move Last Selection To Next Find Match\"),alias:\"Move Last Selection To Next Find Match\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:Ja(2089,2082)}})||this}return JS(t,e),t.prototype._run=function(e,t){e.moveSelectionToNextFindMatch(t)},t}(ox),lx=function(e){function t(){return e.call(this,{id:\"editor.action.moveSelectionToPreviousFindMatch\",label:ns(\"moveSelectionToPreviousFindMatch\",\"Move Last Selection To Previous Find Match\"),alias:\"Move Last Selection To Previous Find Match\",precondition:null})||this}return JS(t,e),t.prototype._run=function(e,t){e.moveSelectionToPreviousFindMatch(t)},t}(ox),cx=function(e){function t(){return e.call(this,{id:\"editor.action.selectHighlights\",label:ns(\"selectAllOccurrencesOfFindMatch\",\"Select All Occurrences of Find Match\"),alias:\"Select All Occurrences of Find Match\",precondition:null,kbOpts:{kbExpr:nl.focus,primary:3114}})||this}return JS(t,e),t.prototype._run=function(e,t){e.selectAll(t)},t}(ox),hx=function(e){function t(){return e.call(this,{id:\"editor.action.changeAll\",label:ns(\"changeAll.label\",\"Change All Occurrences\"),alias:\"Change All Occurrences\",precondition:nl.writable,kbOpts:{kbExpr:nl.editorTextFocus,primary:2108},menuOpts:{group:\"1_modification\",order:1.2}})||this}return JS(t,e),t.prototype._run=function(e,t){e.selectAll(t)},t}(ox),dx=function(){function e(e,t,n,r){this.lastWordUnderCursor=e,this.searchText=t,this.matchCase=n,this.wordSeparators=r}return e.softEquals=function(e,t){return!e&&!t||!(!e||!t)&&(e.searchText===t.searchText&&e.matchCase===t.matchCase&&e.wordSeparators===t.wordSeparators)},e}(),px=function(e){function t(t){var n=e.call(this)||this;return n.editor=t,n._isEnabled=t.getConfiguration().contribInfo.selectionHighlight,n.decorations=[],n.updateSoon=n._register(new Yl(function(){return n._update()},300)),n.state=null,n._register(t.onDidChangeConfiguration(function(e){n._isEnabled=t.getConfiguration().contribInfo.selectionHighlight})),n._register(t.onDidChangeCursorSelection(function(e){n._isEnabled&&(e.selection.isEmpty()?e.reason===La.Explicit?(!n.state||n.state.lastWordUnderCursor&&n.state.lastWordUnderCursor.containsPosition(e.selection.getStartPosition())||n._setState(null),n.updateSoon.schedule()):n._setState(null):n._update())})),n._register(t.onDidChangeModel(function(e){n._setState(null)})),n._register(VD.get(t).getState().onFindReplaceStateChange(function(e){n._update()})),n}return JS(t,e),t.prototype.getId=function(){return t.ID},t.prototype._update=function(){this._setState(t._createState(this._isEnabled,this.editor))},t._createState=function(e,t){if(!e)return null;var n=t.getModel();if(!n)return null;var r=t.getSelection();if(r.startLineNumber!==r.endLineNumber)return null;var i=ix.get(t);if(!i)return null;var o=VD.get(t);if(!o)return null;var s=i.getSession(o);if(!s){var a=t.getSelections();if(a.length>1){var u=o.getState().matchCase;if(!fx(t.getModel(),a,u))return null}s=rx.create(t,o)}if(!s)return null;var l=null,c=gi.has(n);if(s.currentMatch){if(c)return null;if(!t.getConfiguration().contribInfo.occurrencesHighlight)return null;l=s.currentMatch}if(/^[ \\t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;var h=o.getState(),d=h.matchCase;if(h.isRevealed){var p=h.searchString;d||(p=p.toLowerCase());var f=s.searchText;if(d||(f=f.toLowerCase()),p===f&&s.matchCase===h.matchCase&&s.wholeWord===h.wholeWord&&!h.isRegex)return null}return new dx(l,s.searchText,s.matchCase,s.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(dx.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var r=gi.has(n),i=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});i.sort(be.compareRangesUsingStarts);var o=this.editor.getSelections();o.sort(be.compareRangesUsingStarts);for(var s=[],a=0,u=0,l=i.length,c=o.length;a<l;){var h=i[a];if(u>=c)s.push(h),a++;else{var d=be.compareRangesUsingStarts(h,o[u]);d<0?(s.push(h),a++):d>0?u++:(a++,u++)}}var p=s.map(function(e){return{range:e,options:r?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}});this.decorations=this.editor.deltaDecorations(this.decorations,p)}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID=\"editor.contrib.selectionHighlighter\",t._SELECTION_HIGHLIGHT_OVERVIEW=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"selectionHighlight\",overviewRuler:{color:Pg(Ng),darkColor:Pg(Ng),position:Ln.Center}}),t._SELECTION_HIGHLIGHT=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"selectionHighlight\"}),t}(un);function fx(e,t,n){for(var r=gx(e,t[0],!n),i=1,o=t.length;i<o;i++){var s=t[i];if(s.isEmpty())return!1;if(r!==gx(e,s,!n))return!1}return!0}function gx(e,t,n){var r=e.getValueInRange(t);return n?r.toLowerCase():r}el(ix),el(px),$u($S),$u(ex),$u(tx),$u(sx),$u(ax),$u(ux),$u(lx),$u(cx),$u(hx);n(352);var mx=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),vx=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},yx=function(e,t){return function(n,r){t(n,r,e)}},bx=function(e){function t(t,n,r,i,o,s,a,u){return e.call(this,t,n,!1,r,i,o,s,a,u)||this}return mx(t,e),t.prototype._getContributions=function(){return Gu.getEditorContributions()},t.prototype._getActions=function(){return Gu.getEditorActions()},t=vx([yx(2,Tr),yx(3,Wu),yx(4,Za),yx(5,Su),yx(6,Og),yx(7,Yb)],t)}(Xb),_x=(n(353),n(354),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),Cx=function(){function e(e,t,n,r){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=n,this.modifiedLineEnd=r}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),wx=function(){return function(e){this.entries=e}}(),Dx=function(e){function t(t){var n=e.call(this)||this;return n._width=0,n._diffEditor=t,n._isVisible=!1,n.shadow=Up(document.createElement(\"div\")),n.shadow.setClassName(\"diff-review-shadow\"),n.actionBarContainer=Up(document.createElement(\"div\")),n.actionBarContainer.setClassName(\"diff-review-actions\"),n._actionBar=n._register(new zC(n.actionBarContainer.domNode)),n._actionBar.push(new hu(\"diffreview.close\",ns(\"label.close\",\"Close\"),\"close-diff-review\",!0,function(){return n.hide(),null}),{label:!1,icon:!0}),n.domNode=Up(document.createElement(\"div\")),n.domNode.setClassName(\"diff-review monaco-editor-background\"),n._content=Up(document.createElement(\"div\")),n._content.setClassName(\"diff-review-content\"),n.scrollbar=n._register(new bb(n._content.domNode,{})),n.domNode.domNode.appendChild(n.scrollbar.getDomNode()),n._register(t.onDidUpdateDiff(function(){n._isVisible&&(n._diffs=n._compute(),n._render())})),n._register(t.getModifiedEditor().onDidChangeCursorPosition(function(){n._isVisible&&n._render()})),n._register(t.getOriginalEditor().onDidFocusEditor(function(){n._isVisible&&n.hide()})),n._register(t.getModifiedEditor().onDidFocusEditor(function(){n._isVisible&&n.hide()})),n._register(Tc(n.domNode.domNode,\"click\",function(e){e.preventDefault();var t=ah(e.target,\"diff-review-row\");t&&n._goToRow(t)})),n._register(Tc(n.domNode.domNode,\"keydown\",function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),n._goToRow(n._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),n._goToRow(n._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),n.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),n.accept())})),n._diffs=[],n._currentDiff=null,n}return _x(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,n=0,r=this._diffs.length;n<r;n++)if(this._diffs[n]===this._currentDiff){t=n;break}e=this._diffs.length+t-1}else e=this._findDiffIndex(this._diffEditor.getPosition());0!==this._diffs.length&&(e%=this._diffs.length,this._diffEditor.setPosition(new ye(this._diffs[e].entries[0].modifiedLineStart,1)),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow()))},t.prototype.next=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,n=0,r=this._diffs.length;n<r;n++)if(this._diffs[n]===this._currentDiff){t=n;break}e=t+1}else e=this._findDiffIndex(this._diffEditor.getPosition());0!==this._diffs.length&&(e%=this._diffs.length,this._diffEditor.setPosition(new ye(this._diffs[e].entries[0].modifiedLineStart,1)),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow()))},t.prototype.accept=function(){var e=-1,t=this._getCurrentFocusedRow();if(t){var n=parseInt(t.getAttribute(\"data-line\"),10);isNaN(n)||(e=n)}this.hide(),-1!==e&&(this._diffEditor.setPosition(new ye(e,1)),this._diffEditor.revealPosition(new ye(e,1),1))},t.prototype.hide=function(){this._isVisible=!1,this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()},t.prototype._getPrevRow=function(){var e=this._getCurrentFocusedRow();return e?e.previousElementSibling?e.previousElementSibling:e:this._getFirstRow()},t.prototype._getNextRow=function(){var e=this._getCurrentFocusedRow();return e?e.nextElementSibling?e.nextElementSibling:e:this._getFirstRow()},t.prototype._getFirstRow=function(){return this.domNode.domNode.querySelector(\".diff-review-row\")},t.prototype._getCurrentFocusedRow=function(){var e=document.activeElement;return e&&/diff-review-row/.test(e.className)?e:null},t.prototype._goToRow=function(e){var t=this._getCurrentFocusedRow();e.tabIndex=0,e.focus(),t&&t!==e&&(t.tabIndex=-1),this.scrollbar.scanDomNode()},t.prototype.isVisible=function(){return this._isVisible},t.prototype.layout=function(e,t,n){this._width=t,this.shadow.setTop(e-6),this.shadow.setWidth(t),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(e),this.domNode.setWidth(t),this.domNode.setHeight(n),this._content.setHeight(n),this._content.setWidth(t),this._isVisible?(this.actionBarContainer.setAttribute(\"aria-hidden\",\"false\"),this.actionBarContainer.setDisplay(\"block\")):(this.actionBarContainer.setAttribute(\"aria-hidden\",\"true\"),this.actionBarContainer.setDisplay(\"none\"))},t.prototype._compute=function(){var e=this._diffEditor.getLineChanges();if(!e||0===e.length)return[];var n=this._diffEditor.getOriginalEditor().getModel(),r=this._diffEditor.getModifiedEditor().getModel();return n&&r?t._mergeAdjacent(e,n.getLineCount(),r.getLineCount()):[]},t._mergeAdjacent=function(e,t,n){if(!e||0===e.length)return[];for(var r=[],i=0,o=0,s=e.length;o<s;o++){var a=e[o],u=a.originalStartLineNumber,l=a.originalEndLineNumber,c=a.modifiedStartLineNumber,h=a.modifiedEndLineNumber,d=[],p=0,f=0===l?u:u-1,g=0===h?c:c-1,m=1,v=1;if(o>0){var y=e[o-1];m=0===y.originalEndLineNumber?y.originalStartLineNumber+1:y.originalEndLineNumber+1,v=0===y.modifiedEndLineNumber?y.modifiedStartLineNumber+1:y.modifiedEndLineNumber+1}var b=f-3+1,_=g-3+1;if(b<m)b+=S=m-b,_+=S;if(_<v)b+=S=v-_,_+=S;d[p++]=new Cx(b,f,_,g),0!==l&&(d[p++]=new Cx(u,l,0,0)),0!==h&&(d[p++]=new Cx(0,0,c,h));var C=0===l?u+1:l+1,w=0===h?c+1:h+1,D=t,E=n;if(o+1<s){var A=e[o+1];D=0===A.originalEndLineNumber?A.originalStartLineNumber:A.originalStartLineNumber-1,E=0===A.modifiedEndLineNumber?A.modifiedStartLineNumber:A.modifiedStartLineNumber-1}var S,x=C+3-1,M=w+3-1;if(x>D)x+=S=D-x,M+=S;if(M>E)x+=S=E-M,M+=S;d[p++]=new Cx(C,x,w,M),r[i++]=new wx(d)}var N=r[0].entries,I=[],L=0;for(o=1,s=r.length;o<s;o++){var k=r[o].entries,T=N[N.length-1],F=k[0];0===T.getType()&&0===F.getType()&&F.originalLineStart<=T.originalLineEnd?(N[N.length-1]=new Cx(T.originalLineStart,F.originalLineEnd,T.modifiedLineStart,F.modifiedLineEnd),N=N.concat(k.slice(1))):(I[L++]=new wx(N),N=k)}return I[L++]=new wx(N),I},t.prototype._findDiffIndex=function(e){for(var t=e.lineNumber,n=0,r=this._diffs.length;n<r;n++){var i=this._diffs[n].entries;if(t<=i[i.length-1].modifiedLineEnd)return n}return 0},t.prototype._render=function(){var e=this._diffEditor.getOriginalEditor().getConfiguration(),n=this._diffEditor.getModifiedEditor().getConfiguration(),r=this._diffEditor.getOriginalEditor().getModel(),i=this._diffEditor.getModifiedEditor().getModel(),o=r.getOptions(),s=i.getOptions();if(!this._isVisible||!r||!i)return Dc(this._content.domNode),this._currentDiff=null,void this.scrollbar.scanDomNode();var a=this._diffEditor.getPosition(),u=this._findDiffIndex(a);if(this._diffs[u]!==this._currentDiff){this._currentDiff=this._diffs[u];var l=this._diffs[u].entries,c=document.createElement(\"div\");c.className=\"diff-review-table\",c.setAttribute(\"role\",\"list\"),Vp.applyFontInfoSlow(c,n.fontInfo);for(var h=0,d=0,p=0,f=0,g=0,m=l.length;g<m;g++){var v=(N=l[g]).originalLineStart,y=N.originalLineEnd,b=N.modifiedLineStart,_=N.modifiedLineEnd;0!==v&&(0===h||v<h)&&(h=v),0!==y&&(0===d||y>d)&&(d=y),0!==b&&(0===p||b<p)&&(p=b),0!==_&&(0===f||_>f)&&(f=_)}var C=document.createElement(\"div\");C.className=\"diff-review-row\";var w=document.createElement(\"div\");w.className=\"diff-review-cell diff-review-summary\";var D=d-h+1,E=f-p+1;w.appendChild(document.createTextNode(u+1+\"/\"+this._diffs.length+\": @@ -\"+h+\",\"+D+\" +\"+p+\",\"+E+\" @@\")),C.setAttribute(\"data-line\",String(p));var A=function(e){return 0===e?ns(\"no_lines\",\"no lines\"):1===e?ns(\"one_line\",\"1 line\"):ns(\"more_lines\",\"{0} lines\",e)},S=A(D),x=A(E);C.setAttribute(\"aria-label\",ns({key:\"header\",comment:[\"This is the ARIA label for a git diff header.\",\"A git diff header looks like this: @@ -154,12 +159,39 @@.\",\"That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.\",\"Variables 0 and 1 refer to the diff index out of total number of diffs.\",\"Variables 2 and 4 will be numbers (a line number).\",'Variables 3 and 5 will be \"no lines\", \"1 line\" or \"X lines\", localized separately.']},\"Difference {0} of {1}: original {2}, {3}, modified {4}, {5}\",u+1,this._diffs.length,h,S,p,x)),C.appendChild(w),C.setAttribute(\"role\",\"listitem\"),c.appendChild(C);var M=p;for(g=0,m=l.length;g<m;g++){var N=l[g];t._renderSection(c,N,M,this._width,e,r,o,n,i,s),0!==N.modifiedLineStart&&(M=N.modifiedLineEnd)}Dc(this._content.domNode),this._content.domNode.appendChild(c),this.scrollbar.scanDomNode()}},t._renderSection=function(e,t,n,r,i,o,s,a,u,l){var c=t.getType(),h=\"diff-review-row\",d=\"\",p=\"diff-review-spacer\";switch(c){case 1:h=\"diff-review-row line-insert\",d=\" char-insert\",p=\"diff-review-spacer insert-sign\";break;case 2:h=\"diff-review-row line-delete\",d=\" char-delete\",p=\"diff-review-spacer delete-sign\"}for(var f=t.originalLineStart,g=t.originalLineEnd,m=t.modifiedLineStart,v=t.modifiedLineEnd,y=Math.max(v-m,g-f),b=i.layoutInfo.glyphMarginWidth+i.layoutInfo.lineNumbersWidth,_=10+a.layoutInfo.glyphMarginWidth+a.layoutInfo.lineNumbersWidth,C=0;C<=y;C++){var w=0===f?0:f+C,D=0===m?0:m+C,E=document.createElement(\"div\");E.style.minWidth=r+\"px\",E.className=h,E.setAttribute(\"role\",\"listitem\"),0!==D&&(n=D),E.setAttribute(\"data-line\",String(n));var A=document.createElement(\"div\");A.className=\"diff-review-cell\",E.appendChild(A);var S=document.createElement(\"span\");S.style.width=b+\"px\",S.style.minWidth=b+\"px\",S.className=\"diff-review-line-number\"+d,0!==w?S.appendChild(document.createTextNode(String(w))):S.innerHTML=\"&nbsp;\",A.appendChild(S);var x=document.createElement(\"span\");x.style.width=_+\"px\",x.style.minWidth=_+\"px\",x.style.paddingRight=\"10px\",x.className=\"diff-review-line-number\"+d,0!==D?x.appendChild(document.createTextNode(String(D))):x.innerHTML=\"&nbsp;\",A.appendChild(x);var M=document.createElement(\"span\");M.className=p,M.innerHTML=\"&nbsp;&nbsp;\",A.appendChild(M);var N=void 0;0!==D?(A.insertAdjacentHTML(\"beforeend\",this._renderLine(u,a,l.tabSize,D)),N=u.getLineContent(D)):(A.insertAdjacentHTML(\"beforeend\",this._renderLine(o,i,s.tabSize,w)),N=o.getLineContent(w)),0===N.length&&(N=ns(\"blankLine\",\"blank\"));var I=void 0;switch(c){case 0:I=ns(\"equalLine\",\"original {0}, modified {1}: {2}\",w,D,N);break;case 1:I=ns(\"insertLine\",\"+ modified {0}: {1}\",D,N);break;case 2:I=ns(\"deleteLine\",\"- original {0}: {1}\",w,N)}E.setAttribute(\"aria-label\",I),e.appendChild(E)}},t._renderLine=function(e,t,n,r){var i=e.getLineContent(r),o=new Uint32Array(2);o[0]=i.length,o[1]=16793600;var s=new Go(o,i),a=od.isBasicASCII(i,e.mightContainNonBasicASCII()),u=od.containsRTL(i,a,e.mightContainRTL());return tv(new Qm(t.fontInfo.isMonospace&&!t.viewInfo.disableMonospaceOptimizations,i,a,u,0,s,[],n,t.fontInfo.spaceWidth,t.viewInfo.stopRenderingLineAfter,t.viewInfo.renderWhitespace,t.viewInfo.renderControlCharacters,t.viewInfo.fontLigatures)).html},t}(un);Vg(function(e,t){var n=e.getColor(Jg);n&&t.addRule(\".monaco-diff-editor .diff-review-line-number { color: \"+n+\"; }\");var r=e.getColor(Yf);r&&t.addRule(\".monaco-diff-editor .diff-review-shadow { box-shadow: \"+r+\" 0 -6px 6px -6px inset; }\")});var Ex=function(e){function t(){return e.call(this,{id:\"editor.action.diffReview.next\",label:ns(\"editor.action.diffReview.next\",\"Go to Next Difference\"),alias:\"Go to Next Difference\",precondition:mu.has(\"isInDiffEditor\"),kbOpts:{kbExpr:null,primary:65}})||this}return _x(t,e),t.prototype.run=function(e,t){var n=Sx(e);n&&n.diffReviewNext()},t}(qu),Ax=function(e){function t(){return e.call(this,{id:\"editor.action.diffReview.prev\",label:ns(\"editor.action.diffReview.prev\",\"Go to Previous Difference\"),alias:\"Go to Previous Difference\",precondition:mu.has(\"isInDiffEditor\"),kbOpts:{kbExpr:null,primary:1089}})||this}return _x(t,e),t.prototype.run=function(e,t){var n=Sx(e);n&&n.diffReviewPrev()},t}(qu);function Sx(e){for(var t=e.get(Wu).listDiffEditors(),n=0,r=t.length;n<r;n++){var i=t[n];if(i.hasWidgetFocus())return i}return null}$u(Ex),$u(Ax);var xx=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Mx=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Nx=function(e,t){return function(n,r){t(n,r,e)}},Ix=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter(function(e){return!t._zonesMap[String(e.id)]})},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones(function(e){for(var n=0,r=t._zones.length;n<r;n++)e.removeZone(t._zones[n])}),this._zones=[],this._zonesMap={},this._decorations=e.deltaDecorations(this._decorations,[])},e.prototype.apply=function(e,t,n,r){var i=this,o=r?cE.capture(e):null;e.changeViewZones(function(e){for(var t=0,r=i._zones.length;t<r;t++)e.removeZone(i._zones[t]);i._zones=[],i._zonesMap={};t=0;for(var o=n.zones.length;t<o;t++){n.zones[t].suppressMouseDown=!0;var s=e.addZone(n.zones[t]);i._zones.push(s),i._zonesMap[String(s)]=!0}}),o&&o.restore(e),this._decorations=e.deltaDecorations(this._decorations,n.decorations),t&&t.setZones(n.overviewZones)},e}(),Lx=0,kx=function(e){function t(n,r,i,o,s,a,u,l){var c=e.call(this)||this;c._onDidDispose=c._register(new wn),c.onDidDispose=c._onDidDispose.event,c._onDidUpdateDiff=c._register(new wn),c.onDidUpdateDiff=c._onDidUpdateDiff.event,c._lastOriginalWarning=null,c._lastModifiedWarning=null,c._editorWorkerService=i,c._codeEditorService=a,c._contextKeyService=c._register(o.createScoped(n)),c._contextKeyService.createKey(\"isInDiffEditor\",!0),c._themeService=u,c._notificationService=l,c.id=++Lx,c._domElement=n,r=r||{},c._renderSideBySide=!0,void 0!==r.renderSideBySide&&(c._renderSideBySide=r.renderSideBySide),c._ignoreTrimWhitespace=!0,void 0!==r.ignoreTrimWhitespace&&(c._ignoreTrimWhitespace=r.ignoreTrimWhitespace),c._renderIndicators=!0,void 0!==r.renderIndicators&&(c._renderIndicators=r.renderIndicators),c._originalIsEditable=!1,void 0!==r.originalEditable&&(c._originalIsEditable=Boolean(r.originalEditable)),c._updateDecorationsRunner=c._register(new Yl(function(){return c._updateDecorations()},0)),c._containerDomElement=document.createElement(\"div\"),c._containerDomElement.className=t._getClassName(c._themeService.getTheme(),c._renderSideBySide),c._containerDomElement.style.position=\"relative\",c._containerDomElement.style.height=\"100%\",c._domElement.appendChild(c._containerDomElement),c._overviewViewportDomElement=Up(document.createElement(\"div\")),c._overviewViewportDomElement.setClassName(\"diffViewport\"),c._overviewViewportDomElement.setPosition(\"absolute\"),c._overviewDomElement=document.createElement(\"div\"),c._overviewDomElement.className=\"diffOverview\",c._overviewDomElement.style.position=\"absolute\",c._overviewDomElement.appendChild(c._overviewViewportDomElement.domNode),c._register(Tc(c._overviewDomElement,\"mousedown\",function(e){c.modifiedEditor.delegateVerticalScrollbarMouseDown(e)})),c._containerDomElement.appendChild(c._overviewDomElement),c._createLeftHandSide(),c._createRightHandSide(),c._beginUpdateDecorationsTimeout=-1,c._currentlyChangingViewZones=!1,c._diffComputationToken=0,c._originalEditorState=new Ix,c._modifiedEditorState=new Ix,c._isVisible=!0,c._isHandlingScrollEvent=!1,c._width=0,c._height=0,c._reviewHeight=0,c._lineChanges=null;var h=c._contextKeyService.createScoped();h.createKey(\"isInDiffLeftEditor\",!0);var d=new Sh;d.set(Su,h);var p=s.createChild(d),f=c._contextKeyService.createScoped();f.createKey(\"isInDiffRightEditor\",!0);var g=new Sh;g.set(Su,f);var m=s.createChild(g);return c._createLeftHandSideEditor(r,p),c._createRightHandSideEditor(r,m),c._reviewPane=new Dx(c),c._containerDomElement.appendChild(c._reviewPane.domNode.domNode),c._containerDomElement.appendChild(c._reviewPane.shadow.domNode),c._containerDomElement.appendChild(c._reviewPane.actionBarContainer.domNode),r.automaticLayout&&(c._measureDomElementToken=window.setInterval(function(){return c._measureDomElement(!1)},100)),c._enableSplitViewResizing=!0,void 0!==r.enableSplitViewResizing&&(c._enableSplitViewResizing=r.enableSplitViewResizing),c._renderSideBySide?c._setStrategy(new Rx(c._createDataSource(),c._enableSplitViewResizing)):c._setStrategy(new zx(c._createDataSource(),c._enableSplitViewResizing)),c._register(u.onThemeChange(function(e){c._strategy&&c._strategy.applyColors(e)&&c._updateDecorationsRunner.schedule(),c._containerDomElement.className=t._getClassName(c._themeService.getTheme(),c._renderSideBySide)})),c._codeEditorService.addDiffEditor(c),c}return xx(t,e),Object.defineProperty(t.prototype,\"ignoreTrimWhitespace\",{get:function(){return this._ignoreTrimWhitespace},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"renderSideBySide\",{get:function(){return this._renderSideBySide},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"renderIndicators\",{get:function(){return this._renderIndicators},enumerable:!0,configurable:!0}),t.prototype.hasWidgetFocus=function(){return sh(document.activeElement,this._domElement)},t.prototype.diffReviewNext=function(){this._reviewPane.next()},t.prototype.diffReviewPrev=function(){this._reviewPane.prev()},t._getClassName=function(e,t){var n=\"monaco-diff-editor monaco-editor-background \";return t&&(n+=\"side-by-side \"),n+=jg(e.type)},t.prototype._recreateOverviewRulers=function(){this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalOverviewRuler=this.originalEditor.createOverviewRuler(\"original diffOverviewRuler\"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedOverviewRuler=this.modifiedEditor.createOverviewRuler(\"modified diffOverviewRuler\"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode()),this._layoutOverviewRulers()},t.prototype._createLeftHandSide=function(){this._originalDomNode=document.createElement(\"div\"),this._originalDomNode.className=\"editor original\",this._originalDomNode.style.position=\"absolute\",this._originalDomNode.style.height=\"100%\",this._containerDomElement.appendChild(this._originalDomNode)},t.prototype._createRightHandSide=function(){this._modifiedDomNode=document.createElement(\"div\"),this._modifiedDomNode.className=\"editor modified\",this._modifiedDomNode.style.position=\"absolute\",this._modifiedDomNode.style.height=\"100%\",this._containerDomElement.appendChild(this._modifiedDomNode)},t.prototype._createLeftHandSideEditor=function(e,t){var n=this;this.originalEditor=this._createInnerEditor(t,this._originalDomNode,this._adjustOptionsForLeftHandSide(e,this._originalIsEditable)),this._register(this.originalEditor.onDidScrollChange(function(e){n._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(n._isHandlingScrollEvent=!0,n.modifiedEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),n._isHandlingScrollEvent=!1,n._layoutOverviewViewport())})),this._register(this.originalEditor.onDidChangeViewZones(function(){n._onViewZonesChanged()})),this._register(this.originalEditor.onDidChangeModelContent(function(){n._isVisible&&n._beginUpdateDecorationsSoon()}))},t.prototype._createRightHandSideEditor=function(e,t){var n=this;this.modifiedEditor=this._createInnerEditor(t,this._modifiedDomNode,this._adjustOptionsForRightHandSide(e)),this._register(this.modifiedEditor.onDidScrollChange(function(e){n._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(n._isHandlingScrollEvent=!0,n.originalEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),n._isHandlingScrollEvent=!1,n._layoutOverviewViewport())})),this._register(this.modifiedEditor.onDidChangeViewZones(function(){n._onViewZonesChanged()})),this._register(this.modifiedEditor.onDidChangeConfiguration(function(e){e.fontInfo&&n.modifiedEditor.getModel()&&n._onViewZonesChanged()})),this._register(this.modifiedEditor.onDidChangeModelContent(function(){n._isVisible&&n._beginUpdateDecorationsSoon()}))},t.prototype._createInnerEditor=function(e,t,n){return e.createInstance(bx,t,n)},t.prototype.dispose=function(){this._codeEditorService.removeDiffEditor(this),-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),window.clearInterval(this._measureDomElementToken),this._cleanViewZonesAndDecorations(),this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose(),this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose(),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this.originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this.modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return this.getEditorType()+\":\"+this.id},t.prototype.getEditorType=function(){return _e.IDiffEditor},t.prototype.getLineChanges=function(){return this._lineChanges},t.prototype.getOriginalEditor=function(){return this.originalEditor},t.prototype.getModifiedEditor=function(){return this.modifiedEditor},t.prototype.updateOptions=function(e){var n=!1;void 0!==e.renderSideBySide&&this._renderSideBySide!==e.renderSideBySide&&(this._renderSideBySide=e.renderSideBySide,n=!0);var r=!1;void 0!==e.ignoreTrimWhitespace&&this._ignoreTrimWhitespace!==e.ignoreTrimWhitespace&&(this._ignoreTrimWhitespace=e.ignoreTrimWhitespace,r=!0),void 0!==e.renderIndicators&&this._renderIndicators!==e.renderIndicators&&(this._renderIndicators=e.renderIndicators,r=!0),r&&this._beginUpdateDecorations(),void 0!==e.originalEditable&&(this._originalIsEditable=Boolean(e.originalEditable)),this.modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(e)),this.originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(e,this._originalIsEditable)),void 0!==e.enableSplitViewResizing&&(this._enableSplitViewResizing=e.enableSplitViewResizing),this._strategy.setEnableSplitViewResizing(this._enableSplitViewResizing),n&&(this._renderSideBySide?this._setStrategy(new Rx(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new zx(this._createDataSource(),this._enableSplitViewResizing)),this._containerDomElement.className=t._getClassName(this._themeService.getTheme(),this._renderSideBySide))},t.prototype.getModel=function(){return{original:this.originalEditor.getModel(),modified:this.modifiedEditor.getModel()}},t.prototype.setModel=function(e){if(e&&(!e.original||!e.modified))throw new Error(e.original?\"DiffEditorWidget.setModel: Modified model is null\":\"DiffEditorWidget.setModel: Original model is null\");this._cleanViewZonesAndDecorations(),this.originalEditor.setModel(e?e.original:null),this.modifiedEditor.setModel(e?e.modified:null),this._updateDecorationsRunner.cancel(),e&&(this.originalEditor.setScrollTop(0),this.modifiedEditor.setScrollTop(0)),this._lineChanges=null,this._diffComputationToken++,e?(this._recreateOverviewRulers(),this._beginUpdateDecorations()):this._lineChanges=null,this._layoutOverviewViewport()},t.prototype.getDomNode=function(){return this._domElement},t.prototype.getVisibleColumnFromPosition=function(e){return this.modifiedEditor.getVisibleColumnFromPosition(e)},t.prototype.getPosition=function(){return this.modifiedEditor.getPosition()},t.prototype.setPosition=function(e){this.modifiedEditor.setPosition(e)},t.prototype.revealLine=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLine(e,t)},t.prototype.revealLineInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLineInCenter(e,t)},t.prototype.revealLineInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLineInCenterIfOutsideViewport(e,t)},t.prototype.revealPosition=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPosition(e,t)},t.prototype.revealPositionInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPositionInCenter(e,t)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e,t)},t.prototype.getSelection=function(){return this.modifiedEditor.getSelection()},t.prototype.getSelections=function(){return this.modifiedEditor.getSelections()},t.prototype.setSelection=function(e){this.modifiedEditor.setSelection(e)},t.prototype.setSelections=function(e){this.modifiedEditor.setSelections(e)},t.prototype.revealLines=function(e,t,n){void 0===n&&(n=0),this.modifiedEditor.revealLines(e,t,n)},t.prototype.revealLinesInCenter=function(e,t,n){void 0===n&&(n=0),this.modifiedEditor.revealLinesInCenter(e,t,n)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t,n){void 0===n&&(n=0),this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e,t,n)},t.prototype.revealRange=function(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=!1),void 0===r&&(r=!0),this.modifiedEditor.revealRange(e,t,n,r)},t.prototype.revealRangeInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeInCenter(e,t)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e,t)},t.prototype.revealRangeAtTop=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeAtTop(e,t)},t.prototype.getSupportedActions=function(){return this.modifiedEditor.getSupportedActions()},t.prototype.saveViewState=function(){return{original:this.originalEditor.saveViewState(),modified:this.modifiedEditor.saveViewState()}},t.prototype.restoreViewState=function(e){if(e.original&&e.original){var t=e;this.originalEditor.restoreViewState(t.original),this.modifiedEditor.restoreViewState(t.modified)}},t.prototype.layout=function(e){this._measureDomElement(!1,e)},t.prototype.focus=function(){this.modifiedEditor.focus()},t.prototype.isFocused=function(){return this.originalEditor.isFocused()||this.modifiedEditor.isFocused()},t.prototype.onVisible=function(){this._isVisible=!0,this.originalEditor.onVisible(),this.modifiedEditor.onVisible(),this._beginUpdateDecorations()},t.prototype.onHide=function(){this._isVisible=!1,this.originalEditor.onHide(),this.modifiedEditor.onHide(),this._cleanViewZonesAndDecorations()},t.prototype.trigger=function(e,t,n){this.modifiedEditor.trigger(e,t,n)},t.prototype.changeDecorations=function(e){return this.modifiedEditor.changeDecorations(e)},t.prototype._measureDomElement=function(e,t){if((t=t||{width:this._containerDomElement.clientWidth,height:this._containerDomElement.clientHeight}).width<=0)return this._width=0,this._height=0,void(this._reviewHeight=0);(e||t.width!==this._width||t.height!==this._height)&&(this._width=t.width,this._height=t.height,this._reviewHeight=this._reviewPane.isVisible()?this._height:0,this._doLayout())},t.prototype._layoutOverviewRulers=function(){var e=t.ENTIRE_DIFF_OVERVIEW_WIDTH-2*t.ONE_OVERVIEW_WIDTH;this.modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:t.ONE_OVERVIEW_WIDTH,right:e+t.ONE_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:t.ONE_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}))},t.prototype._onViewZonesChanged=function(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()},t.prototype._beginUpdateDecorationsSoon=function(){var e=this;-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout(function(){return e._beginUpdateDecorations()},t.UPDATE_DIFF_DECORATIONS_DELAY)},t._equals=function(e,t){return!e&&!t||!(!e||!t)&&e.toString()===t.toString()},t.prototype._beginUpdateDecorations=function(){var e=this;this._beginUpdateDecorationsTimeout=-1;var n=this.originalEditor.getModel(),r=this.modifiedEditor.getModel();if(n&&r){this._diffComputationToken++;var i=this._diffComputationToken;this._editorWorkerService.canComputeDiff(n.uri,r.uri)?this._editorWorkerService.computeDiff(n.uri,r.uri,this._ignoreTrimWhitespace).then(function(t){i===e._diffComputationToken&&n===e.originalEditor.getModel()&&r===e.modifiedEditor.getModel()&&(e._lineChanges=t,e._updateDecorationsRunner.schedule(),e._onDidUpdateDiff.fire())},function(t){i===e._diffComputationToken&&n===e.originalEditor.getModel()&&r===e.modifiedEditor.getModel()&&(e._lineChanges=null,e._updateDecorationsRunner.schedule())}):t._equals(n.uri,this._lastOriginalWarning)&&t._equals(r.uri,this._lastModifiedWarning)||(this._lastOriginalWarning=n.uri,this._lastModifiedWarning=r.uri,this._notificationService.warn(ns(\"diff.tooLarge\",\"Cannot compare files because one file is too large.\")))}},t.prototype._cleanViewZonesAndDecorations=function(){this._originalEditorState.clean(this.originalEditor),this._modifiedEditorState.clean(this.modifiedEditor)},t.prototype._updateDecorations=function(){if(this.originalEditor.getModel()&&this.modifiedEditor.getModel()){var e=this._lineChanges||[],t=this._originalEditorState.getForeignViewZones(this.originalEditor.getWhitespaces()),n=this._modifiedEditorState.getForeignViewZones(this.modifiedEditor.getWhitespaces()),r=this._strategy.getEditorsDiffDecorations(e,this._ignoreTrimWhitespace,this._renderIndicators,t,n,this.originalEditor,this.modifiedEditor);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this.originalEditor,this._originalOverviewRuler,r.original,!1),this._modifiedEditorState.apply(this.modifiedEditor,this._modifiedOverviewRuler,r.modified,!0)}finally{this._currentlyChangingViewZones=!1}}},t.prototype._adjustOptionsForSubEditor=function(e){var t=cs(e||{});return t.inDiffEditor=!0,t.wordWrap=\"off\",t.wordWrapMinified=!1,t.automaticLayout=!1,t.scrollbar=t.scrollbar||{},t.scrollbar.vertical=\"visible\",t.folding=!1,t.codeLens=!1,t.fixedOverflowWidgets=!0,t.lineDecorationsWidth=\"2ch\",t.minimap||(t.minimap={}),t.minimap.enabled=!1,t},t.prototype._adjustOptionsForLeftHandSide=function(e,t){var n=this._adjustOptionsForSubEditor(e);return n.readOnly=!t,n.overviewRulerLanes=1,n.extraEditorClassName=\"original-in-monaco-diff-editor\",n},t.prototype._adjustOptionsForRightHandSide=function(e){var n=this._adjustOptionsForSubEditor(e);return n.revealHorizontalRightPadding=ks.viewInfo.revealHorizontalRightPadding+t.ENTIRE_DIFF_OVERVIEW_WIDTH,n.scrollbar.verticalHasArrows=!1,n.extraEditorClassName=\"modified-in-monaco-diff-editor\",n},t.prototype.doLayout=function(){this._measureDomElement(!0)},t.prototype._doLayout=function(){var e=this._strategy.layout();this._originalDomNode.style.width=e+\"px\",this._originalDomNode.style.left=\"0px\",this._modifiedDomNode.style.width=this._width-e+\"px\",this._modifiedDomNode.style.left=e+\"px\",this._overviewDomElement.style.top=\"0px\",this._overviewDomElement.style.height=this._height-this._reviewHeight+\"px\",this._overviewDomElement.style.width=t.ENTIRE_DIFF_OVERVIEW_WIDTH+\"px\",this._overviewDomElement.style.left=this._width-t.ENTIRE_DIFF_OVERVIEW_WIDTH+\"px\",this._overviewViewportDomElement.setWidth(t.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this.originalEditor.layout({width:e,height:this._height-this._reviewHeight}),this.modifiedEditor.layout({width:this._width-e-t.ENTIRE_DIFF_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(this._height-this._reviewHeight,this._width,this._reviewHeight),this._layoutOverviewViewport()},t.prototype._layoutOverviewViewport=function(){var e=this._computeOverviewViewport();e?(this._overviewViewportDomElement.setTop(e.top),this._overviewViewportDomElement.setHeight(e.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))},t.prototype._computeOverviewViewport=function(){var e=this.modifiedEditor.getLayoutInfo();if(!e)return null;var t=this.modifiedEditor.getScrollTop(),n=this.modifiedEditor.getScrollHeight(),r=Math.max(0,e.contentHeight),i=Math.max(0,r-0),o=n>0?i/n:0;return{height:Math.max(0,Math.floor(e.contentHeight*o)),top:Math.floor(t*o)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||e<t(this._lineChanges[0]))return null;for(var n=0,r=this._lineChanges.length-1;n<r;){var i=Math.floor((n+r)/2),o=t(this._lineChanges[i]),s=i+1<=r?t(this._lineChanges[i+1]):Number.MAX_VALUE;e<o?r=i-1:e>=s?n=i+1:(n=i,r=i)}return this._lineChanges[n]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),r=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,o=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=i?r+Math.min(s,o):r+o-i+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),r=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,o=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-r;return s<=o?n+Math.min(s,i):n+i-o+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=Mx([Nx(2,uE),Nx(3,Su),Nx(4,Tr),Nx(5,Wu),Nx(6,Og),Nx(7,Yb)],t)}(un),Tx=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n}return xx(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(mg)||fg).transparent(2),n=(e.getColor(vg)||gg).transparent(2),r=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,r},t.prototype.getEditorsDiffDecorations=function(e,t,n,r,i,o,s){i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),r=r.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,r,i,o,s,n),u=this._getOriginalEditorDecorations(e,t,n,o,s),l=this._getModifiedEditorDecorations(e,t,n,o,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.modified}}},t.prototype._getViewZones=function(e,t,n,r,i,o){return null},t.prototype._getOriginalEditorDecorations=function(e,t,n,r,i){return null},t.prototype._getModifiedEditorDecorations=function(e,t,n,r,i){return null},t}(un),Fx=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null},e}(),Ox=function(){function e(e,t,n){this.lineChanges=e,this.originalForeignVZ=t,this.modifiedForeignVZ=n}return e.prototype.getViewZones=function(){for(var e={original:[],modified:[]},t=0,n=0,r=0,i=0,o=0,s=0,a=function(e,t){return e.afterLineNumber-t.afterLineNumber},u=function(e,t){if(null===t.domNode&&e.length>0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},l=new Fx(this.modifiedForeignVZ),c=new Fx(this.originalForeignVZ),h=0,d=this.lineChanges.length;h<=d;h++){var p=h<d?this.lineChanges[h]:null;null!==p?(r=p.originalStartLineNumber+(p.originalEndLineNumber>0?-1:0),i=p.modifiedStartLineNumber+(p.modifiedEndLineNumber>0?-1:0),n=p.originalEndLineNumber>0?p.originalEndLineNumber-p.originalStartLineNumber+1:0,t=p.modifiedEndLineNumber>0?p.modifiedEndLineNumber-p.modifiedStartLineNumber+1:0,o=Math.max(p.originalStartLineNumber,p.originalEndLineNumber),s=Math.max(p.modifiedStartLineNumber,p.modifiedEndLineNumber)):(o=r+=1e7+n,s=i+=1e7+t);for(var f,g=[],m=[];l.current&&l.current.afterLineNumber<=s;){var v=void 0;v=l.current.afterLineNumber<=i?r-i+l.current.afterLineNumber:o,g.push({afterLineNumber:v,heightInLines:l.current.heightInLines,domNode:null}),l.advance()}for(;c.current&&c.current.afterLineNumber<=o;){v=void 0;v=c.current.afterLineNumber<=r?i-r+c.current.afterLineNumber:s,m.push({afterLineNumber:v,heightInLines:c.current.heightInLines,domNode:null}),c.advance()}if(null!==p&&Vx(p))(f=this._produceOriginalFromDiff(p,n,t))&&g.push(f);if(null!==p&&Hx(p))(f=this._produceModifiedFromDiff(p,n,t))&&m.push(f);var y=0,b=0;for(g=g.sort(a),m=m.sort(a);y<g.length&&b<m.length;){var _=g[y],C=m[b],w=_.afterLineNumber-r,D=C.afterLineNumber-i;w<D?(u(e.original,_),y++):D<w?(u(e.modified,C),b++):_.shouldNotShrink?(u(e.original,_),y++):C.shouldNotShrink?(u(e.modified,C),b++):_.heightInLines>=C.heightInLines?(_.heightInLines-=C.heightInLines,b++):(C.heightInLines-=_.heightInLines,y++)}for(;y<g.length;)u(e.original,g[y]),y++;for(;b<m.length;)u(e.modified,m[b]),b++}var E=function(e){var t;e.domNode||(e.domNode=((t=document.createElement(\"div\")).className=\"diagonal-fill\",t))};return e.original.forEach(E),e.modified.forEach(E),e},e}();function Px(e,t,n,r,i){return{range:new be(e,t,n,r),options:i}}var Bx={charDelete:Ma.register({className:\"char-delete\"}),charDeleteWholeLine:Ma.register({className:\"char-delete\",isWholeLine:!0}),charInsert:Ma.register({className:\"char-insert\"}),charInsertWholeLine:Ma.register({className:\"char-insert\",isWholeLine:!0}),lineInsert:Ma.register({className:\"line-insert\",marginClassName:\"line-insert\",isWholeLine:!0}),lineInsertWithSign:Ma.register({className:\"line-insert\",linesDecorationsClassName:\"insert-sign\",marginClassName:\"line-insert\",isWholeLine:!0}),lineDelete:Ma.register({className:\"line-delete\",marginClassName:\"line-delete\",isWholeLine:!0}),lineDeleteWithSign:Ma.register({className:\"line-delete\",linesDecorationsClassName:\"delete-sign\",marginClassName:\"line-delete\",isWholeLine:!0}),lineDeleteMargin:Ma.register({marginClassName:\"line-delete\"})},Rx=function(e){function t(t,n){var r=e.call(this,t)||this;return r._disableSash=!1===n,r._sashRatio=null,r._sashPosition=null,r._sash=r._register(new pD(r._dataSource.getContainerDomNode(),r)),r._disableSash&&r._sash.disable(),r._sash.onDidStart(function(){return r.onSashDragStart()}),r._sash.onDidChange(function(e){return r.onSashDrag(e)}),r._sash.onDidEnd(function(){return r.onSashDragEnd()}),r._sash.onDidReset(function(){return r.onSashReset()}),r}return xx(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setEnableSplitViewResizing=function(e){var t=!1===e;this._disableSash!==t&&(this._disableSash=t,this._disableSash?this._sash.disable():this._sash.enable())},t.prototype.layout=function(e){void 0===e&&(e=this._sashRatio);var n=this._dataSource.getWidth()-kx.ENTIRE_DIFF_OVERVIEW_WIDTH,r=Math.floor((e||.5)*n),i=Math.floor(.5*n);return r=this._disableSash?i:r||i,n>2*t.MINIMUM_EDITOR_WIDTH?(r<t.MINIMUM_EDITOR_WIDTH&&(r=t.MINIMUM_EDITOR_WIDTH),r>n-t.MINIMUM_EDITOR_WIDTH&&(r=n-t.MINIMUM_EDITOR_WIDTH)):r=i,this._sashPosition!==r&&(this._sashPosition=r,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-kx.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,n,r,i){return new jx(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,r,i){for(var o=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=r.getModel(),u=0,l=e.length;u<l;u++){var c=e[u];if(Hx(c)&&(s.decorations.push({range:new be(c.originalStartLineNumber,1,c.originalEndLineNumber,Number.MAX_VALUE),options:n?Bx.lineDeleteWithSign:Bx.lineDelete}),Vx(c)&&c.charChanges||s.decorations.push(Px(c.originalStartLineNumber,1,c.originalEndLineNumber,Number.MAX_VALUE,Bx.charDeleteWholeLine)),s.overviewZones.push(new Sy(c.originalStartLineNumber,c.originalEndLineNumber,o)),c.charChanges))for(var h=0,d=c.charChanges.length;h<d;h++){var p=c.charChanges[h];if(Hx(p))if(t)for(var f=p.originalStartLineNumber;f<=p.originalEndLineNumber;f++){var g=void 0,m=void 0;g=f===p.originalStartLineNumber?p.originalStartColumn:a.getLineFirstNonWhitespaceColumn(f),m=f===p.originalEndLineNumber?p.originalEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(Px(f,g,f,m,Bx.charDelete))}else s.decorations.push(Px(p.originalStartLineNumber,p.originalStartColumn,p.originalEndLineNumber,p.originalEndColumn,Bx.charDelete))}}return s},t.prototype._getModifiedEditorDecorations=function(e,t,n,r,i){for(var o=this._insertColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,l=e.length;u<l;u++){var c=e[u];if(Vx(c)&&(s.decorations.push({range:new be(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE),options:n?Bx.lineInsertWithSign:Bx.lineInsert}),Hx(c)&&c.charChanges||s.decorations.push(Px(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE,Bx.charInsertWholeLine)),s.overviewZones.push(new Sy(c.modifiedStartLineNumber,c.modifiedEndLineNumber,o)),c.charChanges))for(var h=0,d=c.charChanges.length;h<d;h++){var p=c.charChanges[h];if(Vx(p))if(t)for(var f=p.modifiedStartLineNumber;f<=p.modifiedEndLineNumber;f++){var g=void 0,m=void 0;g=f===p.modifiedStartLineNumber?p.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(f),m=f===p.modifiedEndLineNumber?p.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(Px(f,g,f,m,Bx.charInsert))}else s.decorations.push(Px(p.modifiedStartLineNumber,p.modifiedStartColumn,p.modifiedEndLineNumber,p.modifiedEndColumn,Bx.charInsert))}}return s},t.MINIMUM_EDITOR_WIDTH=100,t}(Tx),jx=function(e){function t(t,n,r){return e.call(this,t,n,r)||this}return xx(t,e),t.prototype._produceOriginalFromDiff=function(e,t,n){return n>t?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(Ox),zx=function(e){function t(t,n){var r=e.call(this,t)||this;return r.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,r._register(t.getOriginalEditor().onDidLayoutChange(function(e){r.decorationsLeft!==e.decorationsLeft&&(r.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),r}return xx(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,r,i,o){return new Wx(e,t,n,r,i,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,r,i){for(var o=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=0,u=e.length;a<u;a++){var l=e[a];Hx(l)&&(s.decorations.push({range:new be(l.originalStartLineNumber,1,l.originalEndLineNumber,Number.MAX_VALUE),options:Bx.lineDeleteMargin}),s.overviewZones.push(new Sy(l.originalStartLineNumber,l.originalEndLineNumber,o)))}return s},t.prototype._getModifiedEditorDecorations=function(e,t,n,r,i){for(var o=this._insertColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,l=e.length;u<l;u++){var c=e[u];if(Vx(c))if(s.decorations.push({range:new be(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE),options:n?Bx.lineInsertWithSign:Bx.lineInsert}),s.overviewZones.push(new Sy(c.modifiedStartLineNumber,c.modifiedEndLineNumber,o)),c.charChanges)for(var h=0,d=c.charChanges.length;h<d;h++){var p=c.charChanges[h];if(Vx(p))if(t)for(var f=p.modifiedStartLineNumber;f<=p.modifiedEndLineNumber;f++){var g=void 0,m=void 0;g=f===p.modifiedStartLineNumber?p.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(f),m=f===p.modifiedEndLineNumber?p.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(Px(f,g,f,m,Bx.charInsert))}else s.decorations.push(Px(p.modifiedStartLineNumber,p.modifiedStartColumn,p.modifiedEndLineNumber,p.modifiedEndColumn,Bx.charInsert))}else s.decorations.push(Px(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE,Bx.charInsertWholeLine))}return s},t.prototype.layout=function(){return Math.max(5,this.decorationsLeft)},t}(Tx),Wx=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t,n,r)||this;return a.originalModel=i.getModel(),a.modifiedEditorConfiguration=o.getConfiguration(),a.modifiedEditorTabSize=o.getModel().getOptions().tabSize,a.renderIndicators=s,a}return xx(t,e),t.prototype._produceOriginalFromDiff=function(e,t,n){var r=document.createElement(\"div\");return r.className=\"inline-added-margin-view-zone\",Vp.applyFontInfoSlow(r,this.modifiedEditorConfiguration.fontInfo),{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n,domNode:document.createElement(\"div\"),marginDomNode:r}},t.prototype._produceModifiedFromDiff=function(e,t,n){var r=[];if(e.charChanges)for(var i=0,o=e.charChanges.length;i<o;i++){var s=e.charChanges[i];Hx(s)&&r.push(new sd(new be(s.originalStartLineNumber,s.originalStartColumn,s.originalEndLineNumber,s.originalEndColumn),\"char-delete\",0))}for(var a=jm(1e4),u=[],l=this.modifiedEditorConfiguration.layoutInfo.decorationsWidth,c=this.modifiedEditorConfiguration.lineHeight,h=e.originalStartLineNumber;h<=e.originalEndLineNumber;h++)if(this.renderOriginalLine(h-e.originalStartLineNumber,this.originalModel,this.modifiedEditorConfiguration,this.modifiedEditorTabSize,h,r,a),this.renderIndicators){var d=h-e.originalStartLineNumber;u=u.concat(['<div class=\"delete-sign\" style=\"position:absolute;top:'+d*c+\"px;width:\"+l+\"px;height:\"+c+'px;right:0;\"></div>'])}var p=document.createElement(\"div\");p.className=\"view-lines line-delete\",p.innerHTML=a.build(),Vp.applyFontInfoSlow(p,this.modifiedEditorConfiguration.fontInfo);var f=document.createElement(\"div\");return f.className=\"inline-deleted-margin-view-zone\",f.innerHTML=u.join(\"\"),Vp.applyFontInfoSlow(f,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,domNode:p,marginDomNode:f}},t.prototype.renderOriginalLine=function(e,t,n,r,i,o,s){var a=t.getLineContent(i),u=Hm.filter(o,i,1,a.length+1),l=new Uint32Array(2);l[0]=a.length,l[1]=16793600;var c=new Go(l,a);s.appendASCIIString('<div class=\"view-line'),0===o.length&&s.appendASCIIString(\" char-delete\"),s.appendASCIIString('\" style=\"top:'),s.appendASCIIString(String(e*n.lineHeight)),s.appendASCIIString('px;width:1000000px;\">');var h=od.isBasicASCII(a,t.mightContainNonBasicASCII()),d=od.containsRTL(a,h,t.mightContainRTL());$m(new Qm(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,a,h,d,0,c,u,r,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures),s),s.appendASCIIString(\"</div>\")},t}(Ox);function Vx(e){return e.modifiedEndLineNumber>0}function Hx(e){return e.originalEndLineNumber>0}Vg(function(e,t){var n=e.getColor(mg);n&&(t.addRule(\".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: \"+n+\"; }\"),t.addRule(\".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: \"+n+\"; }\"),t.addRule(\".monaco-editor .inline-added-margin-view-zone { background-color: \"+n+\"; }\"));var r=e.getColor(vg);r&&(t.addRule(\".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: \"+r+\"; }\"),t.addRule(\".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: \"+r+\"; }\"),t.addRule(\".monaco-editor .inline-deleted-margin-view-zone { background-color: \"+r+\"; }\"));var i=e.getColor(yg);i&&t.addRule(\".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px \"+(\"hc\"===e.type?\"dashed\":\"solid\")+\" \"+i+\"; }\");var o=e.getColor(bg);o&&t.addRule(\".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px \"+(\"hc\"===e.type?\"dashed\":\"solid\")+\" \"+o+\"; }\");var s=e.getColor(Yf);s&&t.addRule(\".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px \"+s+\"; }\")});var Ux,Yx,Zx=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Gx=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Kx=function(e,t){return function(n,r){t(n,r,e)}},qx=function(e){function t(t,n,r,i,o,s,a,u,l){var c=e.call(this,t,r.getRawConfiguration(),i,o,s,a,u,l)||this;return c._parentEditor=r,c._overwriteOptions=n,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(r.onDidChangeConfiguration(function(e){return c._onParentConfigurationChanged(e)})),c}return Zx(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){ds(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=Gx([Kx(3,Tr),Kx(4,Wu),Kx(5,Za),Kx(6,Su),Kx(7,Og),Kx(8,Yb)],t)}(bx),Qx=(function(e){function t(t,n,r,i,o,s,a,u,l){var c=e.call(this,t,r.getRawConfiguration(),i,o,s,a,u,l)||this;return c._parentEditor=r,c._overwriteOptions=n,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(r.onDidChangeConfiguration(function(e){return c._onParentConfigurationChanged(e)})),c}Zx(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){ds(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=Gx([Kx(3,uE),Kx(4,Su),Kx(5,Tr),Kx(6,Wu),Kx(7,Og),Kx(8,Yb)],t)}(kx),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}());(Yx=Ux||(Ux={})).inPeekEditor=new Au(\"inReferenceSearchEditor\",!0),Yx.notInPeekEditor=Yx.inPeekEditor.toNegated();var Xx={headerBackgroundColor:md.white,primaryHeadingColor:md.fromHex(\"#333333\"),secondaryHeadingColor:md.fromHex(\"#6c6c6cb3\")},Jx=function(e){function t(t,n){void 0===n&&(n={});var r=e.call(this,t,n)||this;return r._onDidClose=new wn,ds(r.options,Xx,!1),r}return Qx(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._onDidClose.fire(this)},Object.defineProperty(t.prototype,\"onDidClose\",{get:function(){return this._onDidClose.event},enumerable:!0,configurable:!0}),t.prototype.style=function(t){var n=this.options;t.headerBackgroundColor&&(n.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(n.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(n.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass(\"peekview-widget\"),this._headElement=Z_(\".head\").getHTMLElement(),this._bodyElement=Z_(\".body\").getHTMLElement(),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,n=Z_(\".peekview-title\").on(ph.CLICK,function(e){return t._onTitleClick(e)}).appendTo(this._headElement).getHTMLElement();this._primaryHeading=Z_(\"span.filename\").appendTo(n).getHTMLElement(),this._secondaryHeading=Z_(\"span.dirname\").appendTo(n).getHTMLElement(),this._metaHeading=Z_(\"span.meta\").appendTo(n).getHTMLElement();var r=Z_(\".peekview-actions\").appendTo(this._headElement),i=this._getActionBarOptions();this._actionbarWidget=new zC(r.getHTMLElement(),i),this._disposables.push(this._actionbarWidget),this._actionbarWidget.push(new hu(\"peekview.close\",ns(\"label.close\",\"Close\"),\"close-peekview-action\",!0,function(){return t.dispose(),null}),{label:!1,icon:!0})},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){Z_(this._primaryHeading).safeInnerHtml(e),this._primaryHeading.setAttribute(\"aria-label\",e),t?Z_(this._secondaryHeading).safeInnerHtml(t):Dc(this._secondaryHeading)},t.prototype.setMetaTitle=function(e){e?Z_(this._metaHeading).safeInnerHtml(e):Dc(this._metaHeading)},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var n=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),r=e-(n+2);this._doLayoutHead(n,t),this._doLayoutBody(r,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement.style.height=$e(\"{0}px\",e),this._headElement.style.lineHeight=this._headElement.style.height},t.prototype._doLayoutBody=function(e,t){this._bodyElement.style.height=$e(\"{0}px\",e)},t}(NE);function $x(e,t,n){return e.scheme===t.scheme&&e.authority===t.authority&&(\"file\"===e.scheme?ar(e.fsPath,t.fsPath,n):ar(e.path,t.path,n))}var eM,tM,nM,rM=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),iM=Or(\"fileService\");!function(e){e[e.Unknown=0]=\"Unknown\",e[e.File=1]=\"File\",e[e.Directory=2]=\"Directory\",e[e.SymbolicLink=64]=\"SymbolicLink\"}(eM||(eM={})),function(e){e[e.FileReadWrite=2]=\"FileReadWrite\",e[e.FileOpenReadWriteClose=4]=\"FileOpenReadWriteClose\",e[e.FileFolderCopy=8]=\"FileFolderCopy\",e[e.PathCaseSensitive=1024]=\"PathCaseSensitive\"}(tM||(tM={})),function(e){e[e.CREATE=0]=\"CREATE\",e[e.DELETE=1]=\"DELETE\",e[e.MOVE=2]=\"MOVE\",e[e.COPY=3]=\"COPY\"}(nM||(nM={}));var oM;!function(){function e(e,t,n){this._resource=e,this._operation=t,this._target=n}Object.defineProperty(e.prototype,\"resource\",{get:function(){return this._resource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"target\",{get:function(){return this._target},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"operation\",{get:function(){return this._operation},enumerable:!0,configurable:!0})}();!function(e){e[e.UPDATED=0]=\"UPDATED\",e[e.ADDED=1]=\"ADDED\",e[e.DELETED=2]=\"DELETED\"}(oM||(oM={}));!function(){function e(e){this._changes=e}Object.defineProperty(e.prototype,\"changes\",{get:function(){return this._changes},enumerable:!0,configurable:!0}),e.prototype.contains=function(e,t){return!!e&&this._changes.some(function(n){return n.type===t&&(t===oM.DELETED?$x(e,n.resource,!we.c):(r=e,i=n.resource,o=!we.c,!(r!==i)||!(!r||!i)&&(o?xt(r.toString(),i.toString()):r.toString()===i.toString())));var r,i,o})},e.prototype.getAdded=function(){return this.getOfType(oM.ADDED)},e.prototype.gotAdded=function(){return this.hasType(oM.ADDED)},e.prototype.getDeleted=function(){return this.getOfType(oM.DELETED)},e.prototype.gotDeleted=function(){return this.hasType(oM.DELETED)},e.prototype.getUpdated=function(){return this.getOfType(oM.UPDATED)},e.prototype.gotUpdated=function(){return this.hasType(oM.UPDATED)},e.prototype.getOfType=function(e){return this._changes.filter(function(t){return t.type===e})},e.prototype.hasType=function(e){return this._changes.some(function(t){return t.type===e})}}();!function(){function e(e){this._value=e}e.prototype.read=function(){var e=this._value;return this._value=null,e}}();var sM;!function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.fileOperationResult=n,i.options=r,i}rM(t,e),t.isFileOperationError=function(e){return e instanceof Error&&!Kr(e.fileOperationResult)}}(Error);!function(e){e[e.FILE_IS_BINARY=0]=\"FILE_IS_BINARY\",e[e.FILE_IS_DIRECTORY=1]=\"FILE_IS_DIRECTORY\",e[e.FILE_NOT_FOUND=2]=\"FILE_NOT_FOUND\",e[e.FILE_NOT_MODIFIED_SINCE=3]=\"FILE_NOT_MODIFIED_SINCE\",e[e.FILE_MODIFIED_SINCE=4]=\"FILE_MODIFIED_SINCE\",e[e.FILE_MOVE_CONFLICT=5]=\"FILE_MOVE_CONFLICT\",e[e.FILE_READ_ONLY=6]=\"FILE_READ_ONLY\",e[e.FILE_PERMISSION_DENIED=7]=\"FILE_PERMISSION_DENIED\",e[e.FILE_TOO_LARGE=8]=\"FILE_TOO_LARGE\",e[e.FILE_INVALID_PATH=9]=\"FILE_INVALID_PATH\",e[e.FILE_EXCEED_MEMORY_LIMIT=10]=\"FILE_EXCEED_MEMORY_LIMIT\"}(sM||(sM={}));var aM;!function(e){e[e.FILE=0]=\"FILE\",e[e.FOLDER=1]=\"FOLDER\",e[e.ROOT_FOLDER=2]=\"ROOT_FOLDER\"}(aM||(aM={}));Or(\"workspacesMainService\"),Or(\"workspacesService\");var uM=\"code-workspace\";ns(\"codeWorkspace\",\"Code Workspace\");var lM,cM=Or(\"contextService\");!function(e){e[e.EMPTY=1]=\"EMPTY\",e[e.FOLDER=2]=\"FOLDER\",e[e.WORKSPACE=3]=\"WORKSPACE\"}(lM||(lM={}));!function(){function e(e,t,n,r,i){void 0===t&&(t=\"\"),void 0===n&&(n=[]),void 0===r&&(r=null),this._id=e,this._name=t,this._configuration=r,this._ctime=i,this._foldersMap=Ze.forPaths(),this.folders=n}e.prototype.update=function(e){this._id=e.id,this._name=e.name,this._configuration=e.configuration,this._ctime=e.ctime,this.folders=e.folders},Object.defineProperty(e.prototype,\"folders\",{get:function(){return this._folders},set:function(e){this._folders=e,this.updateFoldersMap()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"ctime\",{get:function(){return this._ctime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"name\",{get:function(){return this._name},set:function(e){this._name=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"configuration\",{get:function(){return this._configuration},set:function(e){this._configuration=e},enumerable:!0,configurable:!0}),e.prototype.getFolder=function(e){return e?this._foldersMap.findSubstr(e.toString()):null},e.prototype.updateFoldersMap=function(){this._foldersMap=Ze.forPaths();for(var e=0,t=this.folders;e<t.length;e++){var n=t[e];this._foldersMap.set(n.uri.toString(),n)}},e.prototype.toJSON=function(){return{id:this.id,folders:this.folders,name:this.name,configuration:this.configuration}}}();var hM=function(){function e(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}return e.prototype.toResource=function(e){return this.uri.with({path:sr(this.uri.path,e)})},e.prototype.toJSON=function(){return{uri:this.uri,name:this.name,index:this.index}},e}();n(355),n(356);var dM={badgeBackground:md.fromHex(\"#4D4D4D\"),badgeForeground:md.fromHex(\"#FFFFFF\")},pM=function(){function e(e,t){this.options=t||Object.create(null),ds(this.options,dM,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=vh(e,bh(\".monaco-count-badge\")),this.countFormat=this.options.countFormat||\"{0}\",this.titleFormat=this.options.titleFormat||\"\",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setCountFormat=function(e){this.countFormat=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=$e(this.countFormat,this.count),this.element.title=$e(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():null,t=this.badgeForeground?this.badgeForeground.toString():null,n=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?\"1px\":null,this.element.style.borderStyle=n?\"solid\":null,this.element.style.borderColor=n}},e}();n(357);function fM(e){return et(e)}!function(){function e(e){this._container=e}Object.defineProperty(e.prototype,\"text\",{set:function(e){this._container.innerHTML=fM(e||\"\")},enumerable:!0,configurable:!0})}();var gM=function(){function e(e){this.domNode=document.createElement(\"span\"),this.domNode.className=\"monaco-highlighted-label\",this.didEverRender=!1,e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,\"element\",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){void 0===t&&(t=[]),e||(e=\"\"),this.didEverRender&&this.text===e&&ps(this.highlights,t)||(Array.isArray(t)||(t=[]),this.text=e,this.highlights=t,this.render())},e.prototype.render=function(){Dc(this.domNode);for(var e,t=[],n=0,r=0;r<this.highlights.length;r++)(e=this.highlights[r]).end!==e.start&&(n<e.start&&(t.push(\"<span>\"),t.push(fM(this.text.substring(n,e.start))),t.push(\"</span>\"),n=e.end),t.push('<span class=\"highlight\">'),t.push(fM(this.text.substring(e.start,e.end))),t.push(\"</span>\"),n=e.end);n<this.text.length&&(t.push(\"<span>\"),t.push(fM(this.text.substring(n))),t.push(\"</span>\")),this.domNode.innerHTML=t.join(\"\"),this.didEverRender=!0},e.prototype.dispose=function(){this.text=null,this.highlights=null},e}(),mM=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),vM=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,\"element\",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"textContent\",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"className\",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"title\",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute(\"title\"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"empty\",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?\"0\":null)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),yM=function(e){function t(t,n,r,i){var o=e.call(this,t)||this;return o.setFile(n,r,i),o}return mM(t,e),t.prototype.setFile=function(e,t,n){var r=$n(e.fsPath);this.setValue(LE(e),r&&\".\"!==r?IE(r,t,n):\"\",{title:e.fsPath})},t}(function(){function e(e,t){var n=this;this.domNode=new vM(vh(e,bh(\".monaco-icon-label\"))),this.labelDescriptionContainer=new vM(vh(this.domNode.element,bh(\".monaco-icon-label-description-container\"))),t&&t.supportHighlights?this.labelNode=new gM(vh(this.labelDescriptionContainer.element,bh(\"a.label-name\"))):this.labelNode=new vM(vh(this.labelDescriptionContainer.element,bh(\"a.label-name\"))),t&&t.supportDescriptionHighlights?this.descriptionNodeFactory=function(){return new gM(vh(n.labelDescriptionContainer.element,bh(\"span.label-description\")))}:this.descriptionNodeFactory=function(){return new vM(vh(n.labelDescriptionContainer.element,bh(\"span.label-description\")))}}return Object.defineProperty(e.prototype,\"element\",{get:function(){return this.domNode.element},enumerable:!0,configurable:!0}),e.prototype.onClick=function(e){return sn([kc(this.labelDescriptionContainer.element,ph.CLICK,function(t){return e(t)})])},e.prototype.setValue=function(e,t,n){var r=[\"monaco-icon-label\"];n&&(n.extraClasses&&r.push.apply(r,n.extraClasses),n.italic&&r.push(\"italic\")),this.domNode.className=r.join(\" \"),this.domNode.title=n&&n.title?n.title:\"\",this.labelNode instanceof gM?this.labelNode.set(e||\"\",n?n.matches:void 0):this.labelNode.textContent=e||\"\",(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof gM?(this.descriptionNode.set(t||\"\",n?n.descriptionMatches:void 0),n&&n.descriptionTitle?this.descriptionNode.element.title=n.descriptionTitle:this.descriptionNode.element.removeAttribute(\"title\")):(this.descriptionNode.textContent=t||\"\",this.descriptionNode.title=n&&n.descriptionTitle?n.descriptionTitle:\"\",this.descriptionNode.empty=!t))},e.prototype.dispose=function(){this.domNode.dispose(),this.labelNode.dispose(),this.descriptionNode&&this.descriptionNode.dispose()},e}()),bM=function(){function e(e,t){this._parent=e,this._range=t,this._onRefChanged=new wn,this.onRefChanged=this._onRefChanged.event,this._id=xw.nextId()}return Object.defineProperty(e.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"model\",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"parent\",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"uri\",{get:function(){return this._parent.uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"name\",{get:function(){return this._parent.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"directory\",{get:function(){return this._parent.directory},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"range\",{get:function(){return this._range},set:function(e){this._range=e,this._onRefChanged.fire(this)},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return ns(\"aria.oneReference\",\"symbol in {0} on line {1} at column {2}\",er(this.uri.fsPath),this.range.startLineNumber,this.range.startColumn)},e}(),_M=function(){function e(e){this._modelReference=e}return Object.defineProperty(e.prototype,\"_model\",{get:function(){return this._modelReference.object.textEditorModel},enumerable:!0,configurable:!0}),e.prototype.preview=function(e,t){void 0===t&&(t=8);var n=this._model;if(n){var r=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn,a=n.getWordUntilPosition({lineNumber:r,column:i-t}),u=new be(r,a.startColumn,r,i),l=new be(o,s,o,Number.MAX_VALUE);return{before:n.getValueInRange(u).replace(/^\\s+/,qe),inside:n.getValueInRange(e),after:n.getValueInRange(l).replace(/\\s+$/,qe)}}},e.prototype.dispose=function(){this._modelReference&&(this._modelReference.dispose(),this._modelReference=null)},e}(),CM=function(){function e(e,t){this._parent=e,this._uri=t,this._children=[]}return Object.defineProperty(e.prototype,\"id\",{get:function(){return this._uri.toString()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"parent\",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"children\",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"name\",{get:function(){return er(this.uri.fsPath)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"directory\",{get:function(){return $n(this.uri.fsPath)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"preview\",{get:function(){return this._preview},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"failure\",{get:function(){return this._loadFailure},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){var e=this.children.length;return 1===e?ns(\"aria.fileReferences.1\",\"1 symbol in {0}, full path {1}\",er(this.uri.fsPath),this.uri.fsPath):ns(\"aria.fileReferences.N\",\"{0} symbols in {1}, full path {2}\",e,er(this.uri.fsPath),this.uri.fsPath)},e.prototype.resolve=function(e){var t=this;return this._resolved?cn.b.as(this):e.createModelReference(this._uri).then(function(e){if(!e.object)throw e.dispose(),new Error;return t._preview=new _M(e),t._resolved=!0,t},function(e){return t._children=[],t._resolved=!0,t._loadFailure=e,t})},e.prototype.dispose=function(){this._preview&&(this._preview.dispose(),this._preview=null)},e}(),wM=function(){function e(t){var n,r=this;this._groups=[],this._references=[],this._onDidChangeReferenceRange=new wn,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._disposables=[],t.sort(e._compareReferences);for(var i=0,o=t;i<o.length;i++){var s=o[i];if(n&&n.uri.toString()===s.uri.toString()||(n=new CM(this,s.uri),this.groups.push(n)),0===n.children.length||!be.equalsRange(s.range,n.children[n.children.length-1].range)){var a=new bM(n,s.range);this._disposables.push(a.onRefChanged(function(e){return r._onDidChangeReferenceRange.fire(e)})),this._references.push(a),n.children.push(a)}}}return Object.defineProperty(e.prototype,\"empty\",{get:function(){return 0===this._groups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"references\",{get:function(){return this._references},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"groups\",{get:function(){return this._groups},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return this.empty?ns(\"aria.result.0\",\"No results found\"):1===this.references.length?ns(\"aria.result.1\",\"Found 1 symbol in {0}\",this.references[0].uri.fsPath):1===this.groups.length?ns(\"aria.result.n1\",\"Found {0} symbols in {1}\",this.references.length,this.groups[0].uri.fsPath):ns(\"aria.result.nm\",\"Found {0} symbols in {1} files\",this.references.length,this.groups.length)},e.prototype.nextOrPreviousReference=function(e,t){var n=e.parent,r=n.children.indexOf(e),i=n.children.length,o=n.parent.groups.length;return 1===o||t&&r+1<i||!t&&r>0?(r=t?(r+1)%i:(r+i-1)%i,n.children[r]):(r=n.parent.groups.indexOf(n),t?(r=(r+1)%o,n.parent.groups[r].children[0]):(r=(r+o-1)%o,n.parent.groups[r].children[n.parent.groups[r].children.length-1]))},e.prototype.nearestReference=function(e,t){var n=this._references.map(function(n,r){return{idx:r,prefixLen:It(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}}).sort(function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:e.offsetDist>t.offsetDist?1:0})[0];if(n)return this._references[n.idx]},e.prototype.dispose=function(){this._groups=on(this._groups),on(this._disposables),this._disposables.length=0},e._compareReferences=function(e,t){var n=e.uri.toString(),r=t.uri.toString();return n<r?-1:n>r?1:be.compareRangesUsingStarts(e.range,t.range)},e}(),DM=Or(\"textModelService\");function EM(e,t){var n=Object.create(null);for(var r in t){var i=t[r];\"string\"==typeof i?n[r]=e.getColor(i):\"function\"==typeof i&&(n[r]=i(e))}return n}function AM(e,t,n){function r(r){var i=EM(e.getTheme(),t);\"function\"==typeof n?n(i):n.style(i)}return r(e.getTheme()),e.onThemeChange(r)}function SM(e,t,n){return AM(t,ds(n||Object.create(null),xM,!1),e)}var xM={listFocusBackground:Lf,listFocusForeground:kf,listActiveSelectionBackground:Ig(Tf,.1),listActiveSelectionForeground:Ff,listFocusAndSelectionBackground:Tf,listFocusAndSelectionForeground:Ff,listInactiveSelectionBackground:Of,listInactiveSelectionForeground:Pf,listInactiveFocusBackground:Bf,listHoverBackground:Rf,listHoverForeground:jf,listDropBackground:zf,listFocusOutline:mf,listSelectionOutline:mf,listHoverOutline:mf};var MM,NM,IM=Or(\"environmentService\"),LM=function(){function e(e,t){this.renderer=e,this.modelProvider=t}return Object.defineProperty(e.prototype,\"templateId\",{get:function(){return this.renderer.templateId},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return{data:this.renderer.renderTemplate(e),disposable:{dispose:function(){}}}},e.prototype.renderElement=function(e,t,n){var r=this;n.disposable.dispose();var i=this.modelProvider();if(i.isResolved(e))return this.renderer.renderElement(i.get(e),e,n.data);var o=i.resolve(e);n.disposable={dispose:function(){return o.cancel()}},this.renderer.renderPlaceholder(e,n.data),o.done(function(t){return r.renderer.renderElement(t,e,n.data)})},e.prototype.disposeTemplate=function(e){e.disposable.dispose(),e.disposable=null,this.renderer.disposeTemplate(e.data),e.data=null},e}(),kM=function(){function e(e,t,n,r){void 0===r&&(r={});var i=this,o=n.map(function(e){return new LM(e,function(){return i.model})});this.list=new xC(e,t,o,r)}return e.prototype.getHTMLElement=function(){return this.list.getHTMLElement()},e.prototype.isDOMFocused=function(){return this.list.getHTMLElement()===document.activeElement},e.prototype.domFocus=function(){this.list.domFocus()},Object.defineProperty(e.prototype,\"onDidFocus\",{get:function(){return this.list.onDidFocus},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidBlur\",{get:function(){return this.list.onDidBlur},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"widget\",{get:function(){return this.list},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidDispose\",{get:function(){return this.list.onDidDispose},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onFocusChange\",{get:function(){var e=this;return xn(this.list.onFocusChange,function(t){var n=t.elements,r=t.indexes;return{elements:n.map(function(t){return e._model.get(t)}),indexes:r}})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onOpen\",{get:function(){var e=this;return xn(this.list.onOpen,function(t){var n=t.elements,r=t.indexes,i=t.browserEvent;return{elements:n.map(function(t){return e._model.get(t)}),indexes:r,browserEvent:i}})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onSelectionChange\",{get:function(){var e=this;return xn(this.list.onSelectionChange,function(t){var n=t.elements,r=t.indexes;return{elements:n.map(function(t){return e._model.get(t)}),indexes:r}})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onPin\",{get:function(){var e=this;return xn(this.list.onPin,function(t){var n=t.elements,r=t.indexes;return{elements:n.map(function(t){return e._model.get(t)}),indexes:r}})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"model\",{get:function(){return this._model},set:function(e){this._model=e,this.list.splice(0,this.list.length,Qn(e.length))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"length\",{get:function(){return this.list.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"scrollTop\",{get:function(){return this.list.scrollTop},set:function(e){this.list.scrollTop=e},enumerable:!0,configurable:!0}),e.prototype.open=function(e,t){this.list.open(e,t)},e.prototype.setFocus=function(e){this.list.setFocus(e)},e.prototype.focusNext=function(e,t){this.list.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.list.focusPrevious(e,t)},e.prototype.selectNext=function(e,t){this.list.selectNext(e,t)},e.prototype.selectPrevious=function(e,t){this.list.selectPrevious(e,t)},e.prototype.focusNextPage=function(){this.list.focusNextPage()},e.prototype.focusPreviousPage=function(){this.list.focusPreviousPage()},e.prototype.getFocus=function(){return this.list.getFocus()},e.prototype.setSelection=function(e){this.list.setSelection(e)},e.prototype.getSelection=function(){return this.list.getSelection()},e.prototype.layout=function(e){this.list.layout(e)},e.prototype.reveal=function(e,t){this.list.reveal(e,t)},e.prototype.style=function(e){this.list.style(e)},e.prototype.dispose=function(){this.list.dispose()},e}(),TM=(n(358),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}());!function(e){e[e.ON_MOUSE_DOWN=0]=\"ON_MOUSE_DOWN\",e[e.ON_MOUSE_UP=1]=\"ON_MOUSE_UP\"}(MM||(MM={})),function(e){e[e.SINGLE_CLICK=0]=\"SINGLE_CLICK\",e[e.DOUBLE_CLICK=1]=\"DOUBLE_CLICK\"}(NM||(NM={}));var FM=function(){function e(){this._arr=[]}return e.prototype.set=function(e,t){this._arr.push({keybinding:$a(e,we.a),callback:t})},e.prototype.dispatch=function(e){for(var t=this._arr.length-1;t>=0;t--){var n=this._arr[t];if(e.equals(n.keybinding))return n.callback}return null},e}(),OM=function(){function e(e){void 0===e&&(e={clickBehavior:MM.ON_MOUSE_DOWN,keyboardSupport:!0,openMode:NM.SINGLE_CLICK});var t=this;this.options=e,this.downKeyBindingDispatcher=new FM,this.upKeyBindingDispatcher=new FM,(\"boolean\"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(18,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(15,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(17,function(e,n){return t.onRight(e,n)}),we.d&&(this.downKeyBindingDispatcher.set(2064,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(300,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(302,function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(11,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(12,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(14,function(e,n){return t.onHome(e,n)}),this.downKeyBindingDispatcher.set(13,function(e,n){return t.onEnd(e,n)}),this.downKeyBindingDispatcher.set(10,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(9,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,r){if(void 0===r&&(r=\"mouse\"),this.options.clickBehavior===MM.ON_MOUSE_DOWN&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&\"input\"===n.target.tagName.toLowerCase())return!1;if(ah(n.target,\"monaco-action-bar\",\"row\"))return!1}return this.onLeftClick(e,t,n,r)}return!1},e.prototype.onClick=function(e,t,n){return we.d&&n.ctrlKey?(n.preventDefault(),n.stopPropagation(),!1):(!n.target||!n.target.tagName||\"input\"!==n.target.tagName.toLowerCase())&&((this.options.clickBehavior!==MM.ON_MOUSE_DOWN||!n.leftButton&&!n.middleButton)&&this.onLeftClick(e,t,n))},e.prototype.onLeftClick=function(e,t,n,r){void 0===r&&(r=\"mouse\");var i={origin:r,originalEvent:n},o=n,s=\"mouse\"===r&&2===o.detail;e.getInput()===t?(e.clearFocus(i),e.clearSelection(i)):(n&&o.browserEvent&&\"mousedown\"===o.browserEvent.type||n.preventDefault(),n.stopPropagation(),e.domFocus(),e.setSelection([t],i),e.setFocus(t,i),(this.openOnSingleClick||s||this.isClickOnTwistie(o))&&(e.isExpanded(t)?e.collapse(t).done(null,pn):e.expand(t).done(null,pn)));return!0},e.prototype.setOpenMode=function(e){this.options.openMode=e},Object.defineProperty(e.prototype,\"openOnSingleClick\",{get:function(){return this.options.openMode===NM.SINGLE_CLICK},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;return t&&\"content\"===t.className&&xc(t.parentElement,\"monaco-tree-row\")},e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||\"input\"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var r=n.initialTarget;return(!r||!r.tagName||\"input\"!==r.tagName.toLowerCase())&&this.onLeftClick(e,t,n,\"touch\")},e.prototype.onKeyDown=function(e,t){return this.onKey(this.downKeyBindingDispatcher,e,t)},e.prototype.onKeyUp=function(e,t){return this.onKey(this.upKeyBindingDispatcher,e,t)},e.prototype.onKey=function(e,t,n){var r=e.dispatch(n.toKeybinding());return!(!r||!r(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).done(null,pn)),!0},e.prototype.onPageUp=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n),e.reveal(e.getFocus()).done(null,pn)),!0},e.prototype.onDown=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).done(null,pn)),!0},e.prototype.onPageDown=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).done(null,pn)),!0},e.prototype.onHome=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).done(null,pn)),!0},e.prototype.onEnd=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).done(null,pn)),!0},e.prototype.onLeft=function(e,t){var n={origin:\"keyboard\",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var r=e.getFocus();e.collapse(r).then(function(t){if(r&&!t)return e.focusParent(n),e.reveal(e.getFocus())}).done(null,pn)}return!0},e.prototype.onRight=function(e,t){var n={origin:\"keyboard\",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var r=e.getFocus();e.expand(r).then(function(t){if(r&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())}).done(null,pn)}return!0},e.prototype.onEnter=function(e,t){var n={origin:\"keyboard\",originalEvent:t};if(e.getHighlight())return!1;var r=e.getFocus();return r&&e.setSelection([r],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:\"keyboard\",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}(),PM=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,r){return null},e.prototype.drop=function(e,t,n,r){},e}(),BM=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),RM=(function(){function e(){}e.prototype.compare=function(e,t,n){return 0}}(),function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}()),jM=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?\".\"+this.selectorSuffix:\"\",n=[];e.listFocusBackground&&n.push(\".monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: \"+e.listFocusBackground+\"; }\"),e.listFocusForeground&&n.push(\".monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: \"+e.listFocusForeground+\"; }\"),e.listActiveSelectionBackground&&n.push(\".monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: \"+e.listActiveSelectionBackground+\"; }\"),e.listActiveSelectionForeground&&n.push(\".monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: \"+e.listActiveSelectionForeground+\"; }\"),e.listFocusAndSelectionBackground&&n.push(\"\\n\\t\\t\\t\\t.monaco-tree-drag-image,\\n\\t\\t\\t\\t.monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: \"+e.listFocusAndSelectionBackground+\"; }\\n\\t\\t\\t\"),e.listFocusAndSelectionForeground&&n.push(\"\\n\\t\\t\\t\\t.monaco-tree-drag-image,\\n\\t\\t\\t\\t.monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: \"+e.listFocusAndSelectionForeground+\"; }\\n\\t\\t\\t\"),e.listInactiveSelectionBackground&&n.push(\".monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: \"+e.listInactiveSelectionBackground+\"; }\"),e.listInactiveSelectionForeground&&n.push(\".monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: \"+e.listInactiveSelectionForeground+\"; }\"),e.listHoverBackground&&n.push(\".monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: \"+e.listHoverBackground+\"; }\"),e.listHoverForeground&&n.push(\".monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: \"+e.listHoverForeground+\"; }\"),e.listDropBackground&&n.push(\"\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-wrapper.drop-target,\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: \"+e.listDropBackground+\" !important; color: inherit !important; }\\n\\t\\t\\t\"),e.listFocusOutline&&n.push(\"\\n\\t\\t\\t\\t.monaco-tree-drag-image\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{ border: 1px solid \"+e.listFocusOutline+\"; background: #000; }\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{ border: 1px solid transparent; }\\n\\t\\t\\t\\t.monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \\t\\t\\t\\t\\t\\t{ border: 1px dotted \"+e.listFocusOutline+\"; }\\n\\t\\t\\t\\t.monaco-tree\"+t+\".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \\t\\t\\t\\t\\t\\t{ border: 1px solid \"+e.listFocusOutline+\"; }\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted)  \\t\\t\\t\\t\\t\\t\\t{ border: 1px solid \"+e.listFocusOutline+\"; }\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)  \\t{ border: 1px dashed \"+e.listFocusOutline+\"; }\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-wrapper.drop-target,\\n\\t\\t\\t\\t.monaco-tree\"+t+\" .monaco-tree-rows > .monaco-tree-row.drop-target\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{ border: 1px dashed \"+e.listFocusOutline+\"; }\\n\\t\\t\\t\");var r=n.join(\"\\n\");r!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=r)},e}(),zM=(function(e){function t(t,n){var r=e.call(this,\"vs.tree.collapse\",ns(\"collapse\",\"Collapse\"),\"monaco-tree-action collapse-all\",n)||this;return r.viewer=t,r}TM(t,e),t.prototype.run=function(e){return this.viewer.getHighlight()?cn.b.as(null):(this.viewer.collapseAll(),this.viewer.clearSelection(),this.viewer.clearFocus(),this.viewer.domFocus(),this.viewer.focusFirst(),cn.b.as(null))}}(hu),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),WM=function(){function e(e){this._onDispose=new wn,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,\"item\",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=null)},e}(),VM=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var n,r,i=this,o=this.getLock(e);return o?new cn.b(function(r,s){n=En(o.onDispose)(function(){return i.run(e,t).then(r,s)})},function(){n.dispose()}):new cn.b(function(n,o){if(e.isDisposed())return o(new Error(\"Item is disposed.\"));var s=i.locks[e.id]=new WM(e);return r=t().then(function(t){return delete i.locks[e.id],s.dispose(),t}).then(n,o)},function(){return r.cancel()})},e.prototype.getLock=function(e){var t;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}(),HM=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new Dn,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new Dn,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new Dn,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new Dn,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new Dn,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new Dn,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new Dn,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new Dn,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new Dn,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new Dn,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new Dn,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){ou(!this.isRegistered(e.id),\"item already registered: \"+e.id);var t=sn([this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose)]);this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){ou(this.isRegistered(e.id),\"item not registered: \"+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items=null,this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}(),UM=function(){function e(e,t,n,r,i){this._onDidCreate=new wn,this.onDidCreate=this._onDidCreate.event,this._onDidReveal=new wn,this.onDidReveal=this._onDidReveal.event,this._onExpand=new wn,this.onExpand=this._onExpand.event,this._onDidExpand=new wn,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new wn,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new wn,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new wn,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new wn,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new wn,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new wn,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new wn,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new wn,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=n,this.lock=r,this.element=i,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={},this.depth=0,this.expanded=this.context.dataSource.shouldAutoexpand&&this.context.dataSource.shouldAutoexpand(this.context.tree,i),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?cn.b.as(!1):this.lock.run(this,function(){var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):cn.b.as(null)).then(function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0})}).then(function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then(function(){return!0}):t)})},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var n=cn.b.as(null);return this.forEachChild(function(e){n=n.then(function(){return e.collapse(!0)})}),n.then(function(){return t.collapse(!1)})}return!this.isExpanded()||this.lock.isLocked(this)?cn.b.as(!1):this.lock.run(this,function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),cn.b.as(!0)})},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,n,r){var i=this;if(void 0===n&&(n=!1),void 0===r&&(r=!1),!r&&!this.isExpanded())return this.needsChildrenRefresh=!0,cn.b.as(this);this.needsChildrenRefresh=!1;var o=function(){var r={item:i,isNested:n};return i._onRefreshChildren.fire(r),(i.doesHaveChildren?i.context.dataSource.getChildren(i.context.tree,i.element):cn.b.as([])).then(function(n){if(i.isDisposed()||i.registry.isDisposed())return cn.b.as(null);if(!Array.isArray(n))return cn.b.wrapError(new Error(\"Please return an array of children.\"));n=n?n.slice(0):[],n=i.sort(n);for(var r={};null!==i.firstChild;)r[i.firstChild.id]=i.firstChild,i.removeChild(i.firstChild);for(var o=0,s=n.length;o<s;o++){var a=n[o],u=i.context.dataSource.getId(i.context.tree,a),l=r[u]||new e(u,i.registry,i.context,i.lock,a);l.element=a,t&&(l.needsChildrenRefresh=t),delete r[u],i.addChild(l)}for(var c in r)r.hasOwnProperty(c)&&r[c].dispose();return t?cn.a.join(i.mapEachChild(function(e){return e.doRefresh(t,!0)})):cn.b.as(null)}).then(null,pn).then(function(){return i._onDidRefreshChildren.fire(r)})};return n?o():this.lock.run(this,o)},e.prototype.doRefresh=function(e,t){return void 0===t&&(t=!1),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.height=this._getHeight(),this.setVisible(this._isVisible()),this._onDidRefresh.fire(this),this.refreshChildren(e,t)},e.prototype.refresh=function(e){return this.doRefresh(e)},e.prototype.getNavigator=function(){return new ZM(this)},e.prototype.intersects=function(e){return this.isAncestorOf(e)||e.isAncestorOf(this)},e.prototype.getHierarchy=function(){var e=[],t=this;do{e.push(t),t=t.parent}while(t);return e.reverse(),e},e.prototype.getChildren=function(){for(var e=this.firstChild,t=[];e;)t.push(e),e=e.next;return t},e.prototype.isAncestorOf=function(e){for(;e;){if(e.id===this.id)return!0;e=e.parent}return!1},e.prototype.addChild=function(e,t){void 0===t&&(t=this.lastChild);var n=null===this.firstChild,r=null===t,i=t===this.lastChild;n?(this.firstChild=this.lastChild=e,e.next=e.previous=null):r?(this.firstChild.previous=e,e.next=this.firstChild,e.previous=null,this.firstChild=e):i?(this.lastChild.next=e,e.next=null,e.previous=this.lastChild,this.lastChild=e):(e.previous=t,e.next=t.next,t.next.previous=e,t.next=e),e.parent=this,e.depth=this.depth+1},e.prototype.removeChild=function(e){var t=this.firstChild===e,n=this.lastChild===e;t&&n?this.firstChild=this.lastChild=null:t?(e.next.previous=null,this.firstChild=e.next):n?(e.previous.next=null,this.lastChild=e.previous):(e.next.previous=e.previous,e.previous.next=e.next),e.parent=null,e.depth=null},e.prototype.forEachChild=function(e){for(var t,n=this.firstChild;n;)t=n.next,e(n),n=t},e.prototype.mapEachChild=function(e){var t=[];return this.forEachChild(function(n){t.push(e(n))}),t},e.prototype.sort=function(e){var t=this;return this.context.sorter?e.sort(function(e,n){return t.context.sorter.compare(t.context.tree,e,n)}):e},e.prototype._getHeight=function(){return this.context.renderer.getHeight(this.context.tree,this.element)},e.prototype._isVisible=function(){return this.context.filter.isVisible(this.context.tree,this.element)},e.prototype.isDisposed=function(){return this._isDisposed},e.prototype.dispose=function(){this.forEachChild(function(e){return e.dispose()}),this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this._onDidDispose.fire(this),this.registry.deregister(this),this._onDidCreate.dispose(),this._onDidReveal.dispose(),this._onExpand.dispose(),this._onDidExpand.dispose(),this._onCollapse.dispose(),this._onDidCollapse.dispose(),this._onDidAddTrait.dispose(),this._onDidRemoveTrait.dispose(),this._onDidRefresh.dispose(),this._onRefreshChildren.dispose(),this._onDidRefreshChildren.dispose(),this._onDidDispose.dispose(),this._isDisposed=!0},e}(),YM=function(e){function t(t,n,r,i,o){return e.call(this,t,n,r,i,o)||this}return zM(t,e),t.prototype.isVisible=function(){return!1},t.prototype.setVisible=function(e){},t.prototype.isExpanded=function(){return!0},t.prototype._setExpanded=function(e){},t.prototype.render=function(){},t.prototype._getHeight=function(){return 0},t.prototype._isVisible=function(){return!1},t}(UM),ZM=function(){function e(e,t){void 0===t&&(t=!0),this.item=e,this.start=t?e:null}return e.lastDescendantOf=function(t){return t?t instanceof YM?e.lastDescendantOf(t.lastChild):t.isVisible()?t.isExpanded()&&null!==t.lastChild?e.lastDescendantOf(t.lastChild):t:e.lastDescendantOf(t.previous):null},e.prototype.current=function(){return this.item||null},e.prototype.next=function(){if(this.item)do{if((this.item instanceof YM||this.item.isVisible()&&this.item.isExpanded())&&this.item.firstChild)this.item=this.item.firstChild;else if(this.item===this.start)this.item=null;else{for(;this.item&&this.item!==this.start&&!this.item.next;)this.item=this.item.parent;this.item===this.start&&(this.item=null),this.item=this.item?this.item.next:null}}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.previous=function(){if(this.item)do{var t=e.lastDescendantOf(this.item.previous);t?this.item=t:this.item.parent&&this.item.parent!==this.start&&this.item.parent.isVisible()?this.item=this.item.parent:this.item=null}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.parent=function(){if(this.item){var e=this.item.parent;e&&e!==this.start&&e.isVisible()?this.item=e:this.item=null}return this.item||null},e.prototype.first=function(){return this.item=this.start,this.next(),this.item||null},e.prototype.last=function(){return e.lastDescendantOf(this.start)},e}();function GM(e,t){for(var n=e.getHierarchy(),r=n[function(e,t,n){void 0===n&&(n=function(e,t){return e===t});for(var r=0,i=0,o=Math.min(e.length,t.length);i<o&&n(e[i],t[i]);i++)r++;return r}(n,t.getHierarchy())-1],i=r.getNavigator(),o=null,s=null,a=0,u=[];r&&(null===o||null===s);)u.push(r),r===e&&(o=a),r===t&&(s=a),a++,r=i.next();if(null===o||null===s)return[];var l=Math.min(o,s),c=Math.max(o,s);return u.slice(l,c+1)}var KM=function(){function e(e){this._onSetInput=new wn,this.onSetInput=this._onSetInput.event,this._onDidSetInput=new wn,this.onDidSetInput=this._onDidSetInput.event,this._onRefresh=new wn,this.onRefresh=this._onRefresh.event,this._onDidRefresh=new wn,this.onDidRefresh=this._onDidRefresh.event,this._onDidHighlight=new wn,this.onDidHighlight=this._onDidHighlight.event,this._onDidSelect=new wn,this.onDidSelect=this._onDidSelect.event,this._onDidFocus=new wn,this.onDidFocus=this._onDidFocus.event,this._onDidRevealItem=new On,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new On,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new On,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new On,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new On,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new On,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new On,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new On,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new On,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new On,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new On,this.onDidDisposeItem=this._onDidDisposeItem.event,this.context=e,this.input=null,this.traitsToItems={}}return e.prototype.setInput=function(e){var t=this,n={item:this.input};this._onSetInput.fire(n),this.setSelection([]),this.setFocus(),this.setHighlight(),this.lock=new VM,this.input&&this.input.dispose(),this.registry&&(this.registry.dispose(),this.registryDisposable.dispose()),this.registry=new HM,this._onDidRevealItem.input=this.registry.onDidRevealItem,this._onExpandItem.input=this.registry.onExpandItem,this._onDidExpandItem.input=this.registry.onDidExpandItem,this._onCollapseItem.input=this.registry.onCollapseItem,this._onDidCollapseItem.input=this.registry.onDidCollapseItem,this._onDidAddTraitItem.input=this.registry.onDidAddTraitItem,this._onDidRemoveTraitItem.input=this.registry.onDidRemoveTraitItem,this._onDidRefreshItem.input=this.registry.onDidRefreshItem,this._onRefreshItemChildren.input=this.registry.onRefreshItemChildren,this._onDidRefreshItemChildren.input=this.registry.onDidRefreshItemChildren,this._onDidDisposeItem.input=this.registry.onDidDisposeItem,this.registryDisposable=this.registry.onDidDisposeItem(function(e){return e.getAllTraits().forEach(function(n){return delete t.traitsToItems[n][e.id]})});var r=this.context.dataSource.getId(this.context.tree,e);return this.input=new YM(r,this.registry,this.context,this.lock,e),n={item:this.input},this._onDidSetInput.fire(n),this.refresh(this.input)},e.prototype.getInput=function(){return this.input?this.input.getElement():null},e.prototype.refresh=function(e,t){var n=this;void 0===e&&(e=null),void 0===t&&(t=!0);var r=this.getItem(e);if(!r)return cn.b.as(null);var i={item:r,recursive:t};return this._onRefresh.fire(i),r.refresh(t).then(function(){n._onDidRefresh.fire(i)})},e.prototype.expand=function(e){var t=this.getItem(e);return t?t.expand():cn.b.as(!1)},e.prototype.expandAll=function(e){if(!e){var t;e=[];for(var n=this.getNavigator();t=n.next();)e.push(t)}for(var r=[],i=0,o=e.length;i<o;i++)r.push(this.expand(e[i]));return cn.a.join(r)},e.prototype.collapse=function(e,t){void 0===t&&(t=!1);var n=this.getItem(e);return n?n.collapse(t):cn.b.as(!1)},e.prototype.collapseAll=function(e,t){void 0===e&&(e=null),void 0===t&&(t=!1),e||(e=[this.input],t=!0);for(var n=[],r=0,i=e.length;r<i;r++)n.push(this.collapse(e[r],t));return cn.a.join(n)},e.prototype.collapseDeepestExpandedLevel=function(){for(var e,t=this,n=this.findDeepestExpandedLevel(this.input,0),r=[this.input],i=0;i<n;i++)e=r.map(function(e){return e.getChildren()}),r=[].concat.apply([],e);var o=r.map(function(e){return t.collapse(e,!1)});return cn.a.join(o)},e.prototype.findDeepestExpandedLevel=function(e,t){var n=this,r=e.getChildren().filter(function(e){return e.isExpanded()});return r.length?Math.max.apply(Math,r.map(function(e){return n.findDeepestExpandedLevel(e,t+1)})):t},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.isExpanded(e)?this.collapse(e,t):this.expand(e)},e.prototype.toggleExpansionAll=function(e){for(var t=[],n=0,r=e.length;n<r;n++)t.push(this.toggleExpansion(e[n]));return cn.a.join(t)},e.prototype.isExpanded=function(e){var t=this.getItem(e);return!!t&&t.isExpanded()},e.prototype.getExpandedElements=function(){for(var e,t=[],n=this.getNavigator();e=n.next();)e.isExpanded()&&t.push(e.getElement());return t},e.prototype.reveal=function(e,t){var n=this;return void 0===t&&(t=null),this.resolveUnknownParentChain(e).then(function(e){var t=cn.b.as(null);return e.forEach(function(e){t=t.then(function(){return n.expand(e)})}),t}).then(function(){var r=n.getItem(e);if(r)return r.reveal(t)})},e.prototype.resolveUnknownParentChain=function(e){var t=this;return this.context.dataSource.getParent(this.context.tree,e).then(function(e){return e?t.resolveUnknownParentChain(e).then(function(t){return t.push(e),t}):cn.b.as([])})},e.prototype.setHighlight=function(e,t){this.setTraits(\"highlighted\",e?[e]:[]);var n={highlight:this.getHighlight(),payload:t};this._onDidHighlight.fire(n)},e.prototype.getHighlight=function(e){var t=this.getElementsWithTrait(\"highlighted\",e);return 0===t.length?null:t[0]},e.prototype.isHighlighted=function(e){var t=this.getItem(e);return!!t&&t.hasTrait(\"highlighted\")},e.prototype.select=function(e,t){this.selectAll([e],t)},e.prototype.selectRange=function(e,t,n){var r=this.getItem(e),i=this.getItem(t);r&&i&&this.selectAll(GM(r,i),n)},e.prototype.deselectRange=function(e,t,n){var r=this.getItem(e),i=this.getItem(t);r&&i&&this.deselectAll(GM(r,i),n)},e.prototype.selectAll=function(e,t){this.addTraits(\"selected\",e);var n={selection:this.getSelection(),payload:t};this._onDidSelect.fire(n)},e.prototype.deselect=function(e,t){this.deselectAll([e],t)},e.prototype.deselectAll=function(e,t){this.removeTraits(\"selected\",e);var n={selection:this.getSelection(),payload:t};this._onDidSelect.fire(n)},e.prototype.setSelection=function(e,t){this.setTraits(\"selected\",e);var n={selection:this.getSelection(),payload:t};this._onDidSelect.fire(n)},e.prototype.toggleSelection=function(e,t){this.toggleTrait(\"selected\",e);var n={selection:this.getSelection(),payload:t};this._onDidSelect.fire(n)},e.prototype.isSelected=function(e){var t=this.getItem(e);return!!t&&t.hasTrait(\"selected\")},e.prototype.getSelection=function(e){return this.getElementsWithTrait(\"selected\",e)},e.prototype.selectNext=function(e,t,n){void 0===e&&(e=1),void 0===t&&(t=!0);for(var r,i=this.getSelection(),o=i.length>0?i[0]:this.input,s=this.getNavigator(o,!1),a=0;a<e&&(r=s.next());a++)o=r;t?this.setSelection([o],n):this.select(o,n)},e.prototype.selectPrevious=function(e,t,n){void 0===e&&(e=1),void 0===t&&(t=!0);var r=this.getSelection(),i=null,o=null;if(0===r.length){for(var s=this.getNavigator(this.input);i=s.next();)o=i;i=o}else{i=r[0];s=this.getNavigator(i,!1);for(var a=0;a<e&&(o=s.previous());a++)i=o}t?this.setSelection([i],n):this.select(i,n)},e.prototype.selectParent=function(e,t){void 0===t&&(t=!0);var n=this.getSelection(),r=n.length>0?n[0]:this.input,i=this.getNavigator(r,!1).parent();i&&(t?this.setSelection([i],e):this.select(i,e))},e.prototype.setFocus=function(e,t){this.setTraits(\"focused\",e?[e]:[]);var n={focus:this.getFocus(),payload:t};this._onDidFocus.fire(n)},e.prototype.isFocused=function(e){var t=this.getItem(e);return!!t&&t.hasTrait(\"focused\")},e.prototype.getFocus=function(e){var t=this.getElementsWithTrait(\"focused\",e);return 0===t.length?null:t[0]},e.prototype.focusNext=function(e,t){void 0===e&&(e=1);for(var n,r=this.getFocus()||this.input,i=this.getNavigator(r,!1),o=0;o<e&&(n=i.next());o++)r=n;this.setFocus(r,t)},e.prototype.focusPrevious=function(e,t){void 0===e&&(e=1);for(var n,r=this.getFocus()||this.input,i=this.getNavigator(r,!1),o=0;o<e&&(n=i.previous());o++)r=n;this.setFocus(r,t)},e.prototype.focusParent=function(e){var t=this.getFocus()||this.input,n=this.getNavigator(t,!1).parent();n&&this.setFocus(n,e)},e.prototype.focusFirstChild=function(e){var t=this.getItem(this.getFocus()||this.input),n=this.getNavigator(t,!1),r=n.next();n.parent()===t&&this.setFocus(r,e)},e.prototype.focusFirst=function(e,t){this.focusNth(0,e,t)},e.prototype.focusNth=function(e,t,n){for(var r=this.getParent(n),i=this.getNavigator(r),o=i.first(),s=0;s<e;s++)o=i.next();o&&this.setFocus(o,t)},e.prototype.focusLast=function(e,t){var n,r=this.getParent(t);t?n=r.lastChild:n=this.getNavigator(r).last();n&&this.setFocus(n,e)},e.prototype.getParent=function(e){if(e){var t=this.getItem(e);if(t&&t.parent)return t.parent}return this.getItem(this.input)},e.prototype.getNavigator=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),new ZM(this.getItem(e),t)},e.prototype.getItem=function(e){return void 0===e&&(e=null),null===e?this.input:e instanceof UM?e:\"string\"==typeof e?this.registry.getItem(e):this.registry.getItem(this.context.dataSource.getId(this.context.tree,e))},e.prototype.addTraits=function(e,t){for(var n,r=this.traitsToItems[e]||{},i=0,o=t.length;i<o;i++)(n=this.getItem(t[i]))&&(n.addTrait(e),r[n.id]=n);this.traitsToItems[e]=r},e.prototype.removeTraits=function(e,t){var n,r,i=this.traitsToItems[e]||{};if(0===t.length){for(r in i)i.hasOwnProperty(r)&&(n=i[r]).removeTrait(e);delete this.traitsToItems[e]}else for(var o=0,s=t.length;o<s;o++)(n=this.getItem(t[o]))&&(n.removeTrait(e),delete i[n.id])},e.prototype.hasTrait=function(e,t){var n=this.getItem(t);return n&&n.hasTrait(e)},e.prototype.toggleTrait=function(e,t){var n=this.getItem(t);n&&(n.hasTrait(e)?this.removeTraits(e,[t]):this.addTraits(e,[t]))},e.prototype.setTraits=function(e,t){if(0===t.length)this.removeTraits(e,t);else{for(var n,r={},i=0,o=t.length;i<o;i++)(n=this.getItem(t[i]))&&(r[n.id]=n);var s,a=this.traitsToItems[e]||{},u=[];for(s in a)a.hasOwnProperty(s)&&(r.hasOwnProperty(s)?delete r[s]:u.push(a[s]));for(i=0,o=u.length;i<o;i++)(n=u[i]).removeTrait(e),delete a[n.id];for(s in r)r.hasOwnProperty(s)&&((n=r[s]).addTrait(e),a[s]=n);this.traitsToItems[e]=a}},e.prototype.getElementsWithTrait=function(e,t){var n,r=[],i=this.traitsToItems[e]||{};for(n in i)i.hasOwnProperty(n)&&(i[n].isVisible()||t)&&r.push(i[n].getElement());return r},e.prototype.dispose=function(){this.registry&&(this.registry.dispose(),this.registry=null),this._onSetInput.dispose(),this._onDidSetInput.dispose(),this._onRefresh.dispose(),this._onDidRefresh.dispose(),this._onDidHighlight.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._onDidDisposeItem.dispose()},e}(),qM=function(){function e(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();function QM(e){return{getLength:function(){return e.length},getElementHash:function(t){return e[t]}}}function XM(e,t,n){return new iN(QM(e),QM(t)).ComputeDiff(n)}var JM,$M,eN=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}(),tN=function(){function e(){}return e.Copy=function(e,t,n,r,i){for(var o=0;o<i;o++)n[r+o]=e[t+o]},e}(),nN=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new qM(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),rN=Object.prototype.hasOwnProperty,iN=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_originalIds=[],this.m_modifiedIds=[],this.m_forwardHistory=[],this.m_reverseHistory=[],this.ComputeUniqueIdentifiers()}return e.prototype.ComputeUniqueIdentifiers=function(){var e=this.OriginalSequence.getLength(),t=this.ModifiedSequence.getLength();this.m_originalIds=new Array(e),this.m_modifiedIds=new Array(t);var n,r={},i=1;for(n=0;n<e;n++){var o=this.OriginalSequence.getElementHash(n);rN.call(r,o)?this.m_originalIds[n]=r[o]:(this.m_originalIds[n]=i++,r[o]=this.m_originalIds[n])}for(n=0;n<t;n++){var s=this.ModifiedSequence.getElementHash(n);rN.call(r,s)?this.m_modifiedIds[n]=r[s]:(this.m_modifiedIds[n]=i++,r[s]=this.m_modifiedIds[n])}},e.prototype.ElementsAreEqual=function(e,t){return this.m_originalIds[e]===this.m_modifiedIds[t]},e.prototype.OriginalElementsAreEqual=function(e,t){return this.m_originalIds[e]===this.m_originalIds[t]},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.m_modifiedIds[e]===this.m_modifiedIds[t]},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,n,r,i){var o=this.ComputeDiffRecursive(e,t,n,r,[!1]);return i?this.ShiftChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){var o=void 0;return n<=r?(eN.Assert(e===t+1,\"originalStart should only be one more than originalEnd\"),o=[new qM(e,0,n,r-n+1)]):e<=t?(eN.Assert(n===r+1,\"modifiedStart should only be one more than modifiedEnd\"),o=[new qM(e,t-e+1,n,0)]):(eN.Assert(e===t+1,\"originalStart should only be one more than originalEnd\"),eN.Assert(n===r+1,\"modifiedStart should only be one more than modifiedEnd\"),o=[]),o}var s=[0],a=[0],u=this.ComputeRecursionPoint(e,t,n,r,s,a,i),l=s[0],c=a[0];if(null!==u)return u;if(!i[0]){var h=this.ComputeDiffRecursive(e,l,n,c,i),d=[];return d=i[0]?[new qM(l+1,t-(l+1)+1,c+1,r-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,r,i),this.ConcatenateChanges(h,d)}return[new qM(e,t-e+1,n,r-n+1)]},e.prototype.WALKTRACE=function(e,t,n,r,i,o,s,a,u,l,c,h,d,p,f,g,m,v){var y,b,_=null,C=new nN,w=t,D=n,E=d[0]-g[0]-r,A=Number.MIN_VALUE,S=this.m_forwardHistory.length-1;do{(b=E+e)===w||b<D&&u[b-1]<u[b+1]?(p=(c=u[b+1])-E-r,c<A&&C.MarkNextChange(),A=c,C.AddModifiedElement(c+1,p),E=b+1-e):(p=(c=u[b-1]+1)-E-r,c<A&&C.MarkNextChange(),A=c-1,C.AddOriginalElement(c,p+1),E=b-1-e),S>=0&&(e=(u=this.m_forwardHistory[S])[0],w=1,D=u.length-1)}while(--S>=-1);if(y=C.getReverseChanges(),v[0]){var x=d[0]+1,M=g[0]+1;if(null!==y&&y.length>0){var N=y[y.length-1];x=Math.max(x,N.getOriginalEnd()),M=Math.max(M,N.getModifiedEnd())}_=[new qM(x,h-x+1,M,f-M+1)]}else{C=new nN,w=o,D=s,E=d[0]-g[0]-a,A=Number.MAX_VALUE,S=m?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(b=E+i)===w||b<D&&l[b-1]>=l[b+1]?(p=(c=l[b+1]-1)-E-a,c>A&&C.MarkNextChange(),A=c+1,C.AddOriginalElement(c+1,p+1),E=b+1-i):(p=(c=l[b-1])-E-a,c>A&&C.MarkNextChange(),A=c,C.AddModifiedElement(c+1,p+1),E=b-1-i),S>=0&&(i=(l=this.m_reverseHistory[S])[0],w=1,D=l.length-1)}while(--S>=-1);_=C.getChanges()}return this.ConcatenateChanges(y,_)},e.prototype.ComputeRecursionPoint=function(e,t,n,r,i,o,s){var a,u,l,c=0,h=0,d=0,p=0;e--,n--,i[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var f,g,m=t-e+(r-n),v=m+1,y=new Array(v),b=new Array(v),_=r-n,C=t-e,w=e-n,D=t-r,E=(C-_)%2==0;for(y[_]=e,b[C]=t,s[0]=!1,l=1;l<=m/2+1;l++){var A=0,S=0;for(c=this.ClipDiagonalBound(_-l,l,_,v),h=this.ClipDiagonalBound(_+l,l,_,v),f=c;f<=h;f+=2){for(u=(a=f===c||f<h&&y[f-1]<y[f+1]?y[f+1]:y[f-1]+1)-(f-_)-w,g=a;a<t&&u<r&&this.ElementsAreEqual(a+1,u+1);)a++,u++;if(y[f]=a,a+u>A+S&&(A=a,S=u),!E&&Math.abs(f-C)<=l-1&&a>=b[f])return i[0]=a,o[0]=u,g<=b[f]&&l<=1448?this.WALKTRACE(_,c,h,w,C,d,p,D,y,b,a,t,i,u,r,o,E,s):null}var x=(A-e+(S-n)-l)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(A,this.OriginalSequence,x))return s[0]=!0,i[0]=A,o[0]=S,x>0&&l<=1448?this.WALKTRACE(_,c,h,w,C,d,p,D,y,b,a,t,i,u,r,o,E,s):[new qM(++e,t-e+1,++n,r-n+1)];for(d=this.ClipDiagonalBound(C-l,l,C,v),p=this.ClipDiagonalBound(C+l,l,C,v),f=d;f<=p;f+=2){for(u=(a=f===d||f<p&&b[f-1]>=b[f+1]?b[f+1]-1:b[f-1])-(f-C)-D,g=a;a>e&&u>n&&this.ElementsAreEqual(a,u);)a--,u--;if(b[f]=a,E&&Math.abs(f-_)<=l&&a<=y[f])return i[0]=a,o[0]=u,g>=y[f]&&l<=1448?this.WALKTRACE(_,c,h,w,C,d,p,D,y,b,a,t,i,u,r,o,E,s):null}if(l<=1447){var M=new Array(h-c+2);M[0]=_-c+1,tN.Copy(y,c,M,1,h-c+1),this.m_forwardHistory.push(M),(M=new Array(p-d+2))[0]=C-d+1,tN.Copy(b,d,M,1,p-d+1),this.m_reverseHistory.push(M)}}return this.WALKTRACE(_,c,h,w,C,d,p,D,y,b,a,t,i,u,r,o,E,s)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var n=0;n<e.length;n++)for(var r=e[n],i=n<e.length-1?e[n+1].originalStart:this.OriginalSequence.getLength(),o=n<e.length-1?e[n+1].modifiedStart:this.ModifiedSequence.getLength(),s=r.originalLength>0,a=r.modifiedLength>0;r.originalStart+r.originalLength<i&&r.modifiedStart+r.modifiedLength<o&&(!s||this.OriginalElementsAreEqual(r.originalStart,r.originalStart+r.originalLength))&&(!a||this.ModifiedElementsAreEqual(r.modifiedStart,r.modifiedStart+r.modifiedLength));)r.originalStart++,r.modifiedStart++;var u=new Array,l=[null];for(n=0;n<e.length;n++)n<e.length-1&&this.ChangesOverlap(e[n],e[n+1],l)?(t=!0,u.push(l[0]),n++):u.push(e[n]);e=u}while(t);for(n=e.length-1;n>=0;n--){r=e[n],i=0,o=0;if(n>0){var c=e[n-1];c.originalLength>0&&(i=c.originalStart+c.originalLength),c.modifiedLength>0&&(o=c.modifiedStart+c.modifiedLength)}s=r.originalLength>0,a=r.modifiedLength>0;for(var h=0,d=this._boundaryScore(r.originalStart,r.originalLength,r.modifiedStart,r.modifiedLength),p=1;;p++){var f=r.originalStart-p,g=r.modifiedStart-p;if(f<i||g<o)break;if(s&&!this.OriginalElementsAreEqual(f,f+r.originalLength))break;if(a&&!this.ModifiedElementsAreEqual(g,g+r.modifiedLength))break;var m=this._boundaryScore(f,r.originalLength,g,r.modifiedLength);m>d&&(d=m,h=p)}r.originalStart-=h,r.modifiedStart-=h}return e},e.prototype._OriginalIsBoundary=function(e){return e<=0||e>=this.OriginalSequence.getLength()-1||/^\\s*$/.test(this.OriginalSequence.getElementHash(e))},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){return e<=0||e>=this.ModifiedSequence.getLength()-1||/^\\s*$/.test(this.ModifiedSequence.getElementHash(e))},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[],r=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(r=new Array(e.length+t.length-1),tN.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],tN.Copy(t,1,r,e.length,t.length-1),r):(r=new Array(e.length+t.length),tN.Copy(e,0,r,0,e.length),tN.Copy(t,0,r,e.length,t.length),r)},e.prototype.ChangesOverlap=function(e,t,n){if(eN.Assert(e.originalStart<=t.originalStart,\"Left change is not less than or equal to right change\"),eN.Assert(e.modifiedStart<=t.modifiedStart,\"Left change is not less than or equal to right change\"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var r=e.originalStart,i=e.originalLength,o=e.modifiedStart,s=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(s=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new qM(r,i,o,s),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e<r)return e;var i=t%2==0;return e<0?i===(n%2==0)?0:1:i===((r-n-1)%2==0)?r-1:r-2},e}(),oN=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}(),sN=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}(),aN=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){e.dataTransfer.types&&(this.types=[],Array.prototype.push.apply(this.types,e.dataTransfer.types)),e.dataTransfer.files&&(this.files=[],Array.prototype.push.apply(this.files,e.dataTransfer.files),this.files=this.files.filter(function(e){return e.size||e.type}))},e.prototype.getData=function(){return{types:this.types,files:this.files}},e}(),uN=function(){function e(){this.heightMap=[],this.indexes={}}return e.prototype.getContentHeight=function(){var e=this.heightMap[this.heightMap.length-1];return e?e.top+e.height:0},e.prototype.onInsertItems=function(e,t){var n,r,i,o,s;void 0===t&&(t=null);var a=0;if(null===t)i=0,s=0;else{if(i=this.indexes[t]+1,!(r=this.heightMap[i-1]))return void console.error(\"view item doesnt exist\");s=r.top+r.height}for(var u=this.heightMap.splice.bind(this.heightMap,i,0),l=[];n=e.next();)(r=this.createViewItem(n)).top=s+a,this.indexes[n.id]=i++,l.push(r),a+=r.height;for(u.apply(this.heightMap,l),o=i;o<this.heightMap.length;o++)(r=this.heightMap[o]).top+=a,this.indexes[r.model.id]=o;for(o=l.length-1;o>=0;o--)this.onInsertItem(l[o]);for(o=this.heightMap.length-1;o>=i;o--)this.onRefreshItem(this.heightMap[o]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,n,r,i=null,o=0;t=e.next();){if(r=this.indexes[t],!(n=this.heightMap[r]))return void console.error(\"view item doesnt exist\");o-=n.height,delete this.indexes[t],this.onRemoveItem(n),null===i&&(i=r)}if(0!==o)for(this.heightMap.splice(i,r-i+1),r=i;r<this.heightMap.length;r++)(n=this.heightMap[r]).top+=o,this.indexes[n.model.id]=r,this.onRefreshItem(n)},e.prototype.onRemoveItem=function(e){},e.prototype.onRefreshItemSet=function(e){var t=this,n=e.sort(function(e,n){return t.indexes[e.id]-t.indexes[n.id]});this.onRefreshItems(new tw(n))},e.prototype.onRefreshItems=function(e){for(var t,n,r,i,o=null,s=0;t=e.next();){for(i=this.indexes[t.id];0!==s&&null!==o&&o<i;o++)(n=this.heightMap[o]).top+=s,this.onRefreshItem(n);n=this.heightMap[i],r=t.getHeight(),n.top+=s,s+=r-n.height,n.height=r,this.onRefreshItem(n,!0),o=i+1}if(0!==s&&null!==o)for(;o<this.heightMap.length;o++)(n=this.heightMap[o]).top+=s,this.onRefreshItem(n)},e.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1)},e.prototype.itemsCount=function(){return this.heightMap.length},e.prototype.itemAt=function(e){return this.heightMap[this.indexAt(e)].model.id},e.prototype.withItemsInRange=function(e,t,n){e=this.indexAt(e),t=this.indexAt(t);for(var r=e;r<=t;r++)n(this.heightMap[r].model.id)},e.prototype.indexAt=function(e){for(var t,n,r=0,i=this.heightMap.length;r<i;)if(t=Math.floor((r+i)/2),e<(n=this.heightMap[t]).top)i=t;else{if(!(e>=n.top+n.height))return t;if(r===t)break;r=t}return this.heightMap.length},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error(\"not implemented\")},e.prototype.dispose=function(){this.heightMap=null,this.indexes=null},e}(),lN=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),cN=function(){function e(e,t,n){this._posx=e,this._posy=t,this._target=n}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,\"posx\",{get:function(){return this._posx},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"posy\",{get:function(){return this._posy},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"target\",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),hN=function(e){function t(t){var n=e.call(this,t.posx,t.posy,t.target)||this;return n.originalEvent=t,n}return lN(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(cN),dN=function(e){function t(t,n,r){var i=e.call(this,t,n,r.target)||this;return i.originalEvent=r,i}return lN(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(cN);!function(e){e[e.COPY=0]=\"COPY\",e[e.MOVE=1]=\"MOVE\"}(JM||(JM={})),function(e){e[e.BUBBLE_DOWN=0]=\"BUBBLE_DOWN\",e[e.BUBBLE_UP=1]=\"BUBBLE_UP\"}($M||($M={}));$M.BUBBLE_UP,$M.BUBBLE_UP,JM.COPY,function(){function e(e,t){var n=this;this.toDispose=[],this.toDispose.push(kc(e,\"dragover\",function(){n.timeout||(n.timeout=setTimeout(function(){t(),n.timeout=null},800))})),[\"dragleave\",\"drop\",\"dragend\"].forEach(function(t){n.toDispose.push(kc(e,t,function(){n.clearDragTimeout()}))})}e.prototype.clearDragTimeout=function(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e.prototype.dispose=function(){this.toDispose=on(this.toDispose),this.clearDragTimeout()}}();var pN=\"ResourceURLs\",fN=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();var gN=function(){function e(e){this.context=e,this._cache={\"\":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement(\"div\");n.className=\"content\";var r=document.createElement(\"div\");r.appendChild(n),t={element:r,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,n)}}return t},e.prototype.release=function(e,t){!function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach(function(t){e._cache[t].forEach(function(n){e.context.renderer.disposeTemplate(e.context.tree,t,n.templateData),n.element=null,n.templateData=null}),delete e._cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}(),mN=function(){function e(e,t){var n=this;this.width=0,this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach(function(e){return n._styles[e]=!0}),t.isExpanded()&&this.addClass(\"expanded\")}return Object.defineProperty(e.prototype,\"expanded\",{set:function(e){e?this.addClass(\"expanded\"):this.removeClass(\"expanded\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"loading\",{set:function(e){e?this.addClass(\"loading\"):this.removeClass(\"loading\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"draggable\",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"dropTarget\",{set:function(e){e?this.addClass(\"drop-target\"):this.removeClass(\"drop-target\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"element\",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"templateId\",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var n=[\"monaco-tree-row\"];n.push.apply(n,Object.keys(this._styles)),this.model.hasChildren()&&n.push(\"has-children\"),this.element.className=n.join(\" \"),this.element.draggable=this.draggable,this.element.style.height=this.height+\"px\",this.element.setAttribute(\"role\",\"treeitem\");var r=this.context.accessibilityProvider,i=r.getAriaLabel(this.context.tree,this.model.getElement());if(i&&this.element.setAttribute(\"aria-label\",i),r.getPosInSet&&r.getSetSize&&(this.element.setAttribute(\"aria-setsize\",r.getSetSize()),this.element.setAttribute(\"aria-posinset\",r.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait(\"focused\")){var o=Jt(this.model.id);this.element.setAttribute(\"aria-selected\",\"true\"),this.element.setAttribute(\"id\",o)}else this.element.setAttribute(\"aria-selected\",\"false\"),this.element.removeAttribute(\"id\");this.model.hasChildren()?this.element.setAttribute(\"aria-expanded\",String(!!this.model.isExpanded())):this.element.removeAttribute(\"aria-expanded\"),this.element.setAttribute(\"aria-level\",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+\"px\":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+\"px\",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+\"px\");var s=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(s!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),s?(this.uri=s,this.draggable=!0,this.unbindDragStart=kc(this.element,\"dragstart\",function(e){t.onDragStart(e)})):this.uri=null),!e&&this.element){var a=window.getComputedStyle(this.element),u=parseFloat(a.paddingLeft);this.context.horizontalScrolling&&(this.element.style.width=\"fit-content\"),this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData),this.context.horizontalScrolling&&(this.width=rh(this.element)+u,this.element.style.width=\"\")}}},e.prototype.updateWidth=function(){if(this.context.horizontalScrolling&&this.element){var e=window.getComputedStyle(this.element),t=parseFloat(e.paddingLeft);this.element.style.width=\"fit-content\",this.width=rh(this.element)+t,this.element.style.width=\"\"}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[yN.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn(\"Failed to locate previous tree element\"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),this.uri=null,this.element[yN.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}(),vN=function(e){function t(t,n,r){var i=e.call(this,t,n)||this;return i.row={element:r,templateData:null,templateId:null},i}return fN(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=[\"monaco-tree-wrapper\"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push(\"has-children\"),this.element.className=e.join(\" \")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(mN);var yN=function(e){function t(n,r){var i=e.call(this)||this;i.lastClickTimeStamp=0,i.contentWidthUpdateDelayer=new Rl(50),i.isRefreshing=!1,i.refreshingPreviousChildrenIds={},i._onDOMFocus=new wn,i._onDOMBlur=new wn,t.counter++,i.instance=t.counter;var o=void 0===n.options.horizontalScrollMode?rs.Hidden:n.options.horizontalScrollMode;i.horizontalScrolling=o!==rs.Hidden,i.context={dataSource:n.dataSource,renderer:n.renderer,controller:n.controller,dnd:n.dnd,filter:n.filter,sorter:n.sorter,tree:n.tree,accessibilityProvider:n.accessibilityProvider,options:n.options,cache:new gN(n),horizontalScrolling:i.horizontalScrolling},i.modelListeners=[],i.viewListeners=[],i.model=null,i.items={},i.domNode=document.createElement(\"div\"),i.domNode.className=\"monaco-tree no-focused-item monaco-tree-instance-\"+i.instance,i.domNode.tabIndex=n.options.preventRootFocus?-1:0,i.styleElement=uh(i.domNode),i.treeStyler=n.styler,i.treeStyler||(i.treeStyler=new jM(i.styleElement,\"monaco-tree-instance-\"+i.instance)),i.domNode.setAttribute(\"role\",\"tree\"),i.context.options.ariaLabel&&i.domNode.setAttribute(\"aria-label\",i.context.options.ariaLabel),i.context.options.alwaysFocused&&Mc(i.domNode,\"focused\"),i.context.options.paddingOnRow||Mc(i.domNode,\"no-row-padding\"),i.wrapper=document.createElement(\"div\"),i.wrapper.className=\"monaco-tree-wrapper\",i.scrollableElement=new vb(i.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:o,vertical:void 0!==n.options.verticalScrollMode?n.options.verticalScrollMode:rs.Auto,useShadows:n.options.useShadows}),i.scrollableElement.onScroll(function(e){i.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth)}),Xl?(i.wrapper.style.msTouchAction=\"none\",i.wrapper.style.msContentZooming=\"none\"):Im.addTarget(i.wrapper),i.rowsContainer=document.createElement(\"div\"),i.rowsContainer.className=\"monaco-tree-rows\",n.options.showTwistie&&(i.rowsContainer.className+=\" show-twisties\");var s=mh(i.domNode);return i.viewListeners.push(s.onDidFocus(function(){return i.onFocus()})),i.viewListeners.push(s.onDidBlur(function(){return i.onBlur()})),i.viewListeners.push(s),i.viewListeners.push(kc(i.domNode,\"keydown\",function(e){return i.onKeyDown(e)})),i.viewListeners.push(kc(i.domNode,\"keyup\",function(e){return i.onKeyUp(e)})),i.viewListeners.push(kc(i.domNode,\"mousedown\",function(e){return i.onMouseDown(e)})),i.viewListeners.push(kc(i.domNode,\"mouseup\",function(e){return i.onMouseUp(e)})),i.viewListeners.push(kc(i.wrapper,\"click\",function(e){return i.onClick(e)})),i.viewListeners.push(kc(i.wrapper,\"auxclick\",function(e){return i.onClick(e)})),i.viewListeners.push(kc(i.domNode,\"contextmenu\",function(e){return i.onContextMenu(e)})),i.viewListeners.push(kc(i.wrapper,Mm.Tap,function(e){return i.onTap(e)})),i.viewListeners.push(kc(i.wrapper,Mm.Change,function(e){return i.onTouchChange(e)})),Xl&&(i.viewListeners.push(kc(i.wrapper,\"MSPointerDown\",function(e){return i.onMsPointerDown(e)})),i.viewListeners.push(kc(i.wrapper,\"MSGestureTap\",function(e){return i.onMsGestureTap(e)})),i.viewListeners.push(Gc(i.wrapper,\"MSGestureChange\",function(e){return i.onThrottledMsGestureChange(e)},function(e,t){t.stopPropagation(),t.preventDefault();var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}))),i.viewListeners.push(kc(window,\"dragover\",function(e){return i.onDragOver(e)})),i.viewListeners.push(kc(i.wrapper,\"drop\",function(e){return i.onDrop(e)})),i.viewListeners.push(kc(window,\"dragend\",function(e){return i.onDragEnd(e)})),i.viewListeners.push(kc(window,\"dragleave\",function(e){return i.onDragOver(e)})),i.wrapper.appendChild(i.rowsContainer),i.domNode.appendChild(i.scrollableElement.getDomNode()),r.appendChild(i.domNode),i.lastRenderTop=0,i.lastRenderHeight=0,i.didJustPressContextMenuKey=!1,i.currentDropTarget=null,i.currentDropTargets=[],i.shouldInvalidateDropReaction=!1,i.dragAndDropScrollInterval=null,i.dragAndDropScrollTimeout=null,i.onHiddenScrollTop=null,i.onRowsChanged(),i.layout(),i.setupMSGesture(),i.applyStyles(n.options),i}return fN(t,e),Object.defineProperty(t.prototype,\"onDOMFocus\",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"onDOMBlur\",{get:function(){return this._onDOMBlur.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new mN(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.onVisible=function(){this.scrollTop=this.onHiddenScrollTop,this.onHiddenScrollTop=null,this.setupMSGesture()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout(function(){return e.msGesture.target=e.wrapper},100))},t.prototype.onHidden=function(){this.onHiddenScrollTop=this.scrollTop},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e,t){this.isTreeVisible()&&(this.viewHeight=e||ih(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||rh(this.wrapper)))},t.prototype.render=function(e,t,n,r,i){var o,s,a=e,u=e+t,l=this.lastRenderTop+this.lastRenderHeight;for(o=this.indexAfter(u)-1,s=this.indexAt(Math.max(l,a));o>=s;o--)this.insertItemInDOM(this.itemAtIndex(o));for(o=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(u))-1,s=this.indexAt(a);o>=s;o--)this.insertItemInDOM(this.itemAtIndex(o));for(o=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(l));o<s;o++)this.removeItemFromDOM(this.itemAtIndex(o));for(o=Math.max(this.indexAfter(u),this.indexAt(this.lastRenderTop)),s=this.indexAfter(l);o<s;o++)this.removeItemFromDOM(this.itemAtIndex(o));var c=this.itemAtIndex(this.indexAt(a));c&&(this.rowsContainer.style.top=c.top-a+\"px\"),this.horizontalScrolling&&(this.rowsContainer.style.left=-n+\"px\",this.rowsContainer.style.width=Math.max(i,r)+\"px\"),this.lastRenderTop=a,this.lastRenderHeight=u-a},t.prototype.setModel=function(e){this.releaseModel(),this.model=e,this.model.onRefresh(this.onRefreshing,this,this.modelListeners),this.model.onDidRefresh(this.onRefreshed,this,this.modelListeners),this.model.onSetInput(this.onClearingInput,this,this.modelListeners),this.model.onDidSetInput(this.onSetInput,this,this.modelListeners),this.model.onDidFocus(this.onModelFocusChange,this,this.modelListeners),this.model.onRefreshItemChildren(this.onItemChildrenRefreshing,this,this.modelListeners),this.model.onDidRefreshItemChildren(this.onItemChildrenRefreshed,this,this.modelListeners),this.model.onDidRefreshItem(this.onItemRefresh,this,this.modelListeners),this.model.onExpandItem(this.onItemExpanding,this,this.modelListeners),this.model.onDidExpandItem(this.onItemExpanded,this,this.modelListeners),this.model.onCollapseItem(this.onItemCollapsing,this,this.modelListeners),this.model.onDidRevealItem(this.onItemReveal,this,this.modelListeners),this.model.onDidAddTraitItem(this.onItemAddTrait,this,this.modelListeners),this.model.onDidRemoveTraitItem(this.onItemRemoveTrait,this,this.modelListeners)},t.prototype.onRefreshing=function(){this.isRefreshing=!0},t.prototype.onRefreshed=function(){this.isRefreshing=!1,this.onRowsChanged()},t.prototype.onRowsChanged=function(e){void 0===e&&(e=this.scrollTop),this.isRefreshing||(this.scrollTop=e,this.updateScrollWidth())},t.prototype.updateScrollWidth=function(){var e=this;this.horizontalScrolling&&this.contentWidthUpdateDelayer.trigger(function(){for(var t=0,n=0,r=Object.keys(e.items);n<r.length;n++){var i=r[n];t=Math.max(t,e.items[i].width)}e.scrollWidth=t+10})},t.prototype.focusNextPage=function(e){var t=this,n=this.indexAt(this.scrollTop+this.viewHeight);n=0===n?0:n-1;var r=this.itemAtIndex(n).model.getElement();if(this.model.getFocus()!==r)this.model.setFocus(r,e);else{var i=this.scrollTop;this.scrollTop+=this.viewHeight,this.scrollTop!==i&&setTimeout(function(){t.focusNextPage(e)},0)}},t.prototype.focusPreviousPage=function(e){var t,n=this;t=0===this.scrollTop?this.indexAt(this.scrollTop):this.indexAfter(this.scrollTop-1);var r=this.itemAtIndex(t).model.getElement();if(this.model.getFocus()!==r)this.model.setFocus(r,e);else{var i=this.scrollTop;this.scrollTop-=this.viewHeight,this.scrollTop!==i&&setTimeout(function(){n.focusPreviousPage(e)},0)}},Object.defineProperty(t.prototype,\"viewHeight\",{get:function(){return this.scrollableElement.getScrollDimensions().height},set:function(e){this.scrollableElement.setScrollDimensions({height:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"scrollHeight\",{set:function(e){this.scrollableElement.setScrollDimensions({scrollHeight:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"viewWidth\",{get:function(){return this.scrollableElement.getScrollDimensions().width},set:function(e){this.scrollableElement.setScrollDimensions({width:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"scrollWidth\",{set:function(e){this.scrollableElement.setScrollDimensions({scrollWidth:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"scrollTop\",{get:function(){return this.scrollableElement.getScrollPosition().scrollTop},set:function(e){this.scrollableElement.setScrollDimensions({scrollHeight:this.getContentHeight()}),this.scrollableElement.setScrollPosition({scrollTop:e})},enumerable:!0,configurable:!0}),t.prototype.getScrollPosition=function(){var e=this.getContentHeight()-this.viewHeight;return e<=0?1:this.scrollTop/e},t.prototype.setScrollPosition=function(e){var t=this.getContentHeight()-this.viewHeight;this.scrollTop=t*e},t.prototype.onClearingInput=function(e){var t=e.item;t&&(this.onRemoveItems(new rw(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onSetInput=function(e){this.context.cache.garbageCollect(),this.inputItem=new vN(this.context,e.item,this.wrapper)},t.prototype.onItemChildrenRefreshing=function(e){var n=e.item,r=this.items[n.id];if(r&&(r.loadingTimer=setTimeout(function(){r.loadingTimer=0,r.loading=!0},t.LOADING_DECORATION_DELAY)),!e.isNested){for(var i,o=[],s=n.getNavigator();i=s.next();)o.push(i.id);this.refreshingPreviousChildrenIds[n.id]=o}},t.prototype.onItemChildrenRefreshed=function(e){var t=this,n=e.item,r=this.items[n.id];if(r&&(r.loadingTimer&&(clearTimeout(r.loadingTimer),r.loadingTimer=0),r.loading=!1),!e.isNested){for(var i,o=this.refreshingPreviousChildrenIds[n.id],s=[],a=n.getNavigator();i=a.next();)s.push(i);var u=Math.abs(o.length-s.length)>1e3,l=void 0,c=void 0;if(!u)c=(l=new iN({getLength:function(){return o.length},getElementHash:function(e){return o[e]}},{getLength:function(){return s.length},getElementHash:function(e){return s[e].id}},null).ComputeDiff(!1)).some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,r=e.modifiedStart+e.modifiedLength;n<r;n++)if(t.items.hasOwnProperty(s[n].id))return!0;return!1});if(!u&&!c&&l.length<50)for(var h=0,d=l.length;h<d;h++){var p=l[h];if(p.originalLength>0&&this.onRemoveItems(new tw(o,p.originalStart,p.originalStart+p.originalLength)),p.modifiedLength>0){var f=s[p.modifiedStart-1]||n;f=f.getDepth()>0?f:null,this.onInsertItems(new tw(s,p.modifiedStart,p.modifiedStart+p.modifiedLength),f?f.id:null)}}else(u||l.length)&&(this.onRemoveItems(new tw(o)),this.onInsertItems(new tw(s),n.getDepth()>0?n.id:null));(u||l.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter(function(e){return t.items.hasOwnProperty(e.id)})),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,n=this.items[t.id];if(n){n.expanded=!0;var r=this.onInsertItems(t.getNavigator(),t.id),i=this.scrollTop;n.top+n.height<=this.scrollTop&&(i+=r),this.onRowsChanged(i)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new rw(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.updateWidth=function(e){if(e&&e.isVisible()){var t=this.items[e.id];t&&(t.updateWidth(),this.updateScrollWidth())}},t.prototype.getRelativeTop=function(e){if(e&&e.isVisible()){var t=this.items[e.id];if(t)return(t.top-this.scrollTop)/(this.viewHeight-t.height)}return-1},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,r=this.items[t.id];if(r)if(null!==n){n=(n=n<0?0:n)>1?1:n;var i=r.height-this.viewHeight;this.scrollTop=i*n+r.top}else{var o=r.top+r.height,s=this.scrollTop+this.viewHeight;r.top<this.scrollTop?this.scrollTop=r.top:o>=s&&(this.scrollTop=o-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,r=this.items[t.id];r&&r.addClass(n),\"highlighted\"===n&&(Mc(this.domNode,n),r&&(this.highlightedItemWasDraggable=!!r.draggable,r.draggable&&(r.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,r=this.items[t.id];r&&r.removeClass(n),\"highlighted\"===n&&(Nc(this.domNode,n),this.highlightedItemWasDraggable&&(r.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();Ic(this.domNode,\"no-focused-item\",!e),e?this.domNode.setAttribute(\"aria-activedescendant\",Jt(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute(\"aria-activedescendant\")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||\"mouse\"===this.lastPointerType){var t=new yc(e),n=this.getItemAround(t.target);n&&(Xl&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||\"mouse\"===this.lastPointerType)){var t=new yc(e);if(!(t.ctrlKey&&we.e&&we.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseDown(this.context.tree,n.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||\"mouse\"===this.lastPointerType)){var t=new yc(e);if(!(t.ctrlKey&&we.e&&we.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseUp(this.context.tree,n.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var r,i=new hc(e);if(n=this.model.getFocus()){var o=this.context.dataSource.getId(this.context.tree,n);r=eh(this.items[o].element)}else n=this.model.getInput(),r=eh(this.inputItem.element);t=new dN(r.left+r.width,r.top,i)}else{var s=new yc(e),a=this.getItemAround(s.target);if(!a)return;n=a.model.getElement(),t=new hN(s)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new hc(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&\"input\"===t.target.tagName.toLowerCase()||this.context.controller.onKeyDown(this.context.tree,t)},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new hc(e))},t.prototype.onDragStart=function(e,n){if(!this.model.getHighlight()){var r,i=e.model.getElement(),o=this.model.getSelection();if(r=o.indexOf(i)>-1?o:[i],n.dataTransfer.effectAllowed=\"copyMove\",n.dataTransfer.setData(pN,JSON.stringify([e.uri])),n.dataTransfer.setDragImage){var s=void 0;s=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,r):String(r.length);var a=document.createElement(\"div\");a.className=\"monaco-tree-drag-image\",a.textContent=s,document.body.appendChild(a),n.dataTransfer.setDragImage(a,-10,-10),setTimeout(function(){return document.body.removeChild(a)},0)}this.currentDragAndDropData=new oN(r),t.currentExternalDragAndDropData=new sN(r),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new bc(n))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=$c(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(void 0!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,r=0,i=e.viewHeight-35;n<35?r=Math.max(-14,.2*(n-35)):n>i&&(r=Math.min(14,.2*(n-i))),e.scrollTop+=r}},10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout(function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null},1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var n,r=this,i=new bc(e),o=this.getItemAround(i.target);if(!o||0===i.posx&&0===i.posy&&i.browserEvent.type===ph.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new aN}this.currentDragAndDropData.update(i);var s,a=o.model;do{if(n=a?a.getElement():this.model.getInput(),!(s=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,n,i))||s.bubble!==$M.BUBBLE_UP)break;a=a&&a.parent}while(a);if(!a)return this.currentDropElement=null,!1;var u=s&&s.accept;u?(this.currentDropElement=a.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=s.effect===JM.COPY?\"copy\":\"move\"):this.currentDropElement=null;var l,c,h=a.id===this.inputItem.id?this.inputItem:this.items[a.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==h||(l=this.currentDropElementReaction,c=s,!(!l&&!c||l&&c&&l.accept===c.accept&&l.bubble===c.bubble&&l.effect===c.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=h,this.currentDropElementReaction=s,u)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),s.bubble===$M.BUBBLE_DOWN)for(var d,p=a.getNavigator();d=p.next();)(o=this.items[d.id])&&(o.dropTarget=!0,this.currentDropTargets.push(o));s.autoExpand&&(this.currentDropPromise=cn.b.timeout(500).then(function(){return r.context.tree.expand(r.currentDropElement)}).then(function(){return r.shouldInvalidateDropReaction=!0}))}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new bc(e);t.preventDefault(),this.currentDragAndDropData.update(t),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[]),this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,t.currentExternalDragAndDropData=null,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||Mc(this.domNode,\"focused\"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||Nc(this.domNode,\"focused\"),this.domNode.removeAttribute(\"aria-activedescendant\"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||\"mouse\")?t===(e.MSPOINTER_TYPE_TOUCH||\"touch\")&&(this.lastPointerType=\"touch\",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType=\"mouse\"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.top<this.lastRenderTop+this.lastRenderHeight&&e.top+e.height>this.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem;do{if(e[t.BINDING]&&(n=e[t.BINDING]),e===this.wrapper||e===this.domNode)return n;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=on(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.modelListeners=null,this.viewListeners=on(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.items&&(Object.keys(this.items).forEach(function(e){return t.items[e].removeFromDOM()}),this.items=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING=\"monaco-tree-row\",t.LOADING_DECORATION_DELAY=800,t.counter=0,t.currentExternalDragAndDropData=null,t}(uN),bN=function(){return function(e,t,n){if(void 0===n&&(n={}),this.tree=e,this.configuration=t,this.options=n,!t.dataSource)throw new Error(\"You must provide a Data Source to the tree.\");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new OM({clickBehavior:MM.ON_MOUSE_UP,keyboardSupport:\"boolean\"!=typeof n.keyboardSupport||n.keyboardSupport}),this.dnd=t.dnd||new PM,this.filter=t.filter||new BM,this.sorter=t.sorter||null,this.accessibilityProvider=t.accessibilityProvider||new RM,this.styler=t.styler||null}}(),_N={listFocusBackground:md.fromHex(\"#073655\"),listActiveSelectionBackground:md.fromHex(\"#0E639C\"),listActiveSelectionForeground:md.fromHex(\"#FFFFFF\"),listFocusAndSelectionBackground:md.fromHex(\"#094771\"),listFocusAndSelectionForeground:md.fromHex(\"#FFFFFF\"),listInactiveSelectionBackground:md.fromHex(\"#3F3F46\"),listHoverBackground:md.fromHex(\"#2A2D2E\"),listDropBackground:md.fromHex(\"#383B3D\")},CN=function(){function e(e,t,n){void 0===n&&(n={}),this._onDidChangeFocus=new On,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new On,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new On,this.onDidChangeHighlight=this._onHighlightChange.event,this._onDidExpandItem=new On,this.onDidExpandItem=this._onDidExpandItem.event,this._onDidCollapseItem=new On,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDispose=new wn,this.onDidDispose=this._onDispose.event,this.container=e,ds(n,_N,!1),n.twistiePixels=\"number\"==typeof n.twistiePixels?n.twistiePixels:32,n.showTwistie=!1!==n.showTwistie,n.indentPixels=\"number\"==typeof n.indentPixels?n.indentPixels:12,n.alwaysFocused=!0===n.alwaysFocused,n.useShadows=!1!==n.useShadows,n.paddingOnRow=!1!==n.paddingOnRow,this.context=new bN(this,t,n),this.model=new KM(this.context),this.view=new yN(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect,this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,\"onDidFocus\",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidBlur\",{get:function(){return this.view&&this.view.onDOMBlur},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.onVisible=function(){this.view.onVisible()},e.prototype.onHidden=function(){this.view.onHidden()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},e.prototype.updateWidth=function(e){var t=this.model.getItem(e);return this.view.updateWidth(t)},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.expandAll=function(e){return this.model.expandAll(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.collapseAll=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.model.collapseAll(e,t)},e.prototype.collapseDeepestExpandedLevel=function(){return this.model.collapseDeepestExpandedLevel()},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t)},e.prototype.toggleExpansionAll=function(e){return this.model.toggleExpansionAll(e)},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.getExpandedElements=function(){return this.model.getExpandedElements()},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getRelativeTop=function(e){var t=this.model.getItem(e);return this.view.getRelativeTop(t)},e.prototype.getScrollPosition=function(){return this.view.getScrollPosition()},e.prototype.setScrollPosition=function(e){this.view.setScrollPosition(e)},e.prototype.getContentHeight=function(){return this.view.getContentHeight()},e.prototype.setHighlight=function(e,t){this.model.setHighlight(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.isHighlighted=function(e){return this.model.isFocused(e)},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.select=function(e,t){this.model.select(e,t)},e.prototype.selectRange=function(e,t,n){this.model.selectRange(e,t,n)},e.prototype.deselectRange=function(e,t,n){this.model.deselectRange(e,t,n)},e.prototype.selectAll=function(e,t){this.model.selectAll(e,t)},e.prototype.deselect=function(e,t){this.model.deselect(e,t)},e.prototype.deselectAll=function(e,t){this.model.deselectAll(e,t)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.toggleSelection=function(e,t){this.model.toggleSelection(e,t)},e.prototype.isSelected=function(e){return this.model.isSelected(e)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.selectNext=function(e,t,n){this.model.selectNext(e,t,n)},e.prototype.selectPrevious=function(e,t,n){this.model.selectPrevious(e,t,n)},e.prototype.selectParent=function(e,t){this.model.selectParent(e,t)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.isFocused=function(e){return this.model.isFocused(e)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.addTraits=function(e,t){this.model.addTraits(e,t)},e.prototype.removeTraits=function(e,t){this.model.removeTraits(e,t)},e.prototype.toggleTrait=function(e,t){this.model.hasTrait(e,t)?this.model.removeTraits(e,[t]):this.model.addTraits(e,[t])},e.prototype.hasTrait=function(e,t){return this.model.hasTrait(e,t)},e.prototype.getNavigator=function(e,t){return new iw(this.model.getNavigator(e,t),function(e){return e&&e.getElement()})},e.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}(),wN=(new Au(\"inputFocus\",!1),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),DN=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},EN=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},AN=function(e,t){return function(n,r){t(n,r,e)}},SN=Or(\"listService\"),xN=function(){function e(e){this.lists=[],this._lastFocusedWidget=void 0}return Object.defineProperty(e.prototype,\"lastFocusedList\",{get:function(){return this._lastFocusedWidget},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this;if(this.lists.some(function(t){return t.widget===e}))throw new Error(\"Cannot register the same widget multiple times\");var r={widget:e,extraContextKeys:t};return this.lists.push(r),e.isDOMFocused()&&(this._lastFocusedWidget=e),sn([e.onDidFocus(function(){return n._lastFocusedWidget=e}),an(function(){return n.lists.splice(n.lists.indexOf(r),1)}),e.onDidDispose(function(){n.lists=n.lists.filter(function(e){return e!==r}),n._lastFocusedWidget===e&&(n._lastFocusedWidget=void 0)})])},e=EN([AN(0,Su)],e)}(),MN=new Au(\"listFocus\",!0),NN=new Au(\"listSupportsMultiselect\",!0),IN=(mu.and(MN,mu.not(\"inputFocus\")),new Au(\"listDoubleSelection\",!1)),LN=new Au(\"listMultiSelection\",!1);function kN(e,t){var n=e.createScoped(t.getHTMLElement());return(t instanceof xC||t instanceof kM)&&NN.bindTo(n),MN.bindTo(n),n}var TN=\"workbench.list.multiSelectModifier\",FN=\"workbench.list.openMode\",ON=\"workbench.tree.horizontalScrolling\";function PN(e){return\"alt\"===e.getValue(TN)}function BN(e){return\"doubleClick\"!==e.getValue(FN)}var RN,jN,zN=function(){function e(e){this.configurationService=e}return e.prototype.isSelectionSingleChangeEvent=function(e){return PN(this.configurationService)?e.browserEvent.altKey:fC(e)},e.prototype.isSelectionRangeChangeEvent=function(e){return gC(e)},e}(),WN=function(){function e(e,t){this.configurationService=e,this.existingOpenController=t}return e.prototype.shouldOpen=function(e){if(e instanceof MouseEvent){var t=2===e.detail;return!(!BN(this.configurationService)&&!t)&&((0===e.button||1===e.button)&&(!this.existingOpenController||this.existingOpenController.shouldOpen(e)))}return!this.existingOpenController||this.existingOpenController.shouldOpen(e)},e}();function VN(e,t){return!1===e.multipleSelectionSupport||e.multipleSelectionController||(e.multipleSelectionController=new zN(t)),e.openController=new WN(t,e.openController),e}function HN(){return RN||(RN=uh()),RN}function UN(e,t){return e.controller||(e.controller=t.createInstance(GN,{})),e.styler||(e.styler=new jM((jN||(jN=uh()),jN))),e}(function(e){function t(t,n,r,i,o,s,a,u){var l=e.call(this,t,n,r,DN({keyboardSupport:!1,selectOnMouseDown:!0,styleController:new _C(HN())},EM(a.getTheme(),xM),VN(i,u)))||this;return l.configurationService=u,l.contextKeyService=kN(o,l),l.listDoubleSelection=IN.bindTo(l.contextKeyService),l.listMultiSelection=LN.bindTo(l.contextKeyService),l._useAltAsMultipleSelectionModifier=PN(u),l.disposables.push(sn([l.contextKeyService,s.register(l),SM(l,a),l.onSelectionChange(function(){var e=l.getSelection();l.listMultiSelection.set(e.length>1),l.listDoubleSelection.set(2===e.length)})])),l.registerListeners(),l}wN(t,e),t.prototype.registerListeners=function(){var e=this;this.disposables.push(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(TN)&&(e._useAltAsMultipleSelectionModifier=PN(e.configurationService))}))},Object.defineProperty(t.prototype,\"useAltAsMultipleSelectionModifier\",{get:function(){return this._useAltAsMultipleSelectionModifier},enumerable:!0,configurable:!0}),t=EN([AN(4,Su),AN(5,SN),AN(6,Og),AN(7,wA)],t)})(xC),function(e){function t(t,n,r,i,o,s,a,u){var l=e.call(this,t,n,r,DN({keyboardSupport:!1,selectOnMouseDown:!0,styleController:new _C(HN())},EM(a.getTheme(),xM),VN(i,u)))||this;return l.configurationService=u,l.disposables=[],l.contextKeyService=kN(o,l),l._useAltAsMultipleSelectionModifier=PN(u),l.disposables.push(sn([l.contextKeyService,s.register(l),SM(l,a)])),l.registerListeners(),l}wN(t,e),t.prototype.registerListeners=function(){var e=this;this.disposables.push(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(TN)&&(e._useAltAsMultipleSelectionModifier=PN(e.configurationService))}))},Object.defineProperty(t.prototype,\"useAltAsMultipleSelectionModifier\",{get:function(){return this._useAltAsMultipleSelectionModifier},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.disposables=on(this.disposables)},t=EN([AN(4,Su),AN(5,SN),AN(6,Og),AN(7,wA)],t)}(kM);var YN=function(e){function t(t,n,r,i,o,s,a,u){var l=this,c=UN(n,a),h=u.getValue(ON)?rs.Auto:rs.Hidden,d=DN({horizontalScrollMode:h,keyboardSupport:!1},EM(s.getTheme(),xM),r);return(l=e.call(this,t,c,d)||this).disposables=[],l.contextKeyService=kN(i,l),l.listDoubleSelection=IN.bindTo(l.contextKeyService),l.listMultiSelection=LN.bindTo(l.contextKeyService),l._openOnSingleClick=BN(u),l._useAltAsMultipleSelectionModifier=PN(u),l.disposables.push(l.contextKeyService,o.register(l),SM(l,s)),l.disposables.push(l.onDidChangeSelection(function(){var e=l.getSelection();l.listDoubleSelection.set(e&&2===e.length),l.listMultiSelection.set(e&&e.length>1)})),l.disposables.push(u.onDidChangeConfiguration(function(e){e.affectsConfiguration(FN)&&(l._openOnSingleClick=BN(u)),e.affectsConfiguration(TN)&&(l._useAltAsMultipleSelectionModifier=PN(u))})),l}return wN(t,e),Object.defineProperty(t.prototype,\"openOnSingleClick\",{get:function(){return this._openOnSingleClick},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"useAltAsMultipleSelectionModifier\",{get:function(){return this._useAltAsMultipleSelectionModifier},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.disposables=on(this.disposables)},t=EN([AN(3,Su),AN(4,SN),AN(5,Og),AN(6,Tr),AN(7,wA)],t)}(CN);var ZN,GN=function(e){function t(t,n){var r=e.call(this,function(e){return\"boolean\"!=typeof e.keyboardSupport&&(e.keyboardSupport=!1),\"number\"!=typeof e.clickBehavior&&(e.clickBehavior=MM.ON_MOUSE_DOWN),e}(t))||this;return r.configurationService=n,r.disposables=[],Kr(t.openMode)&&(r.setOpenMode(r.getOpenModeSetting()),r.registerListeners()),r}return wN(t,e),t.prototype.registerListeners=function(){var e=this;this.disposables.push(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(FN)&&e.setOpenMode(e.getOpenModeSetting())}))},t.prototype.getOpenModeSetting=function(){return BN(this.configurationService)?NM.SINGLE_CLICK:NM.DOUBLE_CLICK},t.prototype.dispose=function(){this.disposables=on(this.disposables)},t=EN([AN(1,wA)],t)}(OM);!function(e){function t(t,n){var r=e.call(this)||this;return r.tree=t,r.options=n,r._openResource=new wn,r.openResource=r._openResource.event,r.registerListeners(),r}wN(t,e),t.prototype.registerListeners=function(){var e=this;this.options&&this.options.openOnFocus&&this._register(this.tree.onDidChangeFocus(function(t){return e.onFocus(t)})),this._register(this.tree.onDidChangeSelection(function(t){return e.onSelection(t)}))},t.prototype.onFocus=function(e){var t=e.payload,n=this.tree.getFocus();this.tree.setSelection([n],{fromFocus:!0});var r=t&&t.originalEvent,i=t&&\"mouse\"===t.origin,o=i&&r&&2===r.detail;t&&t.preventOpenOnFocus||i&&!this.tree.openOnSingleClick&&!o||this._openResource.fire({editorOptions:{preserveFocus:!0,pinned:!1,revealIfVisible:!0},sideBySide:!1,element:n,payload:t})},t.prototype.onSelection=function(e){var t=e.payload;if(!t||!t.fromFocus){var n=t&&t.originalEvent,r=t&&\"mouse\"===t.origin,i=r&&n&&2===n.detail;if(!r||this.tree.openOnSingleClick||i){i&&n&&n.preventDefault();var o=t&&\"keyboard\"===t.origin,s=n&&(n.ctrlKey||n.metaKey||n.altKey),a=!(o&&(!t||!t.preserveFocus)||i||t&&t.focusEditor);this._openResource.fire({editorOptions:{preserveFocus:a,pinned:i,revealIfVisible:!0},sideBySide:s,element:this.tree.getSelection()[0],payload:t})}}}}(un);su.as(tp.Configuration).registerConfiguration({id:\"workbench\",order:7,title:ns(\"workbenchConfigurationTitle\",\"Workbench\"),type:\"object\",properties:(ZN={},ZN[TN]={type:\"string\",enum:[\"ctrlCmd\",\"alt\"],enumDescriptions:[ns(\"multiSelectModifier.ctrlCmd\",\"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),ns(\"multiSelectModifier.alt\",\"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")],default:\"ctrlCmd\",description:ns({key:\"multiSelectModifier\",comment:[\"- `ctrlCmd` refers to a value the setting can take and should not be localized.\",\"- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.\"]},\"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). `ctrlCmd` maps to `Control` on Windows and Linux and to `Command` on macOS. The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.\")},ZN[FN]={type:\"string\",enum:[\"singleClick\",\"doubleClick\"],enumDescriptions:[ns(\"openMode.singleClick\",\"Opens items on mouse single click.\"),ns(\"openMode.doubleClick\",\"Open items on mouse double click.\")],default:\"singleClick\",description:ns({key:\"openModeModifier\",comment:[\"`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized.\"]},\"Controls how to open items in trees and lists using the mouse (if supported). Set to `singleClick` to open items with a single mouse click and `doubleClick` to only open via mouse double click. For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. \")},ZN[ON]={type:\"boolean\",default:!1,description:ns(\"horizontalScrolling setting\",\"Controls whether trees support horizontal scrolling in the workbench.\")},ZN)});var KN=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qN=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},QN=function(e,t){return function(n,r){t(n,r,e)}},XN=function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})},JN=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?\"return\":o[0]?\"throw\":\"next\"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},$N=function(){function e(e,t){var n=this;this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=[],this._callOnModelChange=[],this._callOnDispose.push(this._editor.onDidChangeModel(function(){return n._onModelChanged()})),this._onModelChanged()}return e.prototype.dispose=function(){this._callOnModelChange=on(this._callOnModelChange),this._callOnDispose=on(this._callOnDispose),this.removeDecorations()},e.prototype._onModelChanged=function(){this._callOnModelChange=on(this._callOnModelChange);var e=this._editor.getModel();if(e)for(var t=0,n=this._model.groups;t<n.length;t++){var r=n[t];if(r.uri.toString()===e.uri.toString())return void this._addDecorations(r)}},e.prototype._addDecorations=function(t){var n=this;this._callOnModelChange.push(this._editor.getModel().onDidChangeDecorations(function(e){return n._onDecorationChanged()}));for(var r=[],i=[],o=0,s=t.children.length;o<s;o++){var a=t.children[o];this._decorationIgnoreSet.has(a.id)||(r.push({range:a.range,options:e.DecorationOptions}),i.push(o))}var u=this._editor.deltaDecorations([],r);for(o=0;o<u.length;o++)this._decorations.set(u[o],t.children[i[o]])},e.prototype._onDecorationChanged=function(){var e=this,t=[];this._decorations.forEach(function(n,r){var i=e._editor.getModel().getDecorationRange(r);if(i){var o=!1;if(!be.equalsRange(i,n.range))be.spansMultipleLines(i)?o=!0:n.range.endColumn-n.range.startColumn!==i.endColumn-i.startColumn&&(o=!0),o?(e._decorationIgnoreSet.add(n.id),t.push(r)):n.range=i}});for(var n=0,r=t.length;n<r;n++)this._decorations.delete(t[n]);this._editor.deltaDecorations(t,[])},e.prototype.removeDecorations=function(){var e=[];this._decorations.forEach(function(t,n){e.push(n)}),this._editor.deltaDecorations(e,[]),this._decorations.clear()},e.DecorationOptions=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"reference-decoration\"}),e}(),eI=function(){function e(e){this._textModelResolverService=e}return e.prototype.getId=function(e,t){return t instanceof wM?\"root\":t instanceof CM?t.id:t instanceof bM?t.id:void 0},e.prototype.hasChildren=function(e,t){return t instanceof wM||t instanceof CM&&!t.failure},e.prototype.getChildren=function(e,t){return t instanceof wM?cn.b.as(t.groups):t instanceof CM?t.resolve(this._textModelResolverService).then(function(n){return t.failure?e.refresh(t).then(function(){return n.children}):n.children}):cn.b.as([])},e.prototype.getParent=function(e,t){var n=null;return t instanceof CM?n=t.parent:t instanceof bM&&(n=t.parent),cn.b.as(n)},e=qN([QN(0,DM)],e)}(),tI=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._onDidFocus=new wn,t.onDidFocus=t._onDidFocus.event,t._onDidSelect=new wn,t.onDidSelect=t._onDidSelect.event,t._onDidOpenToSide=new wn,t.onDidOpenToSide=t._onDidOpenToSide.event,t}return KN(t,e),t.prototype.onTap=function(t,n,r){if(n instanceof CM)return r.preventDefault(),r.stopPropagation(),this._expandCollapse(t,n);var i=e.prototype.onTap.call(this,t,n,r);return this._onDidFocus.fire(n),i},t.prototype.onMouseDown=function(t,n,r){var i=2===r.detail;if(r.leftButton){if(n instanceof CM&&(this.openOnSingleClick||i||this.isClickOnTwistie(r)))return r.preventDefault(),r.stopPropagation(),this._expandCollapse(t,n);var o=e.prototype.onClick.call(this,t,n,r);return(r.ctrlKey||r.metaKey||r.altKey)&&(i||this.openOnSingleClick)?this._onDidOpenToSide.fire(n):i?this._onDidSelect.fire(n):this.openOnSingleClick&&this._onDidFocus.fire(n),o}return!1},t.prototype.onClick=function(t,n,r){return!r.leftButton&&e.prototype.onClick.call(this,t,n,r)},t.prototype._expandCollapse=function(e,t){return e.isExpanded(t)?e.collapse(t).done(null,pn):e.expand(t).done(null,pn),!0},t.prototype.onEscape=function(e,t){return!1},t.prototype.dispose=function(){this._onDidFocus.dispose(),this._onDidSelect.dispose(),this._onDidOpenToSide.dispose()},t}(GN),nI=function(){function e(e,t,n,r){var i=this;this._contextService=t,this._environmentService=n;var o=document.createElement(\"div\");Mc(o,\"reference-file\"),e.appendChild(o),this.file=new yM(o,Be.parse(\"no:file\"),this._contextService,this._environmentService),this.badge=new pM(Z_(\".count\").appendTo(o).getHTMLElement());var s=function(e,t,n){return AM(t,{badgeBackground:n&&n.badgeBackground||Hf,badgeForeground:n&&n.badgeForeground||Uf,badgeBorder:gf},e)}(this.badge,r);this.dispose=function(){i.file.dispose(),s.dispose()}}return e.prototype.set=function(e){this.file.setFile(e.uri,this._contextService,this._environmentService);var t=e.children.length;this.badge.setCount(t),e.failure?this.badge.setTitleFormat(ns(\"referencesFailre\",\"Failed to resolve file.\")):t>1?this.badge.setTitleFormat(ns(\"referencesCount\",\"{0} references\",t)):this.badge.setTitleFormat(ns(\"referenceCount\",\"{0} reference\",t))},e=qN([QN(1,cM),QN(2,Pr(IM)),QN(3,Og)],e)}(),rI=function(){function e(e){var t=document.createElement(\"div\");this.before=document.createElement(\"span\"),this.inside=document.createElement(\"span\"),this.after=document.createElement(\"span\"),Mc(this.inside,\"referenceMatch\"),Mc(t,\"reference\"),t.appendChild(this.before),t.appendChild(this.inside),t.appendChild(this.after),e.appendChild(t)}return e.prototype.set=function(e){var t=e.parent.preview.preview(e.range),n=t.before,r=t.inside,i=t.after;this.before.innerHTML=et(n),this.inside.innerHTML=et(r),this.after.innerHTML=et(i)},e}(),iI=function(){function e(e,t,n){this._contextService=e,this._themeService=t,this._environmentService=n}return e.prototype.getHeight=function(e,t){return 23},e.prototype.getTemplateId=function(t,n){if(n instanceof CM)return e._ids.FileReferences;if(n instanceof bM)return e._ids.OneReference;throw n},e.prototype.renderTemplate=function(t,n,r){if(n===e._ids.FileReferences)return new nI(r,this._contextService,this._environmentService,this._themeService);if(n===e._ids.OneReference)return new rI(r);throw n},e.prototype.renderElement=function(e,t,n,r){if(t instanceof CM)r.set(t);else{if(!(t instanceof bM))throw n;r.set(t)}},e.prototype.disposeTemplate=function(e,t,n){n instanceof nI&&n.dispose()},e._ids={FileReferences:\"FileReferences\",OneReference:\"OneReference\"},e=qN([QN(0,cM),QN(1,Og),QN(2,Pr(IM))],e)}(),oI=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof CM?t.getAriaMessage():t instanceof bM?t.getAriaMessage():void 0},e}(),sI=function(){function e(e,t){var n,r=this;this._disposables=[],this._onDidChangePercentages=new wn,this._ratio=t,this._sash=new pD(e,{getVerticalSashLeft:function(){return r._width*r._ratio},getVerticalSashHeight:function(){return r._height}}),this._disposables.push(this._sash.onDidStart(function(e){n=e.startX-r._width*r.ratio})),this._disposables.push(this._sash.onDidChange(function(e){var t=e.currentX-n;t>20&&t+20<r._width&&(r._ratio=t/r._width,r._sash.layout(),r._onDidChangePercentages.fire(r))}))}return e.prototype.dispose=function(){this._sash.dispose(),this._onDidChangePercentages.dispose(),on(this._disposables)},Object.defineProperty(e.prototype,\"onDidChangePercentages\",{get:function(){return this._onDidChangePercentages.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{set:function(e){this._width=e,this._sash.layout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{set:function(e){this._height=e,this._sash.layout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"percentages\",{get:function(){var e=100*this._ratio;return[e+\"%\",100-e+\"%\"]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"ratio\",{get:function(){return this._ratio},enumerable:!0,configurable:!0}),e}(),aI=new Au(\"referenceSearchTreeFocused\",!0),uI=function(e){function t(t,n,r,i,o,s,a,u){var l=e.call(this,t,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0})||this;return l._defaultTreeKeyboardSupport=n,l.layoutData=r,l._textModelResolverService=i,l._contextService=o,l._instantiationService=a,l._environmentService=u,l._disposeOnNewModel=[],l._callOnDispose=[],l._onDidSelectReference=new wn,l._applyTheme(s.getTheme()),l._callOnDispose.push(s.onThemeChange(l._applyTheme.bind(l))),l.create(),l}return KN(t,e),t.prototype._applyTheme=function(e){var t=e.getColor(dI)||md.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(lI)||md.transparent,primaryHeadingColor:e.getColor(cI),secondaryHeadingColor:e.getColor(hI)})},t.prototype.dispose=function(){this.setModel(null),this._callOnDispose=on(this._callOnDispose),on(this._preview,this._previewNotAvailableMessage,this._tree,this._sash,this._previewModelReference),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,\"onDidSelectReference\",{get:function(){return this._onDidSelectReference.event},enumerable:!0,configurable:!0}),t.prototype.show=function(t){this.editor.revealRangeInCenterIfOutsideViewport(t,0),e.prototype.show.call(this,t,this.layoutData.heightInLines||18)},t.prototype.focus=function(){this._tree.domFocus()},t.prototype._onTitleClick=function(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?\"side\":\"open\",source:\"title\"})},t.prototype._fillBody=function(e){var t=this,n=Z_(e);this.setCssClass(\"reference-zone-widget\"),n.div({class:\"messages\"},function(e){t._messageContainer=e.hide()}),n.div({class:\"preview inline\"},function(e){t._preview=t._instantiationService.createInstance(qx,e.getHTMLElement(),{scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:\"auto\",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}},t.editor),t._previewContainer=e.hide(),t._previewNotAvailableMessage=Ea.createFromString(ns(\"missingPreviewMessage\",\"no preview available\"))}),this._sash=new sI(e,this.layoutData.ratio||.8),this._sash.onDidChangePercentages(function(){var e=t._sash.percentages,n=e[0],r=e[1];t._previewContainer.style({width:n}),t._treeContainer.style({width:r}),t._preview.layout(),t._tree.layout(),t.layoutData.ratio=t._sash.ratio}),n.div({class:\"ref-tree inline\"},function(e){var n=t._instantiationService.createInstance(tI,{keyboardSupport:t._defaultTreeKeyboardSupport,clickBehavior:MM.ON_MOUSE_UP});t._callOnDispose.push(n);var r={dataSource:t._instantiationService.createInstance(eI),renderer:t._instantiationService.createInstance(iI),controller:n,accessibilityProvider:new oI},i={twistiePixels:20,ariaLabel:ns(\"treeAriaLabel\",\"References\")};t._tree=t._instantiationService.createInstance(YN,e.getHTMLElement(),r,i),aI.bindTo(t._tree.contextKeyService);var o=function(e,n){e instanceof bM&&(\"show\"===n&&t._revealReference(e,!1),t._onDidSelectReference.fire({element:e,kind:n,source:\"tree\"}))};t._disposables.push(t._tree.onDidChangeFocus(function(e){e&&e.payload&&\"keyboard\"===e.payload.origin&&o(e.focus,\"show\")})),t._disposables.push(t._tree.onDidChangeSelection(function(e){e&&e.payload&&\"keyboard\"===e.payload.origin&&o(e.selection[0],\"goto\")})),t._disposables.push(n.onDidFocus(function(e){return o(e,\"show\")})),t._disposables.push(n.onDidSelect(function(e){return o(e,\"goto\")})),t._disposables.push(n.onDidOpenToSide(function(e){return o(e,\"side\")})),t._treeContainer=e.hide()})},t.prototype._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n);var r=t+\"px\";this._sash.height=t,this._sash.width=n;var i=this._sash.percentages,o=i[0],s=i[1];this._previewContainer.style({height:r,width:o}),this._treeContainer.style({height:r,width:s}),this._tree.layout(t),this._preview.layout(),this.layoutData={heightInLines:this._viewZone.heightInLines,ratio:this._sash.ratio}},t.prototype._onWidth=function(e){this._sash.width=e,this._preview.layout()},t.prototype.setSelection=function(e){var t=this;return this._revealReference(e,!0).then(function(){t._tree.setSelection([e]),t._tree.setFocus(e)})},t.prototype.setModel=function(e){if(this._disposeOnNewModel=on(this._disposeOnNewModel),this._model=e,this._model)return this._onNewModel()},t.prototype._onNewModel=function(){var e=this;if(this._model.empty)return this.setTitle(\"\"),this._messageContainer.innerHtml(ns(\"noResults\",\"No results\")).show(),cn.b.as(void 0);this._messageContainer.hide(),this._decorationsManager=new $N(this._preview,this._model),this._disposeOnNewModel.push(this._decorationsManager),this._disposeOnNewModel.push(this._model.onDidChangeReferenceRange(function(t){return e._tree.refresh(t)})),this._disposeOnNewModel.push(this._preview.onMouseDown(function(t){var n=t.event,r=t.target;2===n.detail&&e._onDidSelectReference.fire({element:{uri:e._getFocusedReference().uri,range:r.range},kind:n.ctrlKey||n.metaKey||n.altKey?\"side\":\"open\",source:\"editor\"})})),Mc(this.container,\"results-loaded\"),this._treeContainer.show(),this._previewContainer.show(),this._preview.layout(),this._tree.layout(),this.focus();var t=1===this._model.groups.length?this._model.groups[0]:this._model;return this._tree.setInput(t)},t.prototype._getFocusedReference=function(){var e=this._tree.getFocus();return e instanceof bM?e:e instanceof CM&&e.children.length>0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return XN(this,void 0,cn.b,function(){var n,r=this;return JN(this,function(i){switch(i.label){case 0:return e.uri.scheme!==Md.inMemory?this.setTitle(e.name,IE(e.directory,this._contextService,this._environmentService)):this.setTitle(ns(\"peekView.alternateTitle\",\"References\")),n=this._textModelResolverService.createModelReference(e.uri),t?[4,this._tree.reveal(e.parent)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2,cn.b.join([n,this._tree.reveal(e)]).then(function(t){var n=t[0];if(r._model){on(r._previewModelReference);var i=n.object;if(i){r._previewModelReference=n;var o=r._preview.getModel()===i.textEditorModel;r._preview.setModel(i.textEditorModel);var s=be.lift(e.range).collapseToStart();r._preview.setSelection(s),r._preview.revealRangeInCenter(s,o?0:1)}else r._preview.setModel(r._previewNotAvailableMessage),n.dispose()}else n.dispose()},pn)]}})})},t}(Jx),lI=lf(\"peekViewTitle.background\",{dark:\"#1E1E1E\",light:\"#FFFFFF\",hc:\"#0C141F\"},ns(\"peekViewTitleBackground\",\"Background color of the peek view title area.\")),cI=lf(\"peekViewTitleLabel.foreground\",{dark:\"#FFFFFF\",light:\"#333333\",hc:\"#FFFFFF\"},ns(\"peekViewTitleForeground\",\"Color of the peek view title.\")),hI=lf(\"peekViewTitleDescription.foreground\",{dark:\"#ccccccb3\",light:\"#6c6c6cb3\",hc:\"#FFFFFF99\"},ns(\"peekViewTitleInfoForeground\",\"Color of the peek view title info.\")),dI=lf(\"peekView.border\",{dark:\"#007acc\",light:\"#007acc\",hc:gf},ns(\"peekViewBorder\",\"Color of the peek view borders and arrow.\")),pI=lf(\"peekViewResult.background\",{dark:\"#252526\",light:\"#F3F3F3\",hc:md.black},ns(\"peekViewResultsBackground\",\"Background color of the peek view result list.\")),fI=lf(\"peekViewResult.lineForeground\",{dark:\"#bbbbbb\",light:\"#646465\",hc:md.white},ns(\"peekViewResultsMatchForeground\",\"Foreground color for line nodes in the peek view result list.\")),gI=lf(\"peekViewResult.fileForeground\",{dark:md.white,light:\"#1E1E1E\",hc:md.white},ns(\"peekViewResultsFileForeground\",\"Foreground color for file nodes in the peek view result list.\")),mI=lf(\"peekViewResult.selectionBackground\",{dark:\"#3399ff33\",light:\"#3399ff33\",hc:null},ns(\"peekViewResultsSelectionBackground\",\"Background color of the selected entry in the peek view result list.\")),vI=lf(\"peekViewResult.selectionForeground\",{dark:md.white,light:\"#6C6C6C\",hc:md.white},ns(\"peekViewResultsSelectionForeground\",\"Foreground color of the selected entry in the peek view result list.\")),yI=lf(\"peekViewEditor.background\",{dark:\"#001F33\",light:\"#F2F8FC\",hc:md.black},ns(\"peekViewEditorBackground\",\"Background color of the peek view editor.\")),bI=lf(\"peekViewEditorGutter.background\",{dark:yI,light:yI,hc:yI},ns(\"peekViewEditorGutterBackground\",\"Background color of the gutter in the peek view editor.\")),_I=lf(\"peekViewResult.matchHighlightBackground\",{dark:\"#ea5c004d\",light:\"#ea5c004d\",hc:null},ns(\"peekViewResultsMatchHighlight\",\"Match highlight color in the peek view result list.\")),CI=lf(\"peekViewEditor.matchHighlightBackground\",{dark:\"#ff8f0099\",light:\"#f5d802de\",hc:null},ns(\"peekViewEditorMatchHighlight\",\"Match highlight color in the peek view editor.\")),wI=lf(\"peekViewEditor.matchHighlightBorder\",{dark:null,light:null,hc:mf},ns(\"peekViewEditorMatchHighlightBorder\",\"Match highlight border in the peek view editor.\"));Vg(function(e,t){var n=e.getColor(_I);n&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: \"+n+\"; }\");var r=e.getColor(CI);r&&t.addRule(\".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: \"+r+\"; }\");var i=e.getColor(wI);i&&t.addRule(\".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid \"+i+\"; box-sizing: border-box; }\");var o=e.getColor(mf);o&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted \"+o+\"; box-sizing: border-box; }\");var s=e.getColor(pI);s&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree { background-color: \"+s+\"; }\");var a=e.getColor(fI);a&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree { color: \"+a+\"; }\");var u=e.getColor(gI);u&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: \"+u+\"; }\");var l=e.getColor(mI);l&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: \"+l+\"; }\");var c=e.getColor(vI);c&&t.addRule(\".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: \"+c+\" !important; }\");var h=e.getColor(yI);h&&t.addRule(\".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\\tbackground-color: \"+h+\";}\");var d=e.getColor(bI);d&&t.addRule(\".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\\tbackground-color: \"+d+\";}\")});var DI=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},EI=function(e,t){return function(n,r){t(n,r,e)}},AI=function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})},SI=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?\"return\":o[0]?\"throw\":\"next\"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},xI=new Au(\"referenceSearchVisible\",!1),MI=function(){function e(e,t,n,r,i,o,s,a,u,l,c,h){this._defaultTreeKeyboardSupport=e,this._editorService=r,this._textModelResolverService=i,this._notificationService=o,this._instantiationService=s,this._contextService=a,this._storageService=u,this._themeService=l,this._configurationService=c,this._environmentService=h,this._requestIdPool=0,this._disposables=[],this._ignoreModelChangeEvent=!1,this._editor=t,this._referenceSearchVisible=xI.bindTo(n)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._widget&&(this._widget.dispose(),this._widget=null),this._editor=null},e.prototype.toggleWidget=function(e,t,n){var r,i=this;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return null;this._referenceSearchVisible.set(!0),this._disposables.push(this._editor.onDidChangeModelLanguage(function(){i.closeWidget()})),this._disposables.push(this._editor.onDidChangeModel(function(){i._ignoreModelChangeEvent||i.closeWidget()}));var o=JSON.parse(this._storageService.get(\"peekViewLayout\",void 0,\"{}\"));this._widget=new uI(this._editor,this._defaultTreeKeyboardSupport,o,this._textModelResolverService,this._contextService,this._themeService,this._instantiationService,this._environmentService),this._widget.setTitle(ns(\"labelLoading\",\"Loading...\")),this._widget.show(e),this._disposables.push(this._widget.onDidClose(function(){t.cancel(),i._storageService.store(\"peekViewLayout\",JSON.stringify(i._widget.layoutData)),i._widget=null,i.closeWidget()})),this._disposables.push(this._widget.onDidSelectReference(function(e){var t=e.element,r=e.kind;switch(r){case\"open\":if(\"editor\"===e.source&&i._configurationService.getValue(\"editor.stablePeek\"))break;case\"side\":i.openReference(t,\"side\"===r);break;case\"goto\":n.onGoto?n.onGoto(t):i._gotoReference(t)}}));var s=++this._requestIdPool;t.then(function(t){if(s===i._requestIdPool&&i._widget)return i._model&&i._model.dispose(),i._model=t,i._widget.setModel(i._model).then(function(){if(i._widget){i._widget.setMetaTitle(n.getMetaTitle(i._model));var t=i._editor.getModel().uri,r=new ye(e.startLineNumber,e.startColumn),o=i._model.nearestReference(t,r);if(o)return i._widget.setSelection(o)}})},function(e){i._notificationService.error(e)})},e.prototype.goToNextOrPreviousReference=function(e){return AI(this,void 0,void 0,function(){var t,n,r;return SI(this,function(i){switch(i.label){case 0:return this._model?(t=this._model.nearestReference(this._editor.getModel().uri,this._widget.position),n=this._model.nextOrPreviousReference(t,e),r=this._editor.isFocused(),[4,this._widget.setSelection(n)]):[3,3];case 1:return i.sent(),[4,this._gotoReference(n)];case 2:i.sent(),r&&this._editor.focus(),i.label=3;case 3:return[2]}})})},e.prototype.closeWidget=function(){this._widget&&(this._widget.dispose(),this._widget=null),this._referenceSearchVisible.reset(),this._disposables=on(this._disposables),this._model&&(this._model.dispose(),this._model=null),this._editor.focus(),this._requestIdPool+=1},e.prototype._gotoReference=function(e){var t=this;this._widget.hide(),this._ignoreModelChangeEvent=!0;var n=be.lift(e.range).collapseToStart();return this._editorService.openEditor({resource:e.uri,options:{selection:n}}).then(function(e){t._ignoreModelChangeEvent=!1,e&&e.getControl()===t._editor?(t._widget.show(n),t._widget.focus()):t.closeWidget()},function(e){t._ignoreModelChangeEvent=!1,pn(e)})},e.prototype.openReference=function(e,t){var n=e.uri,r=e.range;this._editorService.openEditor({resource:n,options:{selection:r}},t),t||this.closeWidget()},e.ID=\"editor.contrib.referencesController\",e=DI([EI(2,Su),EI(3,Fu),EI(4,DM),EI(5,Yb),EI(6,Tr),EI(7,cM),EI(8,Bp),EI(9,Og),EI(10,wA),EI(11,Pr(IM))],e)}(),NI=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),II=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},LI=function(e,t){return function(n,r){t(n,r,e)}},kI={getMetaTitle:function(e){return e.references.length>1&&ns(\"meta.titleReference\",\" – {0} references\",e.references.length)}},TI=function(){function e(e,t){e instanceof qx&&Ux.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID=\"editor.contrib.referenceController\",e=II([LI(1,Su)],e)}(),FI=function(e){function t(){return e.call(this,{id:\"editor.action.referenceSearch.trigger\",label:ns(\"references.action.label\",\"Find All References\"),alias:\"Find All References\",precondition:mu.and(nl.hasReferenceProvider,Ux.notInPeekEditor,nl.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:nl.editorTextFocus,primary:1094},menuOpts:{group:\"navigation\",order:1.5}})||this}return NI(t,e),t.prototype.run=function(e,t){var n=MI.get(t);if(n){var r=t.getSelection(),i=BI(t.getModel(),r.getStartPosition()).then(function(e){return new wM(e)});n.toggleWidget(r,i,kI)}},t}(qu);el(TI),$u(FI);function OI(e,t){PI(e,function(e){return e.closeWidget()})}function PI(e,t){var n=function(e){var t=e.get(Wu).getFocusedCodeEditor();return t instanceof qx?t.getParentEditor():t}(e);if(n){var r=MI.get(n);r&&t(r)}}function BI(e,t){var n=li.ordered(e).map(function(n){return Pl(function(r){return n.provideReferences(e,t,{includeDeclaration:!0},r)}).then(function(e){if(Array.isArray(e))return e},function(e){fn(e)})});return cn.b.join(n).then(function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];i&&t.push.apply(t,i)}return t})}Ga.registerCommand({id:\"editor.action.findReferences\",handler:function(e,t,n){if(!(t instanceof Be))throw new Error(\"illegal argument, uri\");if(!n)throw new Error(\"illegal argument, position\");return e.get(Fu).openEditor({resource:t}).then(function(e){var t=e.getControl();if(zu(t)){var r=MI.get(t);if(r){var i=BI(t.getModel(),ye.lift(n)).then(function(e){return new wM(e)}),o=new be(n.lineNumber,n.column,n.lineNumber,n.column);return cn.b.as(r.toggleWidget(o,i,kI))}}})}}),Ga.registerCommand({id:\"editor.action.showReferences\",handler:function(e,t,n,r){if(!(t instanceof Be))throw new Error(\"illegal argument, uri expected\");return e.get(Fu).openEditor({resource:t}).then(function(e){var t=e.getControl();if(zu(t)){var i=MI.get(t);if(i)return cn.b.as(i.toggleWidget(new be(n.lineNumber,n.column,n.lineNumber,n.column),cn.b.as(new wM(r)),kI)).then(function(){return!0})}})},description:{description:\"Show references at a position in a file\",args:[{name:\"uri\",description:\"The text document in which to show references\",constraint:Be},{name:\"position\",description:\"The position at which to show\",constraint:ye.isIPosition},{name:\"locations\",description:\"An array of locations.\",constraint:Array}]}}),au.registerCommandAndKeybindingRule({id:\"goToNextReference\",weight:au.WEIGHT.workbenchContrib(50),primary:62,when:xI,handler:function(e){PI(e,function(e){e.goToNextOrPreviousReference(!0)})}}),au.registerCommandAndKeybindingRule({id:\"goToNextReferenceFromEmbeddedEditor\",weight:au.WEIGHT.editorContrib(50),primary:62,when:Ux.inPeekEditor,handler:function(e){PI(e,function(e){e.goToNextOrPreviousReference(!0)})}}),au.registerCommandAndKeybindingRule({id:\"goToPreviousReference\",weight:au.WEIGHT.workbenchContrib(50),primary:1086,when:xI,handler:function(e){PI(e,function(e){e.goToNextOrPreviousReference(!1)})}}),au.registerCommandAndKeybindingRule({id:\"goToPreviousReferenceFromEmbeddedEditor\",weight:au.WEIGHT.editorContrib(50),primary:1086,when:Ux.inPeekEditor,handler:function(e){PI(e,function(e){e.goToNextOrPreviousReference(!1)})}}),au.registerCommandAndKeybindingRule({id:\"closeReferenceSearch\",weight:au.WEIGHT.workbenchContrib(50),primary:9,secondary:[1033],when:mu.and(xI,mu.not(\"config.editor.stablePeek\")),handler:OI}),au.registerCommandAndKeybindingRule({id:\"closeReferenceSearchEditor\",weight:au.WEIGHT.editorContrib(-101),primary:9,secondary:[1033],when:mu.and(Ux.inPeekEditor,mu.not(\"config.editor.stablePeek\")),handler:OI}),au.registerCommandAndKeybindingRule({id:\"openReferenceToSide\",weight:au.WEIGHT.editorContrib(),primary:2051,mac:{primary:259},when:mu.and(xI,aI),handler:function(e,t){var n=e.get(SN),r=n.lastFocusedList&&n.lastFocusedList.getFocus();r instanceof bM&&PI(e,function(e){return e.openReference(r,!0)})}}),Xu(\"_executeReferenceProvider\",BI);var RI,jI=Or(\"progressService\"),zI=Object.freeze({total:function(){},worked:function(){},done:function(){}});Object.freeze({report:function(){}}),function(){function e(e){this._callback=e}Object.defineProperty(e.prototype,\"value\",{get:function(){return this._value},enumerable:!0,configurable:!0}),e.prototype.report=function(e){this._value=e,this._callback(this._value)}}();!function(e){e[e.Explorer=1]=\"Explorer\",e[e.Scm=3]=\"Scm\",e[e.Extensions=5]=\"Extensions\",e[e.Window=10]=\"Window\",e[e.Notification=15]=\"Notification\"}(RI||(RI={}));Or(\"progressService2\");var WI=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),VI=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},HI=function(e,t){return function(n,r){t(n,r,e)}},UI=function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})},YI=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?\"return\":o[0]?\"throw\":\"next\"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},ZI=function(){function e(){}return e.start=function(e){var t,n=new Set;return e&&(t=e.onFileChanges(function(e){for(var t=0,r=e.changes;t<r.length;t++){var i=r[t];i.type===oM.UPDATED&&n.add(i.resource.toString())}})),{stop:function(){return on(t)},hasChanged:function(e){return n.has(e.toString())}}},e}(),GI=function(){function e(e){this._endCursorSelection=null,this._modelReference=e,this._edits=[]}return Object.defineProperty(e.prototype,\"_model\",{get:function(){return this._modelReference.object.textEditorModel},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._model&&(this._modelReference.dispose(),this._modelReference=null)},e.prototype.addEdit=function(e){for(var t=0,n=e.edits;t<n.length;t++){var r=n[t];if(\"number\"==typeof r.eol&&(this._newEol=r.eol),r.range||r.text){var i=void 0;i=r.range?be.lift(r.range):this._model.getFullModelRange(),this._edits.push(S_.replaceMove(i,r.text))}}},e.prototype.apply=function(){var e=this;this._edits.length>0&&(this._edits=this._edits.map(function(e,t){return{value:e,index:t}}).sort(function(e,t){var n=be.compareRangesUsingStarts(e.value.range,t.value.range);return 0===n&&(n=e.index-t.index),n}).map(function(e){return e.value}),this._initialSelections=this._getInitialSelections(),this._model.pushStackElement(),this._model.pushEditOperations(this._initialSelections,this._edits,function(t){return e._getEndCursorSelections(t)}),this._model.pushStackElement()),void 0!==this._newEol&&(this._model.pushStackElement(),this._model.setEOL(this._newEol),this._model.pushStackElement())},e.prototype._getInitialSelections=function(){var e=this._edits[0].range;return[new Ii(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)]},e.prototype._getEndCursorSelections=function(e){for(var t=0,n=0;n<e.length;n++)for(var r=e[n].range,i=0;i<this._initialSelections.length;i++){var o=this._initialSelections[i];if(be.areIntersectingOrTouching(r,o)){t=n;break}}var s=e[t].range;return this._endCursorSelection=new Ii(s.endLineNumber,s.endColumn,s.endLineNumber,s.endColumn),[this._endCursorSelection]},e.prototype.getEndCursorSelection=function(){return this._endCursorSelection},e}(),KI=function(e){function t(t,n){var r=e.call(this,t)||this;return r._knownInitialSelections=n,r}return WI(t,e),t.prototype._getInitialSelections=function(){return this._knownInitialSelections},t}(GI),qI=function(){function e(e,t,n,r){this._edits=new Map,this._textModelResolverService=e,this._sourceModel=t?t.getModel().uri:void 0,this._sourceSelections=t?t.getSelections():void 0,this._sourceModelTask=void 0,this._progress=r,n.forEach(this.addEdit,this)}return e.prototype.dispose=function(){this._tasks=on(this._tasks)},e.prototype.addEdit=function(e){var t=this._edits.get(e.resource.toString());t||(t=[],this._edits.set(e.resource.toString(),t)),t.push(e)},e.prototype.prepare=function(){return UI(this,void 0,cn.b,function(){var e,t=this;return YI(this,function(n){switch(n.label){case 0:if(this._tasks)throw new Error(\"illegal state - already prepared\");return this._tasks=[],e=[],this._edits.forEach(function(n,r){var i=t._textModelResolverService.createModelReference(Be.parse(r)).then(function(e){var i,o=e.object;if(!o||!o.textEditorModel)throw new Error(\"Cannot load file \"+r);t._sourceModel&&o.textEditorModel.uri.toString()===t._sourceModel.toString()?(t._sourceModelTask=new KI(e,t._sourceSelections),i=t._sourceModelTask):i=new GI(e),n.forEach(function(e){return i.addEdit(e)}),t._tasks.push(i),t._progress.report(void 0)});e.push(i)}),[4,cn.b.join(e)];case 1:return n.sent(),[2,this]}})})},e.prototype.apply=function(){for(var e=0,t=this._tasks;e<t.length;e++){t[e].apply(),this._progress.report(void 0)}return this._sourceModelTask?this._sourceModelTask.getEndCursorSelection():void 0},e}(),QI=function(){function e(e,t,n,r){this._textModelService=n,this._fileService=r,this._edits=[],this._editor=e,this._progress=t||zI}return e.perform=function(t,n,r,i){var o=new e(i,null,n,r);return o.add(t),o.perform()},e.prototype.add=function(e){var t;Array.isArray(e)?(t=this._edits).push.apply(t,e):this._edits.push(e)},e.prototype.ariaMessage=function(){var e=this._edits.reduce(function(e,t){return si(t)?e:e+t.edits.length},0),t=this._edits.length;return 0===e?ns(\"summary.0\",\"Made no edits\"):e>1&&t>1?ns(\"summary.nm\",\"Made {0} text edits in {1} files\",e,t):ns(\"summary.n0\",\"Made {0} text edits in one file\",e,t)},e.prototype.perform=function(){return UI(this,void 0,cn.b,function(){var e,t,n,r,i,o,s,a,u,l,c,h,d=this;return YI(this,function(p){switch(p.label){case 0:for(e=new Set,t=0,n=[],i=0,o=this._edits;i<o.length;i++)s=o[i],(!r||si(r[0])&&!si(s)||ai(r[0])&&!ai(s))&&(r=[],n.push(r)),r.push(s),si(s)?t+=1:e.has(s.resource.toString())||(e.add(s.resource.toString()),t+=2);this._progress.total(t),a={report:function(e){return d._progress.worked(1)}},u=void 0,l=0,c=n,p.label=1;case 1:return l<c.length?si((h=c[l])[0])?[4,this._performFileEdits(h,a)]:[3,3]:[3,6];case 2:return p.sent(),[3,5];case 3:return[4,this._performTextEdits(h,a)];case 4:u=p.sent()||u,p.label=5;case 5:return l++,[3,1];case 6:return[2,u]}})})},e.prototype._performFileEdits=function(e,t){return UI(this,void 0,void 0,function(){var n,r,i;return YI(this,function(o){switch(o.label){case 0:n=0,r=e,o.label=1;case 1:return n<r.length?(i=r[n],t.report(void 0),i.newUri&&i.oldUri?[4,this._fileService.moveFile(i.oldUri,i.newUri,!1)]:[3,3]):[3,8];case 2:return o.sent(),[3,7];case 3:return i.newUri||!i.oldUri?[3,5]:[4,this._fileService.del(i.oldUri,!0)];case 4:return o.sent(),[3,7];case 5:return!i.newUri||i.oldUri?[3,7]:[4,this._fileService.createFile(i.newUri,void 0,{overwrite:!1})];case 6:o.sent(),o.label=7;case 7:return n++,[3,1];case 8:return[2]}})})},e.prototype._performTextEdits=function(e,t){return UI(this,void 0,cn.b,function(){var n,r,i,o;return YI(this,function(s){switch(s.label){case 0:return n=ZI.start(this._fileService),[4,(r=new qI(this._textModelService,this._editor,e,t)).prepare()];case 1:if(s.sent(),i=e.filter(function(e){return n.hasChanged(e.resource)}).map(function(e){return IE(e.resource)}),n.stop(),i.length>0)throw r.dispose(),new Error(ns(\"conflict\",\"These files have changed in the meantime: {0}\",i.join(\", \")));return[4,r.apply()];case 2:return o=s.sent(),r.dispose(),[2,o]}})})},e=VI([HI(2,DM),HI(3,Pr(iM))],e)}(),XI=(n(359),function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}),JI=function(e,t){return function(n,r){t(n,r,e)}},$I=function(){function e(e,t){var n=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration(function(e){e.fontInfo&&n.updateFont()})),this._disposables.push(t.onThemeChange(function(e){return n.onThemeChange(e)}))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=on(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return\"__renameInputWidget\"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement(\"input\"),this._inputField.className=\"rename-input\",this._inputField.type=\"text\",this._inputField.setAttribute(\"aria-label\",ns(\"renameAriaLabel\",\"Rename input. Type new name and press Enter to commit.\")),this._domNode=document.createElement(\"div\"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+\"px\",this._domNode.className=\"monaco-editor rename-box\",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(_f),n=e.getColor(Cf),r=e.getColor(bf),i=e.getColor(wf);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=n?n.toString():null,this._inputField.style.borderWidth=i?\"1px\":\"0px\",this._inputField.style.borderStyle=i?\"solid\":\"none\",this._inputField.style.borderColor=i?i.toString():\"none\",this._domNode.style.boxShadow=r?\" 0 2px 8px \"+r:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+\"px\"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[Bu.BELOW,Bu.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(e){this._currentCancelInput&&this._currentCancelInput(e)},e.prototype.getInput=function(e,t,n,r){var i=this;this._position=new ye(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute(\"selectionStart\",n.toString()),this._inputField.setAttribute(\"selectionEnd\",r.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var o,s=[];return o=function(){on(s),i._hide()},new cn.b(function(n){i._currentCancelInput=function(e){return i._currentAcceptInput=null,i._currentCancelInput=null,n(e),!0},i._currentAcceptInput=function(){0!==i._inputField.value.trim().length&&i._inputField.value!==t?(i._currentAcceptInput=null,i._currentCancelInput=null,n(i._inputField.value)):i.cancelInput(!0)};s.push(i._editor.onDidChangeCursorSelection(function(){be.containsPosition(e,i._editor.getPosition())||i.cancelInput(!0)})),s.push(i._editor.onDidBlurEditor(function(){return i.cancelInput(!1)})),i._show()},function(){i._currentCancelInput(!0)}).then(function(e){return o(),e},function(e){return o(),cn.b.wrapError(e)})},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._editor.layoutContentWidget(this),setTimeout(function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute(\"selectionStart\")),parseInt(e._inputField.getAttribute(\"selectionEnd\")))},100)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e=XI([JI(1,Og)],e)}(),eL=(n(360),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),tL=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},nL=function(e,t){return function(n,r){t(n,r,e)}},rL=function(e){function t(n,r){var i=e.call(this)||this;return i._messageListeners=[],i._editor=n,i._visible=t.MESSAGE_VISIBLE.bindTo(r),i._register(i._editor.onDidAttemptReadOnlyEdit(function(){return i._onDidAttemptReadOnlyEdit()})),i}return eL(t,e),t.get=function(e){return e.getContribution(t._id)},t.prototype.getId=function(){return t._id},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._visible.reset()},t.prototype.isVisible=function(){return this._visible.get()},t.prototype.showMessage=function(e,t){var n,r=this;Vw(e),this._visible.set(!0),on(this._messageWidget),this._messageListeners=on(this._messageListeners),this._messageWidget=new iL(this._editor,t,e),this._messageListeners.push(this._editor.onDidBlurEditorText(function(){return r.closeMessage()})),this._messageListeners.push(this._editor.onDidChangeCursorPosition(function(){return r.closeMessage()})),this._messageListeners.push(this._editor.onDidDispose(function(){return r.closeMessage()})),this._messageListeners.push(this._editor.onDidChangeModel(function(){return r.closeMessage()})),this._messageListeners.push(function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=setTimeout.apply(void 0,[e,t].concat(n));return{dispose:function(){clearTimeout(i)}}}(function(){return r.closeMessage()},3e3)),this._messageListeners.push(this._editor.onMouseMove(function(e){e.target.position&&(n?n.containsPosition(e.target.position)||r.closeMessage():n=new be(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners=on(this._messageListeners),this._messageListeners.push(iL.fadeOut(this._messageWidget))},t.prototype._onDidAttemptReadOnlyEdit=function(){this.showMessage(ns(\"editor.readonly\",\"Cannot edit in read-only editor\"),this._editor.getPosition())},t._id=\"editor.contrib.messageController\",t.MESSAGE_VISIBLE=new Au(\"messageVisible\",!1),t=tL([nL(1,Su)],t)}(un);Ju(new(Ku.bindToContribution(rL.get))({id:\"leaveEditorMessage\",precondition:rL.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:au.WEIGHT.editorContrib(30),primary:9}}));var iL=function(){function e(e,t,n){var r=t.lineNumber,i=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(r,r,0),this._position={lineNumber:r,column:i-1},this._domNode=document.createElement(\"div\"),this._domNode.classList.add(\"monaco-editor-overlaymessage\");var o=document.createElement(\"div\");o.classList.add(\"message\"),o.textContent=n,this._domNode.appendChild(o);var s=document.createElement(\"div\");s.classList.add(\"anchor\"),this._domNode.appendChild(s),this._editor.addContentWidget(this),this._domNode.classList.add(\"fadeIn\")}return e.fadeOut=function(e){var t,n=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener(\"animationend\",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener(\"animationend\",n),e.getDomNode().classList.add(\"fadeOut\"),{dispose:n}},e.prototype.dispose=function(){this._editor.removeContentWidget(this)},e.prototype.getId=function(){return\"messageoverlay\"},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{position:this._position,preference:[Bu.ABOVE]}},e}();el(rL),Vg(function(e,t){var n=e.getColor(Af);if(n){var r=e.type===Rg?2:1;t.addRule(\".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: \"+n+\"; }\"),t.addRule(\".monaco-editor .monaco-editor-overlaymessage .message { border: \"+r+\"px solid \"+n+\"; }\")}var i=e.getColor(Ef);i&&t.addRule(\".monaco-editor .monaco-editor-overlaymessage .message { background-color: \"+i+\"; }\")});var oL=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),sL=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},aL=function(e,t){return function(n,r){t(n,r,e)}},uL=function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})},lL=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?\"return\":o[0]?\"throw\":\"next\"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},cL=function(){function e(e,t){this.model=e,this.position=t,this._provider=ci.ordered(e)}return e.prototype.hasProvider=function(){return this._provider.length>0},e.prototype.resolveRenameLocation=function(){return uL(this,void 0,cn.b,function(){var e,t,n,r=this;return lL(this,function(i){switch(i.label){case 0:return(e=this._provider[0]).resolveRenameLocation?[4,Pl(function(t){return e.resolveRenameLocation(r.model,r.position,t)})]:[3,2];case 1:t=i.sent(),i.label=2;case 2:return t||(n=this.model.getWordAtPosition(this.position))&&(t={range:new be(this.position.lineNumber,n.startColumn,this.position.lineNumber,n.endColumn),text:n.word}),[2,t]}})})},e.prototype.provideRenameEdits=function(e,t,n,r){return void 0===t&&(t=0),void 0===n&&(n=[]),void 0===r&&(r=this.position),uL(this,void 0,cn.b,function(){var r,i,o=this;return lL(this,function(s){switch(s.label){case 0:return t>=this._provider.length?[2,{edits:void 0,rejectReason:n.join(\"\\n\")}]:(r=this._provider[t],[4,Pl(function(t){return r.provideRenameEdits(o.model,o.position,e,t)})]);case 1:return(i=s.sent())?i.rejectReason?[2,this.provideRenameEdits(e,t+1,n.concat(i.rejectReason))]:[2,i]:[2,this.provideRenameEdits(e,t+1,n.concat(ns(\"no result\",\"No result.\")))]}})})},e}();var hL=new Au(\"renameInputVisible\",!1),dL=function(){function e(e,t,n,r,i,o,s){this.editor=e,this._notificationService=t,this._textModelResolverService=n,this._progressService=r,this._fileService=s,this._renameInputField=new $I(e,o),this._renameInputVisible=hL.bindTo(i)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return e.ID},e.prototype.run=function(){return uL(this,void 0,cn.b,function(){var e,t,n,r,i,o,s,a=this;return lL(this,function(u){switch(u.label){case 0:e=this.editor.getPosition(),t=new cL(this.editor.getModel(),e),u.label=1;case 1:return u.trys.push([1,3,,4]),[4,t.resolveRenameLocation()];case 2:return n=u.sent(),[3,4];case 3:return r=u.sent(),rL.get(this.editor).showMessage(r,e),[2,void 0];case 4:return n?(i=this.editor.getSelection(),o=0,s=n.text.length,be.isEmpty(i)||be.spansMultipleLines(i)||!be.containsRange(n.range,i)||(o=Math.max(0,i.startColumn-n.range.startColumn),s=Math.min(n.range.endColumn,i.endColumn)-n.range.startColumn),this._renameInputVisible.set(!0),[2,this._renameInputField.getInput(n.range,n.text,o,s).then(function(e){if(a._renameInputVisible.reset(),\"boolean\"!=typeof e){a.editor.focus();var r=new QI(a.editor,null,a._textModelResolverService,a._fileService),i=new lE(a.editor,15),o=t.provideRenameEdits(e,0,[],be.lift(n.range).getStartPosition()).then(function(t){if(!t.rejectReason)return r.add(t.edits),r.perform().then(function(t){t&&a.editor.setSelection(t),Vw(ns(\"aria\",\"Successfully renamed '{0}' to '{1}'. Summary: {2}\",n.text,e,r.ariaMessage()))});i.validate(a.editor)?rL.get(a.editor).showMessage(t.rejectReason,a.editor.getPosition()):a._notificationService.info(t.rejectReason)},function(e){return a._notificationService.error(ns(\"rename.failed\",\"Rename failed to execute.\")),cn.b.wrapError(e)});return a._progressService.showWhile(o,250),o}e&&a.editor.focus()},function(e){return a._renameInputVisible.reset(),cn.b.wrapError(e)})]):[2,void 0]}})})},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput(!0)},e.ID=\"editor.contrib.renameController\",e=sL([aL(1,Yb),aL(2,DM),aL(3,jI),aL(4,Su),aL(5,Og),aL(6,Pr(iM))],e)}(),pL=function(e){function t(){return e.call(this,{id:\"editor.action.rename\",label:ns(\"rename.label\",\"Rename Symbol\"),alias:\"Rename Symbol\",precondition:mu.and(nl.writable,nl.hasRenameProvider),kbOpts:{kbExpr:nl.editorTextFocus,primary:60},menuOpts:{group:\"1_modification\",order:1.1}})||this}return oL(t,e),t.prototype.run=function(e,t){var n=dL.get(t);if(n)return n.run()},t}(qu);el(dL),$u(pL);var fL=Ku.bindToContribution(dL.get);Ju(new fL({id:\"acceptRenameInput\",precondition:hL,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:au.WEIGHT.editorContrib(99),kbExpr:nl.focus,primary:3}})),Ju(new fL({id:\"cancelRenameInput\",precondition:hL,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:au.WEIGHT.editorContrib(99),kbExpr:nl.focus,primary:9,secondary:[1033]}})),Xu(\"_executeDocumentRenameProvider\",function(e,t,n){var r=n.newName;if(\"string\"!=typeof r)throw yn(\"newName\");return function(e,t,n){return uL(this,void 0,cn.b,function(){return lL(this,function(r){return[2,new cL(e,t).provideRenameEdits(n)]})})}(e,t,r)});var gL=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),mL=function(){function e(){}return Object.defineProperty(e.prototype,\"range\",{get:function(){return new be(this.start.lineNumber,this.start.column,this.end.lineNumber,this.end.column)},enumerable:!0,configurable:!0}),e}(),vL=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return gL(t,e),Object.defineProperty(t.prototype,\"start\",{get:function(){return this.hasChildren?this.children[0].start:this.parent.start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"end\",{get:function(){return this.hasChildren?this.children[this.children.length-1].end:this.parent.end},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hasChildren\",{get:function(){return this.children&&this.children.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isEmpty\",{get:function(){return!this.hasChildren&&!this.parent},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return!!e&&(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0)},t}(mL),yL=function(e){function t(){var t=e.call(this)||this;return t.elements=new vL,t.elements.parent=t,t}return gL(t,e),Object.defineProperty(t.prototype,\"start\",{get:function(){return this.open.start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"end\",{get:function(){return this.close.end},enumerable:!0,configurable:!0}),t}(mL),bL=function(){return function(e,t,n){this.range=e,this.bracket=t,this.bracketType=n}}();function _L(e){var t=new mL;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}var CL=function(){return function(e,t,n){this.lineNumber=n,this.lineText=e.getLineContent(),this.startOffset=e.getStartOffset(t),this.endOffset=e.getEndOffset(t),this.type=e.getStandardTokenType(t),this.languageId=e.getLanguageId(t)}}(),wL=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._tokenIndex=0,this._lineTokens=null,this._advance()}return e.prototype._advance=function(){for(this._lineTokens&&(this._tokenIndex++,this._tokenIndex>=this._lineTokens.getCount()&&(this._lineTokens=null));this._lineNumber<this._lineCount&&!this._lineTokens;)this._lineNumber++,this._model.forceTokenization(this._lineNumber),this._lineTokens=this._model.getLineTokens(this._lineNumber),this._tokenIndex=0,0===this._lineTokens.getCount()&&(this._lineTokens=null)},e.prototype.next=function(){if(!this._lineTokens)return null;if(this._model.getVersionId()!==this._versionId)return null;var e=new CL(this._lineTokens,this._tokenIndex,this._lineNumber);return this._advance(),e},e}(),DL=function(){function e(e){this._rawTokenScanner=new wL(e),this._nextBuff=[],this._cachedLanguageBrackets=null,this._cachedLanguageId=-1}return e.prototype.next=function(){if(this._nextBuff.length>0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,n=e.lineText,r=e.type,i=e.startOffset,o=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=Zo.getBracketsSupport(this._cachedLanguageId));var s,a=this._cachedLanguageBrackets;if(!a||Do(r))return new bL(new be(t,i+1,t,o+1),0,null);do{if(s=Oo.findNextBracketInToken(a.forwardRegex,t,n,i,o)){var u=s.startColumn-1,l=s.endColumn-1;i<u&&this._nextBuff.push(new bL(new be(t,i+1,t,u+1),0,null));var c=n.substring(u,l);c=c.toLowerCase();var h=a.textIsBracket[c],d=a.textIsOpenBracket[c];this._nextBuff.push(new bL(new be(t,u+1,t,l+1),d?1:-1,h.languageIdentifier.language+\";\"+h.open+\";\"+h.close)),i=l}}while(s);return i<o&&this._nextBuff.push(new bL(new be(t,i+1,t,o+1),0,null)),this._nextBuff.shift()},e}(),EL=function(){function e(e){this._stack=[],this._scanner=new DL(e)}return e.prototype.build=function(){for(var e=new vL;e.append(this._line()||this._any()););return e},e.prototype._accept=function(e){var t=this._stack.pop()||this._scanner.next();if(!t)return!1;var n=e(t);return n?this._currentToken=t:(this._stack.push(t),this._currentToken=null),n},e.prototype._peek=function(e){var t=!1;return this._accept(function(n){return t=e(n),!1}),t},e.prototype._line=function(){var e,t=new vL;for(this._peek(function(t){return e=t.range.startLineNumber,!1});this._peek(function(t){return t.range.startLineNumber===e})&&t.append(this._token()||this._block()););return t.children&&0!==t.children.length?1===t.children.length?t.children[0]:t:null},e.prototype._token=function(){return this._accept(function(e){return 0===e.bracket})?_L(this._currentToken):null},e.prototype._block=function(){var e;if(!this._accept(function(t){return e=t.bracketType,1===t.bracket}))return null;var t=new yL;for(t.open=_L(this._currentToken);t.elements.append(this._line()););if(!this._accept(function(t){return-1===t.bracket&&t.bracketType===e})){var n=new vL;return n.append(t.open),n.append(t.elements),n}return t.close=_L(this._currentToken),t},e.prototype._any=function(){return this._accept(function(e){return!0})?_L(this._currentToken):null},e}();var AL=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},SL=function(e,t){return function(n,r){t(n,r,e)}},xL=function(){function e(e){this._modelService=e}return e.prototype.getRangesToPosition=function(e,t){return cn.b.as(this.getRangesToPositionSync(e,t))},e.prototype.getRangesToPositionSync=function(e,t){var n=this._modelService.getModel(e),r=[];return n&&this._doGetRangesToPosition(n,t).forEach(function(e){r.push({type:void 0,range:e})}),r},e.prototype._doGetRangesToPosition=function(e,t){var n,r;n=function e(t,n){if(t instanceof vL&&t.isEmpty)return null;if(!be.containsPosition(t.range,n))return null;var r;if(t instanceof vL){if(t.hasChildren)for(var i=0,o=t.children.length;i<o&&!r;i++)r=e(t.children[i],n)}else t instanceof yL&&(r=e(t.open,n)||e(t.elements,n)||e(t.close,n));return r||t}(function(e){return new EL(e).build()}(e),t);for(var i=[];n;)r&&be.equalsRange(r,n.range)||i.push(n.range),r=n.range,n=n.parent;return i=i.reverse()},e=AL([SL(0,Br)],e)}(),ML=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),NL=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},IL=function(e,t){return function(n,r){t(n,r,e)}},LL=function(){return function(e){this.editor=e,this.next=null,this.previous=null,this.selection=e.getSelection()}}(),kL=null,TL=!1,FL=function(){function e(e,t){this.editor=e,this._tokenSelectionSupport=t.createInstance(xL)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(e){var t=this,n=this.editor.getSelection(),r=this.editor.getModel();kL&&kL.editor!==this.editor&&(kL=null);var i=cn.b.as(null);return kL||(i=this._tokenSelectionSupport.getRangesToPosition(r.uri,n.getStartPosition()).then(function(e){if(!Zn(e)){var n;e.filter(function(e){var n=t.editor.getSelection(),r=new be(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);return r.containsPosition(n.getStartPosition())&&r.containsPosition(n.getEndPosition())}).forEach(function(e){var r=e.range,i=new LL(t.editor);i.selection=new be(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn),n&&(i.next=n,n.previous=i),n=i});var r=new LL(t.editor);r.next=n,n&&(n.previous=r),kL=r;var i=t.editor.onDidChangeCursorPosition(function(e){TL||(kL=null,i.dispose())})}})),i.then(function(){if(kL&&(kL=e?kL.next:kL.previous)){TL=!0;try{t.editor.setSelection(kL.selection)}finally{TL=!1}}})},e.ID=\"editor.contrib.smartSelectController\",e=NL([IL(1,Tr)],e)}(),OL=function(e){function t(t,n){var r=e.call(this,n)||this;return r._forward=t,r}return ML(t,e),t.prototype.run=function(e,t){var n=FL.get(t);if(n)return n.run(this._forward)},t}(qu),PL=function(e){function t(){return e.call(this,!0,{id:\"editor.action.smartSelect.grow\",label:ns(\"smartSelect.grow\",\"Expand Select\"),alias:\"Expand Select\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:1553,mac:{primary:3345}}})||this}return ML(t,e),t}(OL),BL=function(e){function t(){return e.call(this,!1,{id:\"editor.action.smartSelect.shrink\",label:ns(\"smartSelect.shrink\",\"Shrink Select\"),alias:\"Shrink Select\",precondition:null,kbOpts:{kbExpr:nl.editorTextFocus,primary:1551,mac:{primary:3343}}})||this}return ML(t,e),t}(OL);el(FL),$u(PL),$u(BL);var RL,jL=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){e[e.Dollar=0]=\"Dollar\",e[e.Colon=1]=\"Colon\",e[e.Comma=2]=\"Comma\",e[e.CurlyOpen=3]=\"CurlyOpen\",e[e.CurlyClose=4]=\"CurlyClose\",e[e.Backslash=5]=\"Backslash\",e[e.Forwardslash=6]=\"Forwardslash\",e[e.Pipe=7]=\"Pipe\",e[e.Int=8]=\"Int\",e[e.VariableName=9]=\"VariableName\",e[e.Format=10]=\"Format\",e[e.Plus=11]=\"Plus\",e[e.Dash=12]=\"Dash\",e[e.QuestionMark=13]=\"QuestionMark\",e[e.EOF=14]=\"EOF\"}(RL||(RL={}));var zL=function(){function e(){this.text(\"\")}return e.isDigitCharacter=function(e){return e>=48&&e<=57},e.isVariableCharacter=function(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90},e.prototype.text=function(e){this.value=e,this.pos=0},e.prototype.tokenText=function(e){return this.value.substr(e.pos,e.len)},e.prototype.next=function(){if(this.pos>=this.value.length)return{type:RL.EOF,pos:this.pos,len:0};var t,n=this.pos,r=0,i=this.value.charCodeAt(n);if(\"number\"==typeof(t=e._table[i]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(i)){t=RL.Int;do{r+=1,i=this.value.charCodeAt(n+r)}while(e.isDigitCharacter(i));return this.pos+=r,{type:t,pos:n,len:r}}if(e.isVariableCharacter(i)){t=RL.VariableName;do{i=this.value.charCodeAt(n+ ++r)}while(e.isVariableCharacter(i)||e.isDigitCharacter(i));return this.pos+=r,{type:t,pos:n,len:r}}t=RL.Format;do{r+=1,i=this.value.charCodeAt(n+r)}while(!isNaN(i)&&void 0===e._table[i]&&!e.isDigitCharacter(i)&&!e.isVariableCharacter(i));return this.pos+=r,{type:t,pos:n,len:r}},e._table=((qL={})[36]=RL.Dollar,qL[58]=RL.Colon,qL[44]=RL.Comma,qL[123]=RL.CurlyOpen,qL[125]=RL.CurlyClose,qL[92]=RL.Backslash,qL[47]=RL.Forwardslash,qL[124]=RL.Pipe,qL[43]=RL.Plus,qL[45]=RL.Dash,qL[63]=RL.QuestionMark,qL),e}(),WL=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof VL&&this._children[this._children.length-1]instanceof VL?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,r=n.children.indexOf(e),i=n.children.slice(0);i.splice.apply(i,[r,1].concat(t)),n._children=i,t.forEach(function(e){return e.parent=n})},Object.defineProperty(e.prototype,\"children\",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"snippet\",{get:function(){for(var e=this;;){if(!e)return;if(e instanceof JL)return e;e=e.parent}},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.children.reduce(function(e,t){return e+t.toString()},\"\")},e.prototype.len=function(){return 0},e}(),VL=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n}return jL(t,e),t.escape=function(e){return e.replace(/\\$|}|\\\\/g,\"\\\\$&\")},t.prototype.toString=function(){return this.value},t.prototype.toTextmateString=function(){return t.escape(this.value)},t.prototype.len=function(){return this.value.length},t.prototype.clone=function(){return new t(this.value)},t}(WL),HL=function(e){function t(t){var n=e.call(this)||this;return n.index=t,n}return jL(t,e),t.compareByIndex=function(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop?-1:e.index<t.index?-1:e.index>t.index?1:0},Object.defineProperty(t.prototype,\"isFinalTabstop\",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"choice\",{get:function(){return 1===this._children.length&&this._children[0]instanceof UL?this._children[0]:void 0},enumerable:!0,configurable:!0}),t.prototype.toTextmateString=function(){return 0===this.children.length?\"$\"+this.index:this.choice?\"${\"+this.index+\"|\"+this.choice.toTextmateString()+\"|}\":\"${\"+this.index+\":\"+this.children.map(function(e){return e.toTextmateString()}).join(\"\")+\"}\"},t.prototype.clone=function(){var e=new t(this.index);return e._children=this.children.map(function(e){return e.clone()}),e},t}(WL),UL=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return jL(t,e),t.prototype.appendChild=function(e){return e instanceof VL&&(e.parent=this,this.options.push(e)),this},t.prototype.toString=function(){return this.options[0].value},t.prototype.toTextmateString=function(){return this.options.map(function(e){return e.value.replace(/\\||,/g,\"\\\\$&\")}).join(\",\")},t.prototype.len=function(){return this.options[0].len()},t.prototype.clone=function(){var e=new t;return this.options.forEach(e.appendChild,e),e},t}(WL),YL=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return jL(t,e),t.prototype.resolve=function(e){var t=this;return e.replace(this.regexp,function(){for(var e=\"\",n=0,r=t._children;n<r.length;n++){var i=r[n];if(i instanceof ZL){var o=arguments.length-2>i.index?arguments[i.index]:\"\";e+=o=i.resolve(o)}else e+=i.toString()}return e})},t.prototype.toString=function(){return\"\"},t.prototype.toTextmateString=function(){return\"/\"+VL.escape(this.regexp.source)+\"/\"+this.children.map(function(e){return e.toTextmateString()})+\"/\"+(this.regexp.ignoreCase?\"i\":\"\")},t.prototype.clone=function(){var e=new t;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?\"i\":\"\")+(this.regexp.global?\"g\":\"\")),e._children=this.children.map(function(e){return e.clone()}),e},t}(WL),ZL=function(e){function t(t,n,r,i){var o=e.call(this)||this;return o.index=t,o.shorthandName=n,o.ifValue=r,o.elseValue=i,o}return jL(t,e),t.prototype.resolve=function(e){return\"upcase\"===this.shorthandName?e?e.toLocaleUpperCase():\"\":\"downcase\"===this.shorthandName?e?e.toLocaleLowerCase():\"\":\"capitalize\"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):\"\":Boolean(e)&&\"string\"==typeof this.ifValue?this.ifValue:Boolean(e)||\"string\"!=typeof this.elseValue?e||\"\":this.elseValue},t.prototype.toTextmateString=function(){var e=\"${\";return e+=this.index,this.shorthandName?e+=\":/\"+this.shorthandName:this.ifValue&&this.elseValue?e+=\":?\"+this.ifValue+\":\"+this.elseValue:this.ifValue?e+=\":+\"+this.ifValue:this.elseValue&&(e+=\":-\"+this.elseValue),e+=\"}\"},t.prototype.clone=function(){return new t(this.index,this.shorthandName,this.ifValue,this.elseValue)},t}(WL),GL=function(e){function t(t){var n=e.call(this)||this;return n.name=t,n}return jL(t,e),t.prototype.resolve=function(e){var t=e.resolve(this),n=this._children[0];return n instanceof YL&&1===this._children.length&&(t=n.resolve(t||\"\")),void 0!==t&&(this._children=[new VL(t)],!0)},t.prototype.toTextmateString=function(){return 0===this.children.length?\"${\"+this.name+\"}\":\"${\"+this.name+\":\"+this.children.map(function(e){return e.toTextmateString()}).join(\"\")+\"}\"},t.prototype.clone=function(){var e=new t(this.name);return e._children=this.children.map(function(e){return e.clone()}),e},t}(WL);function KL(e,t){for(var n=e.slice();n.length>0;){var r=n.shift();if(!t(r))break;n.unshift.apply(n,r.children)}}var qL,QL,XL,JL=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return jL(t,e),Object.defineProperty(t.prototype,\"placeholderInfo\",{get:function(){if(!this._placeholders){var e,t=[];this.walk(function(n){return n instanceof HL&&(t.push(n),e=!e||e.index<n.index?n:e),!0}),this._placeholders={all:t,last:e}}return this._placeholders},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"placeholders\",{get:function(){return this.placeholderInfo.all},enumerable:!0,configurable:!0}),t.prototype.offset=function(e){var t=0,n=!1;return this.walk(function(r){return r===e?(n=!0,!1):(t+=r.len(),!0)}),n?t:-1},t.prototype.fullLen=function(e){var t=0;return KL([e],function(e){return t+=e.len(),!0}),t},t.prototype.enclosingPlaceholders=function(e){for(var t=[],n=e.parent;n;)n instanceof HL&&t.push(n),n=n.parent;return t},t.prototype.resolveVariables=function(e){var t=this;return this.walk(function(n){return n instanceof GL&&n.resolve(e)&&(t._placeholders=void 0),!0}),this},t.prototype.appendChild=function(t){return this._placeholders=void 0,e.prototype.appendChild.call(this,t)},t.prototype.replace=function(t,n){return this._placeholders=void 0,e.prototype.replace.call(this,t,n)},t.prototype.toTextmateString=function(){return this.children.reduce(function(e,t){return e+t.toTextmateString()},\"\")},t.prototype.clone=function(){var e=new t;return this._children=this.children.map(function(e){return e.clone()}),e},t.prototype.walk=function(e){KL(this.children,e)},t}(WL),$L=function(){function e(){this._scanner=new zL}return e.escape=function(e){return e.replace(/\\$|}|\\\\/g,\"\\\\$&\")},e.prototype.text=function(e){return this.parse(e).toString()},e.prototype.parse=function(e,t,n){this._scanner.text(e),this._token=this._scanner.next();for(var r=new JL;this._parse(r););var i=new Map,o=[],s=0;r.walk(function(e){return e instanceof HL&&(s+=1,e.isFinalTabstop?i.set(0,void 0):!i.has(e.index)&&e.children.length>0?i.set(e.index,e.children):o.push(e)),!0});for(var a=0,u=o;a<u.length;a++){var l=u[a];if(i.has(l.index)){for(var c=new HL(l.index),h=0,d=i.get(l.index);h<d.length;h++){var p=d[h];c.appendChild(p.clone())}r.replace(l,[c])}}return n||(n=s>0&&t),!i.has(0)&&n&&r.appendChild(new HL(0)),r},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}return!1},e.prototype._backTo=function(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1},e.prototype._until=function(e){if(this._token.type===RL.EOF)return!1;for(var t=this._token;this._token.type!==e;)this._token=this._scanner.next();var n=this._scanner.value.substring(t.pos,this._token.pos);return this._token=this._scanner.next(),n},e.prototype._parse=function(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)},e.prototype._parseEscaped=function(e){var t;return!!(t=this._accept(RL.Backslash,!0))&&(t=this._accept(RL.Dollar,!0)||this._accept(RL.CurlyClose,!0)||this._accept(RL.Backslash,!0)||t,e.appendChild(new VL(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=this._token;return this._accept(RL.Dollar)&&(t=this._accept(RL.VariableName,!0)||this._accept(RL.Int,!0))?(e.appendChild(/^\\d+$/.test(t)?new HL(Number(t)):new GL(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(RL.Dollar)&&this._accept(RL.CurlyOpen)&&(t=this._accept(RL.Int,!0))))return this._backTo(n);var r=new HL(Number(t));if(this._accept(RL.Colon))for(;;){if(this._accept(RL.CurlyClose))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new VL(\"${\"+t+\":\")),r.children.forEach(e.appendChild,e),!0}else{if(!(r.index>0&&this._accept(RL.Pipe)))return this._accept(RL.CurlyClose)?(e.appendChild(r),!0):this._backTo(n);for(var i=new UL;;){if(this._parseChoiceElement(i)){if(this._accept(RL.Comma))continue;if(this._accept(RL.Pipe)&&this._accept(RL.CurlyClose))return r.appendChild(i),e.appendChild(r),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];this._token.type!==RL.Comma&&this._token.type!==RL.Pipe;){var r=void 0;if(!(r=(r=this._accept(RL.Backslash,!0))?this._accept(RL.Comma,!0)||this._accept(RL.Pipe,!0)||r:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(r)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new VL(n.join(\"\"))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(RL.Dollar)&&this._accept(RL.CurlyOpen)&&(t=this._accept(RL.VariableName,!0))))return this._backTo(n);var r=new GL(t);if(!this._accept(RL.Colon))return this._accept(RL.Forwardslash)?this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1):this._accept(RL.CurlyClose)?(e.appendChild(r),!0):this._backTo(n);for(;;){if(this._accept(RL.CurlyClose))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new VL(\"${\"+t+\":\")),r.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new YL,n=\"\",r=\"\";!this._accept(RL.Forwardslash);){var i=void 0;if(i=this._accept(RL.Backslash,!0))n+=i=this._accept(RL.Forwardslash,!0)||i;else{if(this._token.type===RL.EOF)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(RL.Forwardslash);){i=void 0;if(i=this._accept(RL.Backslash,!0))i=this._accept(RL.Forwardslash,!0)||i,t.appendChild(new VL(i));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(RL.CurlyClose);){if(this._token.type===RL.EOF)return!1;r+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,r)}catch(e){return!1}return e.appendChild(t),!0},e.prototype._parseFormatString=function(e){var t=this._token;if(!this._accept(RL.Dollar))return!1;var n=!1;this._accept(RL.CurlyOpen)&&(n=!0);var r=this._accept(RL.Int,!0);if(!r)return this._backTo(t),!1;if(!n)return e.appendChild(new ZL(Number(r))),!0;if(this._accept(RL.CurlyClose))return e.appendChild(new ZL(Number(r))),!0;if(!this._accept(RL.Colon))return this._backTo(t),!1;if(this._accept(RL.Forwardslash)){var i=this._accept(RL.VariableName,!0);return i&&this._accept(RL.CurlyClose)?(e.appendChild(new ZL(Number(r),i)),!0):(this._backTo(t),!1)}if(this._accept(RL.Plus)){if(o=this._until(RL.CurlyClose))return e.appendChild(new ZL(Number(r),void 0,o,void 0)),!0}else if(this._accept(RL.Dash)){if(s=this._until(RL.CurlyClose))return e.appendChild(new ZL(Number(r),void 0,void 0,s)),!0}else if(this._accept(RL.QuestionMark)){var o;if(o=this._until(RL.Colon))if(s=this._until(RL.CurlyClose))return e.appendChild(new ZL(Number(r),void 0,o,s)),!0}else{var s;if(s=this._until(RL.CurlyClose))return e.appendChild(new ZL(Number(r),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return this._token.type!==RL.EOF&&(e.appendChild(new VL(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}(),ek=(n(361),Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0}),function(){function e(e){this._delegates=e}return e.prototype.resolve=function(e){for(var t=0,n=this._delegates;t<n.length;t++){var r=n[t].resolve(e);if(void 0!==r)return r}},e}()),tk=function(){function e(e,t){this._model=e,this._selection=t}return e.prototype.resolve=function(e){var t=e.name;if(\"SELECTION\"===t||\"TM_SELECTED_TEXT\"===t){var n=this._model.getValueInRange(this._selection)||void 0;if(n&&this._selection.startLineNumber!==this._selection.endLineNumber){var r=_t(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1),i=r;e.snippet.walk(function(t){return t!==e&&(t instanceof VL&&(i=_t(t.value.split(/\\r\\n|\\r|\\n/).pop())),!0)});var o=It(i,r);n=n.replace(/(\\r\\n|\\r|\\n)(.*)/g,function(e,t,n){return\"\"+t+i.substr(o)+n})}return n}if(\"TM_CURRENT_LINE\"===t)return this._model.getLineContent(this._selection.positionLineNumber);if(\"TM_CURRENT_WORD\"===t){var s=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return s&&s.word||void 0}return\"TM_LINE_INDEX\"===t?String(this._selection.positionLineNumber-1):\"TM_LINE_NUMBER\"===t?String(this._selection.positionLineNumber):void 0},e}(),nk=function(){function e(e){this._model=e}return e.prototype.resolve=function(e){var t=e.name;if(\"TM_FILENAME\"===t)return er(this._model.uri.fsPath);if(\"TM_FILENAME_BASE\"===t){var n=er(this._model.uri.fsPath),r=n.lastIndexOf(\".\");return r<=0?n:n.slice(0,r)}if(\"TM_DIRECTORY\"===t){var i=$n(this._model.uri.fsPath);return\".\"!==i?i:\"\"}return\"TM_FILEPATH\"===t?this._model.uri.fsPath:void 0},e}(),rk=function(){function e(e,t,n){this._clipboardService=e,this._selectionIdx=t,this._selectionCount=n}return e.prototype.resolve=function(e){if(\"CLIPBOARD\"===e.name&&this._clipboardService){var t=this._clipboardService.readText();if(t){var n=t.split(/\\r\\n|\\n|\\r/).filter(function(e){return!Qe(e)});return n.length===this._selectionCount?n[this._selectionIdx]:t}}},e}(),ik=function(){function e(){}return e.prototype.resolve=function(t){var n=t.name;return\"CURRENT_YEAR\"===n?String((new Date).getFullYear()):\"CURRENT_YEAR_SHORT\"===n?String((new Date).getFullYear()).slice(-2):\"CURRENT_MONTH\"===n?Xe((new Date).getMonth().valueOf()+1,2):\"CURRENT_DATE\"===n?Xe((new Date).getDate().valueOf(),2):\"CURRENT_HOUR\"===n?Xe((new Date).getHours().valueOf(),2):\"CURRENT_MINUTE\"===n?Xe((new Date).getMinutes().valueOf(),2):\"CURRENT_SECOND\"===n?Xe((new Date).getSeconds().valueOf(),2):\"CURRENT_DAY_NAME\"===n?e.dayNames[(new Date).getDay()]:\"CURRENT_DAY_NAME_SHORT\"===n?e.dayNamesShort[(new Date).getDay()]:\"CURRENT_MONTH_NAME\"===n?e.monthNames[(new Date).getMonth()]:\"CURRENT_MONTH_NAME_SHORT\"===n?e.monthNamesShort[(new Date).getMonth()]:void 0},e.dayNames=[ns(\"Sunday\",\"Sunday\"),ns(\"Monday\",\"Monday\"),ns(\"Tuesday\",\"Tuesday\"),ns(\"Wednesday\",\"Wednesday\"),ns(\"Thursday\",\"Thursday\"),ns(\"Friday\",\"Friday\"),ns(\"Saturday\",\"Saturday\")],e.dayNamesShort=[ns(\"SundayShort\",\"Sun\"),ns(\"MondayShort\",\"Mon\"),ns(\"TuesdayShort\",\"Tue\"),ns(\"WednesdayShort\",\"Wed\"),ns(\"ThursdayShort\",\"Thu\"),ns(\"FridayShort\",\"Fri\"),ns(\"SaturdayShort\",\"Sat\")],e.monthNames=[ns(\"January\",\"January\"),ns(\"February\",\"February\"),ns(\"March\",\"March\"),ns(\"April\",\"April\"),ns(\"May\",\"May\"),ns(\"June\",\"June\"),ns(\"July\",\"July\"),ns(\"August\",\"August\"),ns(\"September\",\"September\"),ns(\"October\",\"October\"),ns(\"November\",\"November\"),ns(\"December\",\"December\")],e.monthNamesShort=[ns(\"JanuaryShort\",\"Jan\"),ns(\"FebruaryShort\",\"Feb\"),ns(\"MarchShort\",\"Mar\"),ns(\"AprilShort\",\"Apr\"),ns(\"MayShort\",\"May\"),ns(\"JuneShort\",\"Jun\"),ns(\"JulyShort\",\"Jul\"),ns(\"AugustShort\",\"Aug\"),ns(\"SeptemberShort\",\"Sep\"),ns(\"OctoberShort\",\"Oct\"),ns(\"NovemberShort\",\"Nov\"),ns(\"DecemberShort\",\"Dec\")],e}(),ok=function(){function e(e,t,n){this._nestingLevel=1,this._editor=e,this._snippet=t,this._offset=n,this._placeholderGroups=Un(t.placeholders,HL.compareByIndex),this._placeholderGroupsIdx=-1}return e.prototype.dispose=function(){if(this._placeholderDecorations){var e=[];this._placeholderDecorations.forEach(function(t){return e.push(t)}),this._editor.deltaDecorations(e,[])}this._placeholderGroups.length=0},e.prototype._initDecorations=function(){var t=this;if(!this._placeholderDecorations){this._placeholderDecorations=new Map;var n=this._editor.getModel();this._editor.changeDecorations(function(r){for(var i=0,o=t._snippet.placeholders;i<o.length;i++){var s=o[i],a=t._snippet.offset(s),u=t._snippet.fullLen(s),l=be.fromPositions(n.getPositionAt(t._offset+a),n.getPositionAt(t._offset+a+u)),c=s.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,h=r.addDecoration(l,c);t._placeholderDecorations.set(s,h)}})}},e.prototype.move=function(t){var n=this;return this._initDecorations(),!0===t&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?this._placeholderGroupsIdx+=1:!1===t&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1),this._editor.getModel().changeDecorations(function(t){for(var r=new Set,i=[],o=0,s=n._placeholderGroups[n._placeholderGroupsIdx];o<s.length;o++){var a=s[o],u=n._placeholderDecorations.get(a),l=n._editor.getModel().getDecorationRange(u);i.push(new Ii(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn)),t.changeDecorationOptions(u,a.isFinalTabstop?e._decor.activeFinal:e._decor.active),r.add(a);for(var c=0,h=n._snippet.enclosingPlaceholders(a);c<h.length;c++){var d=h[c],p=n._placeholderDecorations.get(d);t.changeDecorationOptions(p,d.isFinalTabstop?e._decor.activeFinal:e._decor.active),r.add(d)}}return n._placeholderDecorations.forEach(function(n,i){r.has(i)||t.changeDecorationOptions(n,i.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive)}),i})},Object.defineProperty(e.prototype,\"isAtFirstPlaceholder\",{get:function(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isAtLastPlaceholder\",{get:function(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasPlaceholder\",{get:function(){return this._snippet.placeholders.length>0},enumerable:!0,configurable:!0}),e.prototype.computePossibleSelections=function(){for(var e=new Map,t=0,n=this._placeholderGroups;t<n.length;t++)for(var r=void 0,i=0,o=n[t];i<o.length;i++){var s=o[i];if(s.isFinalTabstop)break;r||(r=[],e.set(s.index,r));var a=this._placeholderDecorations.get(s),u=this._editor.getModel().getDecorationRange(a);r.push(u)}return e},Object.defineProperty(e.prototype,\"choice\",{get:function(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice},enumerable:!0,configurable:!0}),e.prototype.merge=function(t){var n=this,r=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(function(i){for(var o=0,s=n._placeholderGroups[n._placeholderGroupsIdx];o<s.length;o++){var a=s[o],u=t.shift();console.assert(!u._placeholderDecorations);for(var l=0,c=u._snippet.placeholderInfo.all;l<c.length;l++){var h=c[l];h.isFinalTabstop?h.index=a.index+(u._snippet.placeholderInfo.last.index+1)/n._nestingLevel:h.index=a.index+h.index/n._nestingLevel}n._snippet.replace(a,u._snippet.children);var d=n._placeholderDecorations.get(a);i.removeDecoration(d),n._placeholderDecorations.delete(a);for(var p=0,f=u._snippet.placeholders;p<f.length;p++){var g=f[p],m=u._snippet.offset(g),v=u._snippet.fullLen(g),y=be.fromPositions(r.getPositionAt(u._offset+m),r.getPositionAt(u._offset+m+v)),b=i.addDecoration(y,e._decor.inactive);n._placeholderDecorations.set(g,b)}}n._placeholderGroups=Un(n._snippet.placeholders,HL.compareByIndex)})},e.prototype.getEnclosingRange=function(){var e,t=this._editor.getModel();return this._placeholderDecorations.forEach(function(n){var r=t.getDecorationRange(n);e=e?e.plusRange(r):r}),e},e._decor={active:Ma.register({stickiness:Pn.AlwaysGrowsWhenTypingAtEdges,className:\"snippet-placeholder\"}),inactive:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"snippet-placeholder\"}),activeFinal:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"finish-snippet-placeholder\"}),inactiveFinal:Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"finish-snippet-placeholder\"})},e}(),sk=function(){function e(e,t,n,r){void 0===n&&(n=0),void 0===r&&(r=0),this._templateMerges=[],this._snippets=[],this._editor=e,this._template=t,this._overwriteBefore=n,this._overwriteAfter=r}return e.adjustWhitespace=function(e,t,n){for(var r=_t(e.getLineContent(t.lineNumber),0,t.column-1),i=n.split(/\\r\\n|\\r|\\n/),o=1;o<i.length;o++){var s=_t(i[o]);i[o]=e.normalizeIndentation(r+s)+i[o].substr(s.length)}return i.join(e.getEOL())},e.adjustSelection=function(e,t,n,r){if(0!==n||0!==r){var i=t.positionLineNumber,o=t.positionColumn,s=o-n,a=o+r,u=e.validateRange({startLineNumber:i,startColumn:s,endLineNumber:i,endColumn:a});t=Ii.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t},e.createEditsAndSnippets=function(t,n,r,i,o){for(var s=t.getModel(),a=[],u=[],l=new nk(s),c=t.invokeWithinContext(function(e){return e.get(Aw,Pr)}),h=0,d=s.getValueInRange(e.adjustSelection(s,t.getSelection(),r,0)),p=s.getValueInRange(e.adjustSelection(s,t.getSelection(),0,i)),f=t.getSelections().map(function(e,t){return{selection:e,idx:t}}).sort(function(e,t){return be.compareRangesUsingStarts(e.selection,t.selection)}),g=0,m=f;g<m.length;g++){var v=m[g],y=v.selection,b=v.idx,_=e.adjustSelection(s,y,r,0),C=e.adjustSelection(s,y,0,i);d!==s.getValueInRange(_)&&(_=y),p!==s.getValueInRange(C)&&(C=y);var w=y.setStartPosition(_.startLineNumber,_.startColumn).setEndPosition(C.endLineNumber,C.endColumn),D=w.getStartPosition(),E=e.adjustWhitespace(s,D,n),A=(new $L).parse(E,!0,o).resolveVariables(new ek([l,new rk(c,b,f.length),new tk(s,y),new ik])),S=s.getOffsetAt(D)+h;h+=A.toString().length-s.getValueLengthInRange(w),a[b]=S_.replace(w,A.toString()),u[b]=new ok(t,A,S)}return{edits:a,snippets:u}},e.prototype.dispose=function(){on(this._snippets)},e.prototype._logInfo=function(){return'template=\"'+this._template+'\", merged_templates=\"'+this._templateMerges.join(\" -> \")+'\"'},e.prototype.insert=function(){var t=this,n=this._editor.getModel(),r=e.createEditsAndSnippets(this._editor,this._template,this._overwriteBefore,this._overwriteAfter,!1),i=r.edits,o=r.snippets;this._snippets=o;var s=n.pushEditOperations(this._editor.getSelections(),i,function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map(function(e){return Ii.fromPositions(e.range.getEndPosition())})});this._editor.setSelections(s),this._editor.revealRange(s[0])},e.prototype.merge=function(t,n,r){var i=this;void 0===n&&(n=0),void 0===r&&(r=0),this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var o=e.createEditsAndSnippets(this._editor,t,n,r,!0),s=o.edits,a=o.snippets;this._editor.setSelections(this._editor.getModel().pushEditOperations(this._editor.getSelections(),s,function(e){for(var t=0,n=i._snippets;t<n.length;t++){n[t].merge(a)}return console.assert(0===a.length),i._snippets[0].hasPlaceholder?i._move(void 0):e.map(function(e){return Ii.fromPositions(e.range.getEndPosition())})}))},e.prototype.next=function(){var e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())},e.prototype.prev=function(){var e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())},e.prototype._move=function(e){for(var t=[],n=0,r=this._snippets;n<r.length;n++){var i=r[n].move(e);t.push.apply(t,i)}return t},Object.defineProperty(e.prototype,\"isAtFirstPlaceholder\",{get:function(){return this._snippets[0].isAtFirstPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"isAtLastPlaceholder\",{get:function(){return this._snippets[0].isAtLastPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasPlaceholder\",{get:function(){return this._snippets[0].hasPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"choice\",{get:function(){return this._snippets[0].choice},enumerable:!0,configurable:!0}),e.prototype.isSelectionWithinPlaceholders=function(){if(!this.hasPlaceholder)return!1;var e,t=this._editor.getSelections();if(t.length<this._snippets.length)return!1;for(var n=function(n){var r=n.computePossibleSelections();if(e||(e=new Map,r.forEach(function(n,r){n.sort(be.compareRangesUsingStarts);for(var i=0,o=t;i<o.length;i++){var s=o[i];if(n[0].containsRange(s)){e.set(r,[]);break}}})),0===e.size)return{value:!1};e.forEach(function(e,t){e.push.apply(e,r.get(t))})},r=0,i=this._snippets;r<i.length;r++){var o=n(i[r]);if(\"object\"==typeof o)return o.value}return t.sort(be.compareRangesUsingStarts),e.forEach(function(n,r){if(n.length===t.length){n.sort(be.compareRangesUsingStarts);for(var i=0;i<n.length;i++)if(!n[i].containsRange(t[i]))return void e.delete(r)}else e.delete(r)}),e.size>0},e.prototype.getEnclosingRange=function(){for(var e,t=0,n=this._snippets;t<n.length;t++){var r=n[t].getEnclosingRange();e=e?e.plusRange(r):r}return e},e}(),ak={Visible:new Au(\"suggestWidgetVisible\",!1),MultipleSuggestions:new Au(\"suggestWidgetMultipleSuggestions\",!1),MakesTextEdit:new Au(\"suggestionMakesTextEdit\",!0),AcceptOnKey:new Au(\"suggestionSupportsAcceptOnKey\",!0),AcceptSuggestionsOnEnter:new Au(\"acceptSuggestionOnEnter\",!0)};function uk(e,t,n,r,i){void 0===n&&(n=\"bottom\");var o=[],s=function(e){return\"none\"===e?function(e){return\"snippet\"!==e.type}:function(){return!0}}(n);t=t.clone();var a=hi.orderedGroups(e);\"none\"!==n&&QL&&a.unshift([QL]);var u=i||{triggerKind:$r.Invoke},l=!1;return Wl(a.map(function(n){return function(){if(!l)return cn.b.join(n.map(function(n){if(Zn(r)||!(r.indexOf(n)<0))return Pl(function(r){return n.provideCompletionItems(e,t,u,r)}).then(function(r){var i=o.length;if(r&&!Zn(r.suggestions))for(var a=0,u=r.suggestions;a<u.length;a++){var c=u[a];s(c)&&(lk(c,r),o.push({position:t,container:r,suggestion:c,support:n,resolve:ck(n,c,e,t)}))}i!==o.length&&n!==QL&&(l=!0)},fn)}))}})).then(function(){return o.sort(fk(n))})}function lk(e,t){\"number\"!=typeof e.overwriteBefore&&(e.overwriteBefore=0),(\"number\"!=typeof e.overwriteAfter||e.overwriteAfter<0)&&(e.overwriteAfter=0)}function ck(e,t,n,r){return function(){return\"function\"==typeof e.resolveCompletionItem?Pl(function(i){return e.resolveCompletionItem(n,r,t,i)}).then(function(e){!function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];t.forEach(function(t){return Object.keys(t).forEach(function(n){return e[n]=t[n]})})}(t,e)}):cn.b.as(void 0)}}function hk(e,t){var n=0;return\"string\"==typeof e.suggestion.sortText&&\"string\"==typeof t.suggestion.sortText&&(n=Dt(e.suggestion.sortText,t.suggestion.sortText)),0===n&&(n=Dt(e.suggestion.label,t.suggestion.label)),0===n&&e.suggestion.type!==t.suggestion.type&&(\"snippet\"===e.suggestion.type?n=1:\"snippet\"===t.suggestion.type&&(n=-1)),n}function dk(e,t){if(e.suggestion.type!==t.suggestion.type){if(\"snippet\"===e.suggestion.type)return-1;if(\"snippet\"===t.suggestion.type)return 1}return hk(e,t)}function pk(e,t){if(e.suggestion.type!==t.suggestion.type){if(\"snippet\"===e.suggestion.type)return 1;if(\"snippet\"===t.suggestion.type)return-1}return hk(e,t)}function fk(e){return\"top\"===e?dk:\"bottom\"===e?pk:hk}Xu(\"_executeCompletionItemProvider\",function(e,t,n){var r={incomplete:!1,suggestions:[]},i=[],o=n.maxItemsToResolve||0;return uk(e,t).then(function(e){for(var t=0,n=e;t<n.length;t++){var s=n[t];i.length<o&&i.push(s.resolve()),r.incomplete=r.incomplete||s.container.incomplete,r.suggestions.push(s.suggestion)}}).then(function(){return cn.b.join(i)}).then(function(){return r})});var gk=new(function(){function e(){}return e.prototype.provideCompletionItems=function(){return XL&&{suggestions:XL}},e}());hi.register(\"*\",gk);var mk,vk=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),yk=Or(\"logService\");!function(e){e[e.Trace=0]=\"Trace\",e[e.Debug=1]=\"Debug\",e[e.Info=2]=\"Info\",e[e.Warning=3]=\"Warning\",e[e.Error=4]=\"Error\",e[e.Critical=5]=\"Critical\",e[e.Off=6]=\"Off\"}(mk||(mk={}));var bk=mk.Info,_k=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.level=bk,t._onDidChangeLogLevel=t._register(new wn),t.onDidChangeLogLevel=t._onDidChangeLogLevel.event,t}return vk(t,e),t.prototype.setLevel=function(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))},t.prototype.getLevel=function(){return this.level},t}(un),Ck=(function(e){function t(t){void 0===t&&(t=bk);var n=e.call(this)||this;return n.setLevel(t),n.useColors=!we.g,n}vk(t,e),t.prototype.trace=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Trace&&(this.useColors?console.log.apply(console,[\"\u001b[90m[main \"+(new Date).toLocaleTimeString()+\"]\u001b[0m\",e].concat(t)):console.log.apply(console,[\"[main \"+(new Date).toLocaleTimeString()+\"]\",e].concat(t)))},t.prototype.debug=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Debug&&(this.useColors?console.log.apply(console,[\"\u001b[90m[main \"+(new Date).toLocaleTimeString()+\"]\u001b[0m\",e].concat(t)):console.log.apply(console,[\"[main \"+(new Date).toLocaleTimeString()+\"]\",e].concat(t)))},t.prototype.info=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Info&&(this.useColors?console.log.apply(console,[\"\u001b[90m[main \"+(new Date).toLocaleTimeString()+\"]\u001b[0m\",e].concat(t)):console.log.apply(console,[\"[main \"+(new Date).toLocaleTimeString()+\"]\",e].concat(t)))},t.prototype.warn=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Warning&&(this.useColors?console.warn.apply(console,[\"\u001b[93m[main \"+(new Date).toLocaleTimeString()+\"]\u001b[0m\",e].concat(t)):console.warn.apply(console,[\"[main \"+(new Date).toLocaleTimeString()+\"]\",e].concat(t)))},t.prototype.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Error&&(this.useColors?console.error.apply(console,[\"\u001b[91m[main \"+(new Date).toLocaleTimeString()+\"]\u001b[0m\",e].concat(t)):console.error.apply(console,[\"[main \"+(new Date).toLocaleTimeString()+\"]\",e].concat(t)))},t.prototype.critical=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Critical&&(this.useColors?console.error.apply(console,[\"\u001b[90m[main \"+(new Date).toLocaleTimeString()+\"]\u001b[0m\",e].concat(t)):console.error.apply(console,[\"[main \"+(new Date).toLocaleTimeString()+\"]\",e].concat(t)))},t.prototype.dispose=function(){}}(_k),function(e){function t(t){void 0===t&&(t=bk);var n=e.call(this)||this;return n.setLevel(t),n}vk(t,e),t.prototype.trace=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Trace&&console.log.apply(console,[\"%cTRACE\",\"color: #888\",e].concat(t))},t.prototype.debug=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Debug&&console.log.apply(console,[\"%cDEBUG\",\"background: #eee; color: #888\",e].concat(t))},t.prototype.info=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Info&&console.log.apply(console,[\"%c INFO\",\"color: #33f\",e].concat(t))},t.prototype.warn=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Warning&&console.log.apply(console,[\"%c WARN\",\"color: #993\",e].concat(t))},t.prototype.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Error&&console.log.apply(console,[\"%c  ERR\",\"color: #f33\",e].concat(t))},t.prototype.critical=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.getLevel()<=mk.Critical&&console.log.apply(console,[\"%cCRITI\",\"background: #f33; color: white\",e].concat(t))},t.prototype.dispose=function(){}}(_k),function(e){function t(t){var n=e.call(this)||this;return n.logServices=t,t.length&&n.setLevel(t[0].getLevel()),n}vk(t,e),t.prototype.setLevel=function(t){for(var n=0,r=this.logServices;n<r.length;n++){r[n].setLevel(t)}e.prototype.setLevel.call(this,t)},t.prototype.trace=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,i=this.logServices;r<i.length;r++){var o=i[r];o.trace.apply(o,[e].concat(t))}},t.prototype.debug=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,i=this.logServices;r<i.length;r++){var o=i[r];o.debug.apply(o,[e].concat(t))}},t.prototype.info=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,i=this.logServices;r<i.length;r++){var o=i[r];o.info.apply(o,[e].concat(t))}},t.prototype.warn=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,i=this.logServices;r<i.length;r++){var o=i[r];o.warn.apply(o,[e].concat(t))}},t.prototype.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,i=this.logServices;r<i.length;r++){var o=i[r];o.error.apply(o,[e].concat(t))}},t.prototype.critical=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,i=this.logServices;r<i.length;r++){var o=i[r];o.critical.apply(o,[e].concat(t))}},t.prototype.dispose=function(){for(var e=0,t=this.logServices;e<t.length;e++){t[e].dispose()}}}(_k),function(e){function t(t){var n=e.call(this)||this;return n.logService=t,n._register(t),n}vk(t,e),Object.defineProperty(t.prototype,\"onDidChangeLogLevel\",{get:function(){return this.logService.onDidChangeLogLevel},enumerable:!0,configurable:!0}),t.prototype.setLevel=function(e){this.logService.setLevel(e)},t.prototype.getLevel=function(){return this.logService.getLevel()},t.prototype.trace=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];(t=this.logService).trace.apply(t,[e].concat(n))},t.prototype.debug=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];(t=this.logService).debug.apply(t,[e].concat(n))},t.prototype.info=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];(t=this.logService).info.apply(t,[e].concat(n))},t.prototype.warn=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];(t=this.logService).warn.apply(t,[e].concat(n))},t.prototype.error=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];(t=this.logService).error.apply(t,[e].concat(n))},t.prototype.critical=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];(t=this.logService).critical.apply(t,[e].concat(n))}}(un),function(){function e(){this.onDidChangeLogLevel=(new wn).event}return e.prototype.setLevel=function(e){},e.prototype.getLevel=function(){return mk.Info},e.prototype.trace=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},e.prototype.debug=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},e.prototype.info=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},e.prototype.warn=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},e.prototype.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},e.prototype.critical=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},e.prototype.dispose=function(){},e}());var wk=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Dk=function(e,t){return function(n,r){t(n,r,e)}},Ek=function(){function e(t,n,r){this._editor=t,this._logService=n,this._snippetListener=[],this._inSnippet=e.InSnippetMode.bindTo(r),this._hasNextTabstop=e.HasNextTabstop.bindTo(r),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(r)}return e.get=function(e){return e.getContribution(\"snippetController2\")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),on(this._session)},e.prototype.getId=function(){return\"snippetController2\"},e.prototype.insert=function(e,t,n,r,i){void 0===t&&(t=0),void 0===n&&(n=0),void 0===r&&(r=!0),void 0===i&&(i=!0);try{this._doInsert(e,t,n,r,i)}catch(t){this.cancel(),this._logService.error(t),this._logService.error(\"snippet_error\"),this._logService.error(\"insert_template=\",e),this._logService.error(\"existing_template=\",this._session?this._session._logInfo():\"<no_session>\")}},e.prototype._doInsert=function(e,t,n,r,i){var o=this;void 0===t&&(t=0),void 0===n&&(n=0),void 0===r&&(r=!0),void 0===i&&(i=!0),this._snippetListener=on(this._snippetListener),r&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t,n):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new sk(this._editor,e,t,n),this._session.insert()),i&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener=[this._editor.onDidChangeModelContent(function(e){return e.isFlush&&o.cancel()}),this._editor.onDidChangeModel(function(){return o.cancel()}),this._editor.onDidChangeCursorSelection(function(){return o._updateState()})]},e.prototype._updateState=function(){if(this._session){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}},e.prototype._handleChoice=function(){var e,t,n=this._session.choice;if(n){if(this._currentChoice!==n){this._currentChoice=n,this._editor.setSelections(this._editor.getSelections().map(function(e){return Ii.fromPositions(e.getStartPosition())}));var r=n.options[0];e=this._editor,t=n.options.map(function(e,t){return{type:\"value\",label:e.value,insertText:e.value,sortText:$t(\"a\",t),overwriteAfter:r.value.length}}),setTimeout(function(){XL=t,e.getContribution(\"editor.contrib.suggestController\").triggerSuggest([gk]),XL=void 0},0)}}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),on(this._snippetListener),on(this._session),this._session=void 0,this._modelVersionId=-1},e.prototype.prev=function(){this._session.prev(),this._updateState()},e.prototype.next=function(){this._session.next(),this._updateState()},e.prototype.getSessionEnclosingRange=function(){if(this._session)return this._session.getEnclosingRange()},e.InSnippetMode=new Au(\"inSnippetMode\",!1),e.HasNextTabstop=new Au(\"hasNextTabstop\",!1),e.HasPrevTabstop=new Au(\"hasPrevTabstop\",!1),e=wk([Dk(1,yk),Dk(2,Su)],e)}();el(Ek);var Ak=Ku.bindToContribution(Ek.get);function Sk(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,n){for(var r=0,i=e.length;r<i;r++){var o=e[r](t,n);if(o)return o}return null}}Ju(new Ak({id:\"jumpToNextSnippetPlaceholder\",precondition:mu.and(Ek.InSnippetMode,Ek.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:au.WEIGHT.editorContrib(30),kbExpr:nl.editorTextFocus,primary:2}})),Ju(new Ak({id:\"jumpToPrevSnippetPlaceholder\",precondition:mu.and(Ek.InSnippetMode,Ek.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:au.WEIGHT.editorContrib(30),kbExpr:nl.editorTextFocus,primary:1026}})),Ju(new Ak({id:\"leaveSnippet\",precondition:Ek.InSnippetMode,handler:function(e){return e.cancel()},kbOpts:{weight:au.WEIGHT.editorContrib(30),kbExpr:nl.editorTextFocus,primary:9,secondary:[1033]}})),Ju(new Ak({id:\"acceptSnippet\",precondition:Ek.InSnippetMode,handler:function(e){return e.finish()}}));Mk.bind(void 0,!1);var xk=Mk.bind(void 0,!0);function Mk(e,t,n){return!n||n.length<t.length?null:(e?Nt(n,t):0===n.indexOf(t))?t.length>0?[{start:0,end:t.length}]:[]:null}function Nk(e){return 97<=e&&e<=122}function Ik(e){return 65<=e&&e<=90}function Lk(e){return 48<=e&&e<=57}function kk(e){return 32===e||9===e||10===e||13===e}function Tk(e){return Nk(e)||Ik(e)||Lk(e)}function Fk(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Ok(e,t){for(var n=t;n<e.length;n++){var r=e.charCodeAt(n);if(Ik(r)||Lk(r)||n>0&&!Tk(e.charCodeAt(n-1)))return n}return e.length}function Pk(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]!==t[r].toLowerCase())return null;var i=null,o=r+1;for(i=Pk(e,t,n+1,r+1);!i&&(o=Ok(t,o))<t.length;)i=Pk(e,t,n+1,o),o++;return null===i?null:Fk({start:r,end:r+1},i)}function Bk(e,t){if(!t)return null;if(0===(t=t.trim()).length)return null;if(!function(e){for(var t=0,n=0,r=0,i=0,o=0;o<e.length;o++)Ik(r=e.charCodeAt(o))&&t++,Nk(r)&&n++,kk(r)&&i++;return 0!==t&&0!==n||0!==i?t<=5:e.length<=30}(e))return null;if(t.length>60)return null;var n=function(e){for(var t=0,n=0,r=0,i=0,o=0,s=0;s<e.length;s++)Ik(o=e.charCodeAt(s))&&t++,Nk(o)&&n++,Tk(o)&&r++,Lk(o)&&i++;return{upperPercent:t/e.length,lowerPercent:n/e.length,alphaPercent:r/e.length,numericPercent:i/e.length}}(t);if(!function(e){var t=e.upperPercent,n=e.lowerPercent,r=e.alphaPercent,i=e.numericPercent;return n>.2&&t<.8&&r>.6&&i<.2}(n)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(n))return null;t=t.toLowerCase()}for(var r=null,i=0;i<t.length&&null===(r=Pk(e.toLowerCase(),t,0,i));)i=Ok(t,i+1);return r}Sk(xk,Bk,function(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}),Sk(xk,Bk,function(e,t){return function e(t,n,r,i){if(r===t.length)return[];if(i===n.length)return null;if(t[r]===n[i]){var o=null;return(o=e(t,n,r+1,i+1))?Fk({start:i,end:i+1},o):null}return e(t,n,r,i+1)}(e.toLowerCase(),t.toLowerCase(),0,0)}),new Ke(1e4);function Rk(e,t,n){e=e.toLowerCase(),t=t.toLowerCase();for(var r=[],i=0,o=0;o<e.length;++o){var s=t.indexOf(e.charAt(o),i);s>=0&&(r.push(s),i=s+1)}return[r.length,r]}function jk(){for(var e=[],t=[0],n=1;n<=100;n++)t.push(-n);for(n=0;n<=100;n++){var r=t.slice(0);r[0]=-n,e.push(r)}return e}var zk=jk(),Wk=jk(),Vk=jk(),Hk=!1;function Uk(e,t,n,r,i){function o(e,t,n){for(void 0===n&&(n=\" \");e.length<t;)e=n+e;return e}for(var s=\" |   |\"+r.split(\"\").map(function(e){return o(e,3)}).join(\"|\")+\"\\n\",a=0;a<=n;a++)s+=0===a?\" |\":t[a-1]+\"|\",s+=e[a].slice(0,i+1).map(function(e){return o(e.toString(),3)}).join(\"|\")+\"\\n\";return s}function Yk(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:return!0;default:return!1}}function Zk(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function Gk(e,t,n){var r=e.length>100?100:e.length,i=t.length>100?100:t.length,o=0;for(void 0===n&&(n=r);o<n&&Zk(e,o);)o+=1;if(o===r)return[-100,[]];if(!(r>i)){for(var s=e.toLowerCase(),a=t.toLowerCase(),u=o,l=0;u<r&&l<i;)s[u]===a[l]&&(u+=1),l+=1;if(u===r){for(u=o+1;u<=r;u++)for(l=1;l<=i;l++){var c=-1,h=a[l-1];s[u-1]===h&&(c=l===u-o?e[u-1]===t[l-1]?7:5:h!==t[l-1]?e[u-1]===t[l-1]?7:5:Yk(a,l-2)||Zk(a,l-2)?5:1),Wk[u][l]=c;var d=zk[u-1][l-1]+(c>1?1:c),p=zk[u-1][l]+-1,f=zk[u][l-1]+-1;f>=p?f>d?(zk[u][l]=f,Vk[u][l]=4):f===d?(zk[u][l]=f,Vk[u][l]=6):(zk[u][l]=d,Vk[u][l]=2):p>d?(zk[u][l]=p,Vk[u][l]=1):p===d?(zk[u][l]=p,Vk[u][l]=3):(zk[u][l]=d,Vk[u][l]=2)}if(Hk&&(console.log(Uk(zk,e,r,t,i)),console.log(Uk(Vk,e,r,t,i)),console.log(Uk(Wk,e,r,t,i))),qk=0,Qk=-100,Xk=o,function e(t,n,r,i,o){if(qk>=10||r<-25)return;var s=0;for(;t>Xk&&n>0;){var a=Wk[t][n],u=Vk[t][n];if(4===u)n-=1,o?r-=5:i.isEmpty()||(r-=1),o=!1,s=0;else{if(!(2&u))return;if(4&u&&e(t,n-1,i.isEmpty()?r:r-1,i.slice(),o),r+=a,t-=1,n-=1,i.unshift(n),o=!0,1===a){if(s+=1,t===Xk)return}else r+=1+s*(a-1),s=0}}r-=n>=3?9:3*n;qk+=1;r>Qk&&(Qk=r,Kk=i)}(r,i,r===i?1:0,new Jk,!1),0!==qk)return[Qk,Kk.toArray()]}}}var Kk,qk=0,Qk=0,Xk=0;var Jk=function(){function e(){}return e.prototype.isEmpty=function(){return!this._data&&(!this._parent||this._parent.isEmpty())},e.prototype.unshift=function(e){this._data?this._data.unshift(e):this._data=[e]},e.prototype.slice=function(){var t=new e;return t._parent=this,t._parentLen=this._data?this._data.length:0,t},e.prototype.toArray=function(){if(!this._data)return this._parent.toArray();for(var e=[],t=this;t;)t._parent&&t._parent._data&&e.push(t._parent._data.slice(t._parent._data.length-t._parentLen)),t=t._parent;return Array.prototype.concat.apply(this._data,e)},e}();function $k(e,t,n){return eT(e,t,!0,n)}function eT(e,t,n,r){var i=Gk(e,t,r);if(i&&!n)return i;if(e.length>=3)for(var o=Math.min(7,e.length-1),s=1;s<o;s++){var a=tT(e,s);if(a){var u=Gk(a,t,r);u&&(u[0]-=3,(!i||u[0]>i[0])&&(i=u))}}return i}function tT(e,t){if(!(t+1>=e.length)){var n=e[t],r=e[t+1];if(n!==r)return e.slice(0,t)+r+n+e.slice(t+2)}}var nT=function(){function e(t,n,r,i){this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._refilterKind=1,this._lineContext=r,\"top\"===i?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:\"bottom\"===i&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e,t=new Set,n=0,r=this._items;n<r.length;n++){var i=r[n].container;t.has(i)||(t.add(i),\"function\"==typeof(e=i).dispose&&0===e.dispose.length&&i.dispose())}},Object.defineProperty(e.prototype,\"lineContext\",{get:function(){return this._lineContext},set:function(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"items\",{get:function(){return this._ensureCachedState(),this._filteredItems},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"incomplete\",{get:function(){return this._ensureCachedState(),this._isIncomplete},enumerable:!0,configurable:!0}),e.prototype.resolveIncompleteInfo=function(){for(var e=[],t=[],n=0,r=this._items;n<r.length;n++){var i=r[n];i.container.incomplete?e.indexOf(i.support)<0&&e.push(i.support):t.push(i)}return{incomplete:e,complete:t}},Object.defineProperty(e.prototype,\"stats\",{get:function(){return this._ensureCachedState(),this._stats},enumerable:!0,configurable:!0}),e.prototype._ensureCachedState=function(){0!==this._refilterKind&&this._createCachedState()},e.prototype._createCachedState=function(){this._isIncomplete=!1,this._stats={suggestionCount:0,snippetCount:0,textCount:0};for(var e=this._lineContext,t=e.leadingLineContent,n=e.characterCountDelta,r=\"\",i=1===this._refilterKind?this._items:this._filteredItems,o=[],s=i.length>2e3?Gk:$k,a=0;a<i.length;a++){var u=i[a],l=u.suggestion,c=u.container;this._isIncomplete=this._isIncomplete||c.incomplete;var h=l.overwriteBefore+n-(u.position.column-this._column);if(r.length!==h&&(r=0===h?\"\":t.slice(-h)),u.word=r,0===h)u.score=-100,u.matches=void 0;else if(\"string\"==typeof l.filterText){if(!(d=s(r,l.filterText,l.overwriteBefore)))continue;u.score=d[0],u.matches=Rk(r,l.label)[1]}else{var d;if(!(d=s(r,l.label,l.overwriteBefore)))continue;u.score=d[0],u.matches=d[1]}switch(u.idx=a,o.push(u),this._stats.suggestionCount++,l.type){case\"snippet\":this._stats.snippetCount++;break;case\"text\":this._stats.textCount++}}this._filteredItems=o.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score>t.score?-1:e.score<t.score?1:e.idx<t.idx?-1:e.idx>t.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.suggestion.type!==n.suggestion.type){if(\"snippet\"===t.suggestion.type)return 1;if(\"snippet\"===n.suggestion.type)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.suggestion.type!==n.suggestion.type){if(\"snippet\"===t.suggestion.type)return-1;if(\"snippet\"===n.suggestion.type)return 1}return e._compareCompletionItems(t,n)},e}(),rT=function(){function e(e,t,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=n}return e.shouldAutoTrigger=function(e){var t=e.getModel();if(!t)return!1;var n=e.getPosition();t.tokenizeIfCheap(n.lineNumber);var r=t.getWordAtPosition(n);return!!r&&(r.endColumn===n.column&&!!isNaN(Number(r.word)))},e}(),iT=function(){function e(e){var t=this;this._toDispose=[],this._triggerRefilter=new Hl,this._onDidCancel=new wn,this._onDidTrigger=new wn,this._onDidSuggest=new wn,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._editor=e,this._state=0,this._triggerAutoSuggestPromise=null,this._requestPromise=null,this._completionModel=null,this._context=null,this._currentSelection=this._editor.getSelection()||new Ii(1,1,1,1),this._toDispose.push(this._editor.onDidChangeModel(function(){t._updateTriggerCharacters(),t.cancel()})),this._toDispose.push(this._editor.onDidChangeModelLanguage(function(){t._updateTriggerCharacters(),t.cancel()})),this._toDispose.push(this._editor.onDidChangeConfiguration(function(){t._updateTriggerCharacters(),t._updateQuickSuggest()})),this._toDispose.push(hi.onDidChange(function(){t._updateTriggerCharacters(),t._updateActiveSuggestSession()})),this._toDispose.push(this._editor.onDidChangeCursorSelection(function(e){t._onCursorChange(e)})),this._toDispose.push(this._editor.onDidChangeModelContent(function(e){t._refilterCompletionItems()})),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){on([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerCharacterListener,this._triggerRefilter]),this._toDispose=on(this._toDispose),on(this._completionModel),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getConfiguration().contribInfo.quickSuggestionsDelay,(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(on(this._triggerCharacterListener),!this._editor.getConfiguration().readOnly&&this._editor.getModel()&&this._editor.getConfiguration().contribInfo.suggestOnTriggerCharacters){for(var t=Object.create(null),n=0,r=hi.all(this._editor.getModel());n<r.length;n++){var i=r[n];if(!Zn(i.triggerCharacters))for(var o=0,s=i.triggerCharacters;o<s.length;o++){var a=s[o],u=t[a];u?u.push(i):t[a]=[i]}}this._triggerCharacterListener=this._editor.onDidType(function(n){var r=n.charAt(n.length-1),i=t[r];if(i){var o=[];if(e._completionModel)for(var s=0,a=e._completionModel.items;s<a.length;s++){var u=a[s];i.indexOf(u.support)<0&&o.push(u)}e.trigger({auto:!0,triggerCharacter:r},Boolean(e._completionModel),i,o)}})}},Object.defineProperty(e.prototype,\"state\",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancel=function(e){void 0===e&&(e=!1),this._triggerRefilter.cancel(),this._triggerAutoSuggestPromise&&(this._triggerAutoSuggestPromise.cancel(),this._triggerAutoSuggestPromise=null),this._requestPromise&&(this._requestPromise.cancel(),this._requestPromise=null),this._state=0,on(this._completionModel),this._completionModel=null,this._context=null,this._onDidCancel.fire({retrigger:e})},e.prototype._updateActiveSuggestSession=function(){0!==this._state&&(hi.has(this._editor.getModel())?this.trigger({auto:2===this._state},!0):this.cancel())},e.prototype._onCursorChange=function(e){var t=this,n=this._currentSelection;(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==La.NotSet||\"keyboard\"!==e.source&&\"deleteLeft\"!==e.source)?0!==this._state&&this.cancel():hi.has(this._editor.getModel())&&this._editor.getModel()&&0===this._state&&!1!==this._editor.getConfiguration().contribInfo.quickSuggestions&&(n.containsRange(this._currentSelection)||n.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&(this.cancel(),this._triggerAutoSuggestPromise=cn.b.timeout(this._quickSuggestDelay),this._triggerAutoSuggestPromise.then(function(){if(rT.shouldAutoTrigger(t._editor)){var e=t._editor.getModel(),n=t._editor.getPosition();if(!e)return;var r=t._editor.getConfiguration().contribInfo.quickSuggestions;if(!1===r)return;if(!0===r);else{e.tokenizeIfCheap(n.lineNumber);var i=e.getLineTokens(n.lineNumber),o=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(n.column-1-1,0)));if(!(r.other&&0===o||r.comments&&1===o||r.strings&&2===o))return}t.trigger({auto:!0})}t._triggerAutoSuggestPromise=null}))},e.prototype._refilterCompletionItems=function(){var e=this;if(0!==this._state){var t=this._editor.getModel();t&&this._triggerRefilter.cancelAndSet(function(){var n=e._editor.getPosition(),r=new rT(t,n,2===e._state);e._onNewContext(r)},25)}},e.prototype.trigger=function(e,t,n,r){var i=this;void 0===t&&(t=!1);var o=this._editor.getModel();if(o){var s,a=e.auto,u=new rT(o,this._editor.getPosition(),a);this.cancel(t),this._state=a?2:1,this._onDidTrigger.fire({auto:a}),this._context=u,s=e.triggerCharacter?{triggerKind:$r.TriggerCharacter,triggerCharacter:e.triggerCharacter}:n&&n.length?{triggerKind:$r.TriggerForIncompleteCompletions}:{triggerKind:$r.Invoke},this._requestPromise=uk(o,this._editor.getPosition(),this._editor.getConfiguration().contribInfo.snippetSuggestions,n,s).then(function(e){if(i._requestPromise=null,0!==i._state){var t=i._editor.getModel();if(t){if(!Zn(r)){var n=fk(i._editor.getConfiguration().contribInfo.snippetSuggestions);e=e.concat(r).sort(n)}var o=new rT(t,i._editor.getPosition(),a);on(i._completionModel),i._completionModel=new nT(e,i._context.column,{leadingLineContent:o.leadingLineContent,characterCountDelta:i._context?o.column-i._context.column:0},i._editor.getConfiguration().contribInfo.snippetSuggestions),i._onNewContext(o)}}}).then(null,pn)}},e.prototype._onNewContext=function(e){if(this._context)if(e.lineNumber===this._context.lineNumber){if(e.leadingWord.startColumn<this._context.leadingWord.startColumn)this.cancel();else if(e.column<this._context.column)e.leadingWord.word?this.trigger({auto:this._context.auto},!0):this.cancel();else if(this._completionModel)if(e.column>this._context.column&&this._completionModel.incomplete&&0!==e.leadingWord.word.length){var t=this._completionModel.resolveIncompleteInfo(),n=t.complete,r=t.incomplete;this.trigger({auto:2===this._state},!0,r,n)}else{var i=this._completionModel.lineContext,o=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(rT.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn<e.leadingWord.startColumn)return void this.trigger({auto:this._context.auto},!0);if(this._context.auto)return void this.cancel();if(this._completionModel.lineContext=i,(o=this._completionModel.items.length>0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,isFrozen:o})}}else this.cancel()},e}(),oT=(n(362),Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}),sT=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},aT=function(e,t){return function(n,r){t(n,r,e)}},uT=!1,lT=lf(\"editorSuggestWidget.background\",{dark:Xf,light:Xf,hc:Xf},ns(\"editorSuggestWidgetBackground\",\"Background color of the suggest widget.\")),cT=lf(\"editorSuggestWidget.border\",{dark:Jf,light:Jf,hc:Jf},ns(\"editorSuggestWidgetBorder\",\"Border color of the suggest widget.\")),hT=lf(\"editorSuggestWidget.foreground\",{dark:Qf,light:Qf,hc:Qf},ns(\"editorSuggestWidgetForeground\",\"Foreground color of the suggest widget.\")),dT=lf(\"editorSuggestWidget.selectedBackground\",{dark:Lf,light:Lf,hc:Lf},ns(\"editorSuggestWidgetSelectedBackground\",\"Background color of the selected entry in the suggest widget.\")),pT=lf(\"editorSuggestWidget.highlightForeground\",{dark:Wf,light:Wf,hc:Wf},ns(\"editorSuggestWidgetHighlightForeground\",\"Color of the match highlights in the suggest widget.\")),fT=/^(#([\\da-f]{3}){1,2}|(rgb|hsl)a\\(\\s*(\\d{1,3}%?\\s*,\\s*){3}(1|0?\\.\\d+)\\)|(rgb|hsl)\\(\\s*\\d{1,3}%?(\\s*,\\s*\\d{1,3}%?){2}\\s*\\))$/i;function gT(e){return e&&e.match(fT)?e:null}function mT(e){if(!e)return!1;var t=e.suggestion;return!!t.documentation||t.detail&&t.detail!==t.label}var vT=function(){function e(e,t,n){this.widget=e,this.editor=t,this.triggerKeybindingLabel=n}return Object.defineProperty(e.prototype,\"templateId\",{get:function(){return\"suggestion\"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,n=Object.create(null);n.disposables=[],n.root=e,n.icon=vh(e,bh(\".icon\")),n.colorspan=vh(n.icon,bh(\"span.colorspan\"));var r=vh(vh(e,bh(\".contents\")),bh(\".main\"));n.highlightedLabel=new gM(r),n.disposables.push(n.highlightedLabel),n.typeLabel=vh(r,bh(\"span.type-label\")),n.readMore=vh(r,bh(\"span.readMore\")),n.readMore.title=ns(\"readMore\",\"Read More...{0}\",this.triggerKeybindingLabel);var i=function(){var e=t.editor.getConfiguration(),i=e.fontInfo.fontFamily,o=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+\"px\",s=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+\"px\";n.root.style.fontSize=o,r.style.fontFamily=i,r.style.lineHeight=s,n.icon.style.height=s,n.icon.style.width=s,n.readMore.style.height=s,n.readMore.style.width=s};return i(),In(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo||e.contribInfo}).on(i,null,n.disposables),n},e.prototype.renderElement=function(e,t,n){var r=this,i=n,o=e.suggestion;if(mT(e)?i.root.setAttribute(\"aria-label\",ns(\"suggestionWithDetailsAriaLabel\",\"{0}, suggestion, has details\",o.label)):i.root.setAttribute(\"aria-label\",ns(\"suggestionAriaLabel\",\"{0}, suggestion\",o.label)),i.icon.className=\"icon \"+o.type,i.colorspan.style.backgroundColor=\"\",\"color\"===o.type){var s=gT(o.label)||\"string\"==typeof o.documentation&&gT(o.documentation);s&&(i.icon.className=\"icon customcolor\",i.colorspan.style.backgroundColor=s)}i.highlightedLabel.set(o.label,function(e){var t,n=[];if(!e)return n;for(var r=0,i=e;r<i.length;r++){var o=i[r];t&&t.end===o?t.end+=1:(t={start:o,end:o+1},n.push(t))}return n}(e.matches)),i.typeLabel.textContent=(o.detail||\"\").replace(/\\n.*$/m,\"\"),mT(e)?(_h(i.readMore),i.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},i.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),r.widget.toggleDetails()}):(Ch(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables=on(e.disposables)},e}(),yT=function(){function e(e,t,n,r,i){var o=this;this.widget=t,this.editor=n,this.markdownRenderer=r,this.triggerKeybindingLabel=i,this.borderWidth=1,this.disposables=[],this.el=vh(e,bh(\".details\")),this.disposables.push(an(function(){return e.removeChild(o.el)})),this.body=bh(\".body\"),this.scrollbar=new bb(this.body,{}),vh(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=vh(this.body,bh(\".header\")),this.close=vh(this.header,bh(\"span.close\")),this.close.title=ns(\"readLess\",\"Read less...{0}\",this.triggerKeybindingLabel),this.type=vh(this.header,bh(\"p.type\")),this.docs=vh(this.body,bh(\"p.docs\")),this.ariaLabel=null,this.configureFont(),In(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables)}return Object.defineProperty(e.prototype,\"element\",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(this.renderDisposeable=on(this.renderDisposeable),!e||!mT(e))return this.type.textContent=\"\",this.docs.textContent=\"\",Mc(this.el,\"no-docs\"),void(this.ariaLabel=null);if(Nc(this.el,\"no-docs\"),\"string\"==typeof e.suggestion.documentation)Nc(this.docs,\"markdown-docs\"),this.docs.textContent=e.suggestion.documentation;else{Mc(this.docs,\"markdown-docs\"),this.docs.innerHTML=\"\";var n=this.markdownRenderer.render(e.suggestion.documentation);this.renderDisposeable=n,this.docs.appendChild(n.element)}e.suggestion.detail?(this.type.innerText=e.suggestion.detail,_h(this.type)):(this.type.innerText=\"\",Ch(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+\"px\",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=$e(\"{0}\\n{1}\\n{2}\",e.suggestion.label||\"\",e.suggestion.detail||\"\",e.suggestion.documentation||\"\")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,n=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+\"px\",r=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+\"px\";this.el.style.fontSize=n,this.type.style.fontFamily=t,this.close.style.height=r,this.close.style.width=r},e.prototype.dispose=function(){this.disposables=on(this.disposables),this.renderDisposeable=on(this.renderDisposeable)},e}(),bT=function(){function e(e,t,n,r,i,o,s,a){var u=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.onDidSelectEmitter=new wn,this.onDidFocusEmitter=new wn,this.onDidHideEmitter=new wn,this.onDidShowEmitter=new wn,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.storageServiceAvailable=!0,this.expandSuggestionDocs=!1;var l=o.lookupKeybinding(\"editor.action.triggerSuggest\"),c=l?\" (\"+l.getLabel()+\")\":\"\",h=new WA(e,s,a);this.isAuto=!1,this.focusedItem=null,this.storageService=i,void 0===this.expandDocsSettingFromStorage()&&(this.storageService.store(\"expandSuggestionDocs\",uT,Pp.GLOBAL),void 0===this.expandDocsSettingFromStorage()&&(this.storageServiceAvailable=!1)),this.element=bh(\".editor-widget.suggest-widget\"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||Mc(this.element,\"no-icons\"),this.messageElement=vh(this.element,bh(\".message\")),this.listElement=vh(this.element,bh(\".tree\")),this.details=new yT(this.element,this,this.editor,h,c);var d=new vT(this,this.editor,c);this.list=new xC(this.listElement,this,[d],{useShadows:!1,selectOnMouseDown:!0,focusOnMouseDown:!1,openController:{shouldOpen:function(){return!1}}}),this.toDispose=[SM(this.list,r,{listInactiveFocusBackground:dT,listInactiveFocusOutline:mf}),r.onThemeChange(function(e){return u.onThemeChange(e)}),e.onDidBlurEditorText(function(){return u.onEditorBlur()}),e.onDidLayoutChange(function(){return u.onEditorLayoutChange()}),this.list.onSelectionChange(function(e){return u.onListSelection(e)}),this.list.onFocusChange(function(e){return u.onListFocus(e)}),this.editor.onDidChangeCursorSelection(function(){return u.onCursorSelectionChanged()})],this.suggestWidgetVisible=ak.Visible.bindTo(n),this.suggestWidgetMultipleSuggestions=ak.MultipleSuggestions.bindTo(n),this.suggestionSupportsAutoAccept=ak.AcceptOnKey.bindTo(n),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(r.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorBlur=function(){var e=this;this.editorBlurTimeout=cn.b.timeout(150).then(function(){e.editor.isFocused()||e.setState(0)})},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListSelection=function(e){var t=this;if(e.elements.length){var n=e.elements[0],r=e.indexes[0];n.resolve().then(function(){t.onDidSelectEmitter.fire({item:n,index:r,model:t.completionModel}),Vw(ns(\"suggestionAriaAccepted\",\"{0}, accepted\",n.suggestion.label)),t.editor.focus()})}},e.prototype._getSuggestionAriaAlertLabel=function(e){return mT(e)?ns(\"ariaCurrentSuggestionWithDetails\",\"{0}, suggestion, has details\",e.suggestion.label):ns(\"ariaCurrentSuggestion\",\"{0}, suggestion\",e.suggestion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Vw(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var t=e.getColor(lT);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var n=e.getColor(cT);n&&(this.listElement.style.borderColor=n.toString(),this.details.element.style.borderColor=n.toString(),this.messageElement.style.borderColor=n.toString(),this.detailsBorderColor=n.toString());var r=e.getColor(ff);r&&(this.detailsFocusBorderColor=r.toString()),this.details.setBorderWidth(\"hc\"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);var n=e.elements[0];if(this._ariaAlert(this._getSuggestionAriaAlertLabel(n)),n!==this.focusedItem){this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null);var r=e.indexes[0];this.suggestionSupportsAutoAccept.set(!n.suggestion.noAutoAccept),this.focusedItem=n,this.list.reveal(r),this.currentSuggestionDetails=n.resolve().then(function(){t.ignoreFocusEvents=!0,t.list.splice(r,1,[n]),t.list.setFocus([r]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails():Nc(t.element,\"docs-side\")}).then(null,function(e){return!vn(e)&&pn(e)}).then(function(){return t.currentSuggestionDetails=null}),this.onDidFocusEmitter.fire({item:n,index:r,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,Ic(this.element,\"frozen\",4===t),t){case 0:Ch(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,n&&this.list.splice(0,this.list.length);break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Ch(this.listElement,this.details.element),_h(this.messageElement),Nc(this.element,\"docs-side\"),this.show();break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Ch(this.listElement,this.details.element),_h(this.messageElement),Nc(this.element,\"docs-side\"),this.show();break;case 3:Ch(this.messageElement,this.details.element),_h(this.listElement),this.show();break;case 4:Ch(this.messageElement),_h(this.listElement),this.show();break;case 5:Ch(this.messageElement),_h(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e){var t=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=setTimeout(function(){t.loadingTimeout=null,t.setState(1)},50)))},e.prototype.showSuggestions=function(e,t,n,r){if(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.completionModel=e,n&&2!==this.state&&0!==this.state)this.setState(4);else{var i=this.completionModel.items.length,o=0===i;if(this.suggestWidgetMultipleSuggestions.set(i>1),o)r?this.setState(0):this.setState(2),this.completionModel=null;else{var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!r,this.telemetryService.publicLog(\"suggestWidget\",oT({},s,this.editor.getTelemetryData())),this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,t),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state)return{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog(\"suggestWidget:toggleDetailsFocus\",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(mT(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Ch(this.details.element),Nc(this.element,\"docs-side\"),Nc(this.element,\"docs-below\"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog(\"suggestWidget:collapseDetails\",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this.telemetryService.publicLog(\"suggestWidget:expandDetails\",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),_h(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+\"px\",this.listElement.style.marginTop=\"0px\",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus(),this._ariaAlert(this.details.getAriaLabel())},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout=cn.b.timeout(100).then(function(){Mc(e.element,\"visible\"),e.onDidShowEmitter.fire(e)})},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Nc(this.element,\"visible\")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){return 0===this.state?null:{position:this.editor.getPosition(),preference:[Bu.BELOW,Bu.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+\"px\",this.listElement.style.height=e+\"px\",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=eh(this.editor.getDomNode()),r=n.left+t.left,i=n.top+t.top+t.height,o=eh(this.element),s=o.left,a=o.top;s<r-this.listWidth?Mc(this.element,\"list-right\"):Nc(this.element,\"list-right\"),xc(this.element,\"docs-side\")&&i-e>a&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+\"px\")},e.prototype.expandSideOrBelow=function(){var e=this.element.style.maxWidth.match(/(\\d+)px/);!e||Number(e[1])<this.maxWidgetWidth?(Mc(this.element,\"docs-below\"),Nc(this.element,\"docs-side\")):(Mc(this.element,\"docs-side\"),Nc(this.element,\"docs-below\"))},Object.defineProperty(e.prototype,\"maxWidgetHeight\",{get:function(){return 12*this.unfocusedHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"unfocusedHeight\",{get:function(){var e=this.editor.getConfiguration();return e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight},enumerable:!0,configurable:!0}),e.prototype.getHeight=function(e){return this.unfocusedHeight},e.prototype.getTemplateId=function(e){return\"suggestion\"},e.prototype.expandDocsSettingFromStorage=function(){return this.storageServiceAvailable?this.storageService.getBoolean(\"expandSuggestionDocs\",Pp.GLOBAL):this.expandSuggestionDocs},e.prototype.updateExpandDocsSetting=function(e){this.storageServiceAvailable?this.storageService.store(\"expandSuggestionDocs\",e,Pp.GLOBAL):this.expandSuggestionDocs=e},e.prototype.dispose=function(){this.state=null,this.suggestionSupportsAutoAccept=null,this.currentSuggestionDetails=null,this.focusedItem=null,this.element=null,this.messageElement=null,this.listElement=null,this.details.dispose(),this.details=null,this.list.dispose(),this.list=null,this.toDispose=on(this.toDispose),this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.editorBlurTimeout&&(this.editorBlurTimeout.cancel(),this.editorBlurTimeout=null),this.showTimeout&&(this.showTimeout.cancel(),this.showTimeout=null)},e.ID=\"editor.widget.suggestWidget\",e.LOADING_MESSAGE=ns(\"suggestWidget.loading\",\"Loading...\"),e.NO_SUGGESTIONS_MESSAGE=ns(\"suggestWidget.noSuggestions\",\"No suggestions.\"),e=sT([aT(1,cu),aT(2,Su),aT(3,Og),aT(4,Bp),aT(5,HC),aT(6,iA),aT(7,nA)],e)}();Vg(function(e,t){var n=e.getColor(pT);n&&t.addRule(\".monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: \"+n+\"; }\");var r=e.getColor(hT);r&&t.addRule(\".monaco-editor .suggest-widget { color: \"+r+\"; }\");var i=e.getColor(vf);i&&t.addRule(\".monaco-editor .suggest-widget a { color: \"+i+\"; }\");var o=e.getColor(yf);o&&t.addRule(\".monaco-editor .suggest-widget code { background-color: \"+o+\"; }\")});var _T=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),CT=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},wT=function(e,t){return function(n,r){t(n,r,e)}},DT=function(){return function(){}}(),ET=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return _T(t,e),t.prototype.memorize=function(e,t,n){},t.prototype.select=function(e,t,n){return 0},t.prototype.toJSON=function(){},t.prototype.fromJSON=function(){},t}(DT),AT=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._cache=new Ke(300,.66),t._seq=0,t}return _T(t,e),t.prototype.memorize=function(e,t,n){var r=n.suggestion.label,i=e.getLanguageIdentifier().language+\"/\"+r;this._cache.set(i,{touch:this._seq++,type:n.suggestion.type,insertText:n.suggestion.insertText})},t.prototype.select=function(e,t,n){if(0!==e.getWordUntilPosition(t).word.length)return 0;var r=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\\s$/.test(r))return 0;for(var i=0,o=-1,s=0;s<n.length;s++){var a=n[s].suggestion,u=e.getLanguageIdentifier().language+\"/\"+a.label,l=this._cache.get(u);l&&l.touch>o&&l.type===a.type&&l.insertText===a.insertText&&(o=l.touch,i=s)}return i},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t<n.length;t++){var r=n[t],i=r[0],o=r[1];o.touch=0,this._cache.set(i,o)}this._seq=this._cache.size},t}(DT),ST=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._trie=Ze.forStrings(),t._seq=0,t}return _T(t,e),t.prototype.memorize=function(e,t,n){var r=e.getWordUntilPosition(t).word,i=e.getLanguageIdentifier().language+\"/\"+r;this._trie.set(i,{type:n.suggestion.type,insertText:n.suggestion.insertText,touch:this._seq++})},t.prototype.select=function(e,t,n){var r=e.getWordUntilPosition(t).word;if(!r)return 0;var i=e.getLanguageIdentifier().language+\"/\"+r,o=this._trie.get(i);if(o||(o=this._trie.findSubstr(i)),o)for(var s=0;s<n.length;s++){var a=n[s].suggestion,u=a.type,l=a.insertText;if(u===o.type&&l===o.insertText)return s}return 0},t.prototype.toJSON=function(){var e=[];return this._trie.forEach(function(t,n){return e.push([n,t])}),e.sort(function(e,t){return-(e[1].touch-t[1].touch)}).forEach(function(e,t){return e[1].touch=t}),e.slice(0,200)},t.prototype.fromJSON=function(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t<n.length;t++){var r=n[t],i=r[0],o=r[1];this._trie.set(i,o)}}},t}(DT),xT=function(){function e(e,t){var n=this;this._storageService=t,this._storagePrefix=\"suggest/memories\",this._persistSoon=new Yl(function(){return n._flush()},3e3),this.setMode(e)}return e.prototype.setMode=function(e){if(this._mode!==e){this._mode=e,this._strategy=\"recentlyUsedByPrefix\"===e?new ST:\"recentlyUsed\"===e?new AT:new ET;try{var t=this._storageService.get(this._storagePrefix+\"/\"+this._mode,Pp.WORKSPACE);t&&this._strategy.fromJSON(JSON.parse(t))}catch(e){}}},e.prototype.memorize=function(e,t,n){this._strategy.memorize(e,t,n),this._persistSoon.schedule()},e.prototype.select=function(e,t,n){return this._strategy.select(e,t,n)},e.prototype._flush=function(){var e=JSON.stringify(this._strategy);this._storageService.store(this._storagePrefix+\"/\"+this._mode,e,Pp.WORKSPACE)},e=CT([wT(1,Bp)],e)}(),MT=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),NT=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},IT=function(e,t){return function(n,r){t(n,r,e)}},LT=function(){function e(e,t,n){var r=this;this._disposables=[],this._activeAcceptCharacters=new Set,this._disposables.push(t.onDidShow(function(){return r._onItem(t.getFocusedItem())})),this._disposables.push(t.onDidFocus(this._onItem,this)),this._disposables.push(t.onDidHide(this.reset,this)),this._disposables.push(e.onWillType(function(t){if(r._activeItem){var i=t[t.length-1];r._activeAcceptCharacters.has(i)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&n(r._activeItem)}}))}return e.prototype._onItem=function(e){if(e&&!Zn(e.item.suggestion.commitCharacters)){this._activeItem=e,this._activeAcceptCharacters.clear();for(var t=0,n=e.item.suggestion.commitCharacters;t<n.length;t++){var r=n[t];r.length>0&&this._activeAcceptCharacters.add(r[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){on(this._disposables)},e}(),kT=function(){function e(e,t,n,r){var i=this;this._editor=e,this._commandService=t,this._contextKeyService=n,this._instantiationService=r,this._toDispose=[],this._model=new iT(this._editor),this._memory=r.createInstance(xT,this._editor.getConfiguration().contribInfo.suggestSelection),this._toDispose.push(this._model.onDidTrigger(function(e){i._widget||i._createSuggestWidget(),i._widget.showTriggered(e.auto)})),this._toDispose.push(this._model.onDidSuggest(function(e){var t=i._memory.select(i._editor.getModel(),i._editor.getPosition(),e.completionModel.items);i._widget.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)})),this._toDispose.push(this._model.onDidCancel(function(e){i._widget&&!e.retrigger&&i._widget.hideWidget()}));var o=ak.AcceptSuggestionsOnEnter.bindTo(n),s=function(){var e=i._editor.getConfiguration().contribInfo,t=e.acceptSuggestionOnEnter,n=e.suggestSelection;o.set(\"on\"===t||\"smart\"===t),i._memory.setMode(n)};this._toDispose.push(this._editor.onDidChangeConfiguration(function(e){return s()})),s()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._createSuggestWidget=function(){var e=this;this._widget=this._instantiationService.createInstance(bT,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var t=new LT(this._editor,this._widget,function(t){return e._onDidSelectItem(t)});this._toDispose.push(t,this._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=ak.MakesTextEdit.bindTo(this._contextKeyService);this._toDispose.push(this._widget.onDidFocus(function(t){var r=t.item,i=e._editor.getPosition(),o=r.position.column-r.suggestion.overwriteBefore,s=i.column,a=!0;\"smart\"!==e._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==e._model.state||r.suggestion.command||r.suggestion.additionalTextEdits||\"textmate\"===r.suggestion.snippetType||s-o!==r.suggestion.insertText.length||(a=e._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:s})!==r.suggestion.insertText);n.set(a)})),this._toDispose.push({dispose:function(){n.reset()}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=on(this._toDispose),this._widget&&(this._widget.dispose(),this._widget=null),this._model&&(this._model.dispose(),this._model=null)},e.prototype._onDidSelectItem=function(e){if(e&&e.item){var t=e.item,n=t.suggestion,r=t.position,i=this._editor.getPosition().column-r.column;Array.isArray(n.additionalTextEdits)&&(this._editor.pushUndoStop(),this._editor.executeEdits(\"suggestController.additionalTextEdits\",n.additionalTextEdits.map(function(e){return S_.replace(be.lift(e.range),e.text)})),this._editor.pushUndoStop()),this._memory.memorize(this._editor.getModel(),this._editor.getPosition(),e.item);var o,s=n.insertText;\"textmate\"!==n.snippetType&&(s=$L.escape(s)),Ek.get(this._editor).insert(s,n.overwriteBefore+i,n.overwriteAfter),n.command?n.command.id===TT.id?this._model.trigger({auto:!0},!0):((o=this._commandService).executeCommand.apply(o,[n.command.id].concat(n.command.arguments)).done(void 0,pn),this._model.cancel()):this._model.cancel(),this._alertCompletionItem(e.item)}else this._model.cancel()},e.prototype._alertCompletionItem=function(e){var t=e.suggestion;Vw(ns(\"arai.alert.snippet\",\"Accepting '{0}' did insert the following text: {1}\",t.label,t.insertText))},e.prototype.triggerSuggest=function(e){this._model.trigger({auto:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus()},e.prototype.acceptSelectedSuggestion=function(){if(this._widget){var e=this._widget.getFocusedItem();this._onDidSelectItem(e)}},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.toggleDetailsFocus()},e.ID=\"editor.contrib.suggestController\",e=NT([IT(1,Za),IT(2,Su),IT(3,Tr)],e)}(),TT=function(e){function t(){return e.call(this,{id:t.id,label:ns(\"suggest.trigger.label\",\"Trigger Suggest\"),alias:\"Trigger Suggest\",precondition:mu.and(nl.writable,nl.hasCompletionItemProvider),kbOpts:{kbExpr:nl.textInputFocus,primary:2058,mac:{primary:266}}})||this}return MT(t,e),t.prototype.run=function(e,t){var n=kT.get(t);n&&n.triggerSuggest()},t.id=\"editor.action.triggerSuggest\",t}(qu);el(kT),$u(TT);var FT=au.WEIGHT.editorContrib(90),OT=Ku.bindToContribution(kT.get);Ju(new OT({id:\"acceptSelectedSuggestion\",precondition:ak.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:2}})),Ju(new OT({id:\"acceptSelectedSuggestionOnEnter\",precondition:ak.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:FT,kbExpr:mu.and(nl.textInputFocus,ak.AcceptSuggestionsOnEnter,ak.MakesTextEdit),primary:3}})),Ju(new OT({id:\"hideSuggestWidget\",precondition:ak.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:9,secondary:[1033]}})),Ju(new OT({id:\"selectNextSuggestion\",precondition:mu.and(ak.Visible,ak.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Ju(new OT({id:\"selectNextPageSuggestion\",precondition:mu.and(ak.Visible,ak.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:12,secondary:[2060]}})),Ju(new OT({id:\"selectLastSuggestion\",precondition:mu.and(ak.Visible,ak.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Ju(new OT({id:\"selectPrevSuggestion\",precondition:mu.and(ak.Visible,ak.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Ju(new OT({id:\"selectPrevPageSuggestion\",precondition:mu.and(ak.Visible,ak.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:11,secondary:[2059]}})),Ju(new OT({id:\"selectFirstSuggestion\",precondition:mu.and(ak.Visible,ak.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Ju(new OT({id:\"toggleSuggestionDetails\",precondition:ak.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:2058,mac:{primary:266}}})),Ju(new OT({id:\"toggleSuggestionFocus\",precondition:ak.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:FT,kbExpr:nl.textInputFocus,primary:2570,mac:{primary:778}}}));var PT=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();$u(function(e){function t(){return e.call(this,{id:t.ID,label:ns({key:\"toggle.tabMovesFocus\",comment:[\"Turn on/off use of tab key for moving focus around VS Code\"]},\"Toggle Tab Key Moves Focus\"),alias:\"Toggle Tab Key Moves Focus\",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323}}})||this}return PT(t,e),t.prototype.run=function(e,t){var n=Mp.getTabFocusMode();Mp.setTabFocusMode(!n)},t.ID=\"editor.action.toggleTabFocusMode\",t}(qu));var BT=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),RT=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},jT=function(e,t){return function(n,r){t(n,r,e)}},zT=lf(\"editor.wordHighlightBackground\",{dark:\"#575757B8\",light:\"#57575740\",hc:null},ns(\"wordHighlight\",\"Background color of a symbol during read-access, like reading a variable. The color must not be opaque to not hide underlying decorations.\"),!0),WT=lf(\"editor.wordHighlightStrongBackground\",{dark:\"#004972B8\",light:\"#0e639c40\",hc:null},ns(\"wordHighlightStrong\",\"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque to not hide underlying decorations.\"),!0),VT=lf(\"editor.wordHighlightBorder\",{light:null,dark:null,hc:mf},ns(\"wordHighlightBorder\",\"Border color of a symbol during read-access, like reading a variable.\")),HT=lf(\"editor.wordHighlightStrongBorder\",{light:null,dark:null,hc:mf},ns(\"wordHighlightStrongBorder\",\"Border color of a symbol during write-access, like writing to a variable.\")),UT=lf(\"editorOverviewRuler.wordHighlightForeground\",{dark:\"#A0A0A0CC\",light:\"#A0A0A0CC\",hc:\"#A0A0A0CC\"},ns(\"overviewRulerWordHighlightForeground\",\"Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations.\"),!0),YT=lf(\"editorOverviewRuler.wordHighlightStrongForeground\",{dark:\"#C0A0C0CC\",light:\"#C0A0C0CC\",hc:\"#C0A0C0CC\"},ns(\"overviewRulerWordHighlightStrongForeground\",\"Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations.\"),!0),ZT=new Au(\"hasWordHighlights\",!1);function GT(e,t){var n=!1;return Wl(gi.ordered(e).map(function(r){return function(){if(!n)return Pl(function(n){return r.provideDocumentHighlights(e,t,n)}).then(function(e){if(Array.isArray(e)&&e.length>0)return n=!0,e},function(e){fn(e)})}})).then(function(e){return e[0]})}Xu(\"_executeDocumentHighlights\",GT);var KT=function(){function e(e,t){var n=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=ZT.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.push(e.onDidChangeModel(function(e){n._stopAll(),n.model=n.editor.getModel()})),this.toUnhook.push(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.push(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(be.compareRangesUsingStarts)},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(Kn(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(Kn(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&e.reason===La.Explicit?this._run():this._stopAll()},e.prototype._run=function(){var e=this;if(gi.has(this.model)){var t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,r=t.startColumn,i=t.endColumn,o=this.model.getWordAtPosition({lineNumber:n,column:r});if(!o||o.startColumn>r||o.endColumn<i)this._stopAll();else{for(var s=new be(n,o.startColumn,n,o.endColumn),a=this._lastWordRange&&this._lastWordRange.equalsRange(s),u=0,l=this._decorationIds.length;!a&&u<l;u++){var c=this.model.getDecorationRange(this._decorationIds[u]);c&&c.startLineNumber===n&&c.startColumn<=r&&c.endColumn>=i&&(a=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),a)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var h=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=GT(this.model,this.editor.getPosition()),this.workerRequest.then(function(t){h===e.workerRequestTokenId&&(e.workerRequestCompleted=!0,e.workerRequestValue=t||[],e._beginRenderDecorations())}).done()}this._lastWordRange=s}}else this._stopAll()}else this._stopAll()},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),n=this.lastCursorPositionChangeTime+250;t>=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,r=this.workerRequestValue.length;n<r;n++){var i=this.workerRequestValue[n];t.push({range:i.range,options:e._getDecorationOptions(i.kind)})}this._decorationIds=this.editor.deltaDecorations(this._decorationIds,t),this._hasWordHighlights.set(this.hasDecorations())},e._getDecorationOptions=function(e){return e===ei.Write?this._WRITE_OPTIONS:e===ei.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS},e.prototype.dispose=function(){this._stopAll(),this.toUnhook=on(this.toUnhook)},e._WRITE_OPTIONS=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"wordHighlightStrong\",overviewRuler:{color:Pg(YT),darkColor:Pg(YT),position:Ln.Center}}),e._TEXT_OPTIONS=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"selectionHighlight\",overviewRuler:{color:Pg(Ng),darkColor:Pg(Ng),position:Ln.Center}}),e._REGULAR_OPTIONS=Ma.register({stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:\"wordHighlight\",overviewRuler:{color:Pg(UT),darkColor:Pg(UT),position:Ln.Center}}),e}(),qT=function(){function e(e,t){this.wordHighligher=new KT(e,t)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.saveViewState=function(){return!!this.wordHighligher.hasDecorations()},e.prototype.moveNext=function(){this.wordHighligher.moveNext()},e.prototype.moveBack=function(){this.wordHighligher.moveBack()},e.prototype.restoreViewState=function(e){e&&this.wordHighligher.restore()},e.prototype.dispose=function(){this.wordHighligher.dispose()},e.ID=\"editor.contrib.wordHighlighter\",e=RT([jT(1,Su)],e)}(),QT=function(e){function t(t,n){var r=e.call(this,n)||this;return r._isNext=t,r}return BT(t,e),t.prototype.run=function(e,t){var n=qT.get(t);n&&(this._isNext?n.moveNext():n.moveBack())},t}(qu),XT=function(e){function t(){return e.call(this,!0,{id:\"editor.action.wordHighlight.next\",label:ns(\"wordHighlight.next.label\",\"Go to Next Symbol Highlight\"),alias:\"Go to Next Symbol Highlight\",precondition:ZT,kbOpts:{kbExpr:nl.editorTextFocus,primary:65}})||this}return BT(t,e),t}(QT),JT=function(e){function t(){return e.call(this,!1,{id:\"editor.action.wordHighlight.prev\",label:ns(\"wordHighlight.previous.label\",\"Go to Previous Symbol Highlight\"),alias:\"Go to Previous Symbol Highlight\",precondition:ZT,kbOpts:{kbExpr:nl.editorTextFocus,primary:1089}})||this}return BT(t,e),t}(QT);el(qT),$u(XT),$u(JT),Vg(function(e,t){var n=e.getColor(ng);n&&(t.addRule(\".monaco-editor .focused .selectionHighlight { background-color: \"+n+\"; }\"),t.addRule(\".monaco-editor .selectionHighlight { background-color: \"+n.transparent(.5)+\"; }\"));var r=e.getColor(zT);r&&t.addRule(\".monaco-editor .wordHighlight { background-color: \"+r+\"; }\");var i=e.getColor(WT);i&&t.addRule(\".monaco-editor .wordHighlightStrong { background-color: \"+i+\"; }\");var o=e.getColor(rg);o&&t.addRule(\".monaco-editor .selectionHighlight { border: 1px \"+(\"hc\"===e.type?\"dotted\":\"solid\")+\" \"+o+\"; box-sizing: border-box; }\");var s=e.getColor(VT);s&&t.addRule(\".monaco-editor .wordHighlight { border: 1px \"+(\"hc\"===e.type?\"dashed\":\"solid\")+\" \"+s+\"; box-sizing: border-box; }\");var a=e.getColor(HT);a&&t.addRule(\".monaco-editor .wordHighlightStrong { border: 1px \"+(\"hc\"===e.type?\"dashed\":\"solid\")+\" \"+a+\"; box-sizing: border-box; }\")});var $T,eF,tF=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),nF=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n._wordNavigationType=t.wordNavigationType,n}return tF(t,e),t.prototype.runEditorCommand=function(e,t,n){var r=this,i=t.getConfiguration(),o=Vs(i.wordSeparators),s=t.getModel(),a=t.getSelections().map(function(e){var t=new ye(e.positionLineNumber,e.positionColumn),n=r._move(o,s,t,r._wordNavigationType);return r._moveTo(e,n,r._inSelectionMode)});if(t._getCursors().setStates(\"moveWordCommand\",La.NotSet,a.map(function(e){return Ba.fromModelSelection(e)})),1===a.length){var u=new ye(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(u,0)}},t.prototype._moveTo=function(e,t,n){return n?new Ii(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Ii(t.lineNumber,t.column,t.lineNumber,t.column)},t}(Ku),rF=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tF(t,e),t.prototype._move=function(e,t,n,r){return Ha.moveWordLeft(e,t,n,r)},t}(nF),iF=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tF(t,e),t.prototype._move=function(e,t,n,r){return Ha.moveWordRight(e,t,n,r)},t}(nF),oF=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordStartLeft\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:2063,mac:{primary:527}}})||this}return tF(t,e),t}(rF),sF=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:\"cursorWordEndLeft\",precondition:null})||this}return tF(t,e),t}(rF),aF=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordLeft\",precondition:null})||this}return tF(t,e),t}(rF),uF=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordStartLeftSelect\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:3087,mac:{primary:1551}}})||this}return tF(t,e),t}(rF),lF=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:\"cursorWordEndLeftSelect\",precondition:null})||this}return tF(t,e),t}(rF),cF=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordLeftSelect\",precondition:null})||this}return tF(t,e),t}(rF),hF=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordStartRight\",precondition:null})||this}return tF(t,e),t}(iF),dF=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:\"cursorWordEndRight\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:2065,mac:{primary:529}}})||this}return tF(t,e),t}(iF),pF=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:\"cursorWordRight\",precondition:null})||this}return tF(t,e),t}(iF),fF=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordStartRightSelect\",precondition:null})||this}return tF(t,e),t}(iF),gF=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:\"cursorWordEndRightSelect\",precondition:null,kbOpts:{kbExpr:nl.textInputFocus,primary:3089,mac:{primary:1553}}})||this}return tF(t,e),t}(iF),mF=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:\"cursorWordRightSelect\",precondition:null})||this}return tF(t,e),t}(iF),vF=function(e){function t(t){var n=e.call(this,t)||this;return n._whitespaceHeuristics=t.whitespaceHeuristics,n._wordNavigationType=t.wordNavigationType,n}return tF(t,e),t.prototype.runEditorCommand=function(e,t,n){var r=this,i=t.getConfiguration(),o=Vs(i.wordSeparators),s=t.getModel(),a=t.getSelections().map(function(e){var t=r._delete(o,s,e,r._whitespaceHeuristics,r._wordNavigationType);return new hl(t,\"\")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()},t}(Ku),yF=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tF(t,e),t.prototype._delete=function(e,t,n,r,i){var o=Ha.deleteWordLeft(e,t,n,r,i);return o||new be(1,1,1,1)},t}(vF),bF=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tF(t,e),t.prototype._delete=function(e,t,n,r,i){var o=Ha.deleteWordRight(e,t,n,r,i);if(o)return o;var s=t.getLineCount(),a=t.getLineMaxColumn(s);return new be(s,a,s,a)},t}(vF),_F=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:\"deleteWordStartLeft\",precondition:nl.writable})||this}return tF(t,e),t}(yF),CF=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:\"deleteWordEndLeft\",precondition:nl.writable})||this}return tF(t,e),t}(yF),wF=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:\"deleteWordLeft\",precondition:nl.writable,kbOpts:{kbExpr:nl.textInputFocus,primary:2049,mac:{primary:513}}})||this}return tF(t,e),t}(yF),DF=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:\"deleteWordStartRight\",precondition:nl.writable})||this}return tF(t,e),t}(bF),EF=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:\"deleteWordEndRight\",precondition:nl.writable})||this}return tF(t,e),t}(bF),AF=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:1,id:\"deleteWordRight\",precondition:nl.writable,kbOpts:{kbExpr:nl.textInputFocus,primary:2068,mac:{primary:532}}})||this}return tF(t,e),t}(bF);Ju(new oF),Ju(new sF),Ju(new aF),Ju(new uF),Ju(new lF),Ju(new cF),Ju(new hF),Ju(new dF),Ju(new pF),Ju(new fF),Ju(new gF),Ju(new mF),Ju(new _F),Ju(new CF),Ju(new wF),Ju(new DF),Ju(new EF),Ju(new AF),function(e){e[e.Ignore=0]=\"Ignore\",e[e.Info=1]=\"Info\",e[e.Warning=2]=\"Warning\",e[e.Error=3]=\"Error\"}($T||($T={})),function(e){e[e.Hint=1]=\"Hint\",e[e.Info=2]=\"Info\",e[e.Warning=4]=\"Warning\",e[e.Error=8]=\"Error\"}(eF||(eF={}));var SF,xF=function(){function e(){}return e.chord=function(e,t){return Ja(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function MF(){return{editor:void 0,languages:void 0,CancellationTokenSource:kl,Emitter:wn,KeyCode:SF,KeyMod:xF,Position:ye,Range:be,Selection:Ii,SelectionDirection:ui,Severity:$T,MarkerSeverity:eF,Promise:cn.b,Uri:Be,Token:go}}!function(e){e[e.Unknown=0]=\"Unknown\",e[e.Backspace=1]=\"Backspace\",e[e.Tab=2]=\"Tab\",e[e.Enter=3]=\"Enter\",e[e.Shift=4]=\"Shift\",e[e.Ctrl=5]=\"Ctrl\",e[e.Alt=6]=\"Alt\",e[e.PauseBreak=7]=\"PauseBreak\",e[e.CapsLock=8]=\"CapsLock\",e[e.Escape=9]=\"Escape\",e[e.Space=10]=\"Space\",e[e.PageUp=11]=\"PageUp\",e[e.PageDown=12]=\"PageDown\",e[e.End=13]=\"End\",e[e.Home=14]=\"Home\",e[e.LeftArrow=15]=\"LeftArrow\",e[e.UpArrow=16]=\"UpArrow\",e[e.RightArrow=17]=\"RightArrow\",e[e.DownArrow=18]=\"DownArrow\",e[e.Insert=19]=\"Insert\",e[e.Delete=20]=\"Delete\",e[e.KEY_0=21]=\"KEY_0\",e[e.KEY_1=22]=\"KEY_1\",e[e.KEY_2=23]=\"KEY_2\",e[e.KEY_3=24]=\"KEY_3\",e[e.KEY_4=25]=\"KEY_4\",e[e.KEY_5=26]=\"KEY_5\",e[e.KEY_6=27]=\"KEY_6\",e[e.KEY_7=28]=\"KEY_7\",e[e.KEY_8=29]=\"KEY_8\",e[e.KEY_9=30]=\"KEY_9\",e[e.KEY_A=31]=\"KEY_A\",e[e.KEY_B=32]=\"KEY_B\",e[e.KEY_C=33]=\"KEY_C\",e[e.KEY_D=34]=\"KEY_D\",e[e.KEY_E=35]=\"KEY_E\",e[e.KEY_F=36]=\"KEY_F\",e[e.KEY_G=37]=\"KEY_G\",e[e.KEY_H=38]=\"KEY_H\",e[e.KEY_I=39]=\"KEY_I\",e[e.KEY_J=40]=\"KEY_J\",e[e.KEY_K=41]=\"KEY_K\",e[e.KEY_L=42]=\"KEY_L\",e[e.KEY_M=43]=\"KEY_M\",e[e.KEY_N=44]=\"KEY_N\",e[e.KEY_O=45]=\"KEY_O\",e[e.KEY_P=46]=\"KEY_P\",e[e.KEY_Q=47]=\"KEY_Q\",e[e.KEY_R=48]=\"KEY_R\",e[e.KEY_S=49]=\"KEY_S\",e[e.KEY_T=50]=\"KEY_T\",e[e.KEY_U=51]=\"KEY_U\",e[e.KEY_V=52]=\"KEY_V\",e[e.KEY_W=53]=\"KEY_W\",e[e.KEY_X=54]=\"KEY_X\",e[e.KEY_Y=55]=\"KEY_Y\",e[e.KEY_Z=56]=\"KEY_Z\",e[e.Meta=57]=\"Meta\",e[e.ContextMenu=58]=\"ContextMenu\",e[e.F1=59]=\"F1\",e[e.F2=60]=\"F2\",e[e.F3=61]=\"F3\",e[e.F4=62]=\"F4\",e[e.F5=63]=\"F5\",e[e.F6=64]=\"F6\",e[e.F7=65]=\"F7\",e[e.F8=66]=\"F8\",e[e.F9=67]=\"F9\",e[e.F10=68]=\"F10\",e[e.F11=69]=\"F11\",e[e.F12=70]=\"F12\",e[e.F13=71]=\"F13\",e[e.F14=72]=\"F14\",e[e.F15=73]=\"F15\",e[e.F16=74]=\"F16\",e[e.F17=75]=\"F17\",e[e.F18=76]=\"F18\",e[e.F19=77]=\"F19\",e[e.NumLock=78]=\"NumLock\",e[e.ScrollLock=79]=\"ScrollLock\",e[e.US_SEMICOLON=80]=\"US_SEMICOLON\",e[e.US_EQUAL=81]=\"US_EQUAL\",e[e.US_COMMA=82]=\"US_COMMA\",e[e.US_MINUS=83]=\"US_MINUS\",e[e.US_DOT=84]=\"US_DOT\",e[e.US_SLASH=85]=\"US_SLASH\",e[e.US_BACKTICK=86]=\"US_BACKTICK\",e[e.US_OPEN_SQUARE_BRACKET=87]=\"US_OPEN_SQUARE_BRACKET\",e[e.US_BACKSLASH=88]=\"US_BACKSLASH\",e[e.US_CLOSE_SQUARE_BRACKET=89]=\"US_CLOSE_SQUARE_BRACKET\",e[e.US_QUOTE=90]=\"US_QUOTE\",e[e.OEM_8=91]=\"OEM_8\",e[e.OEM_102=92]=\"OEM_102\",e[e.NUMPAD_0=93]=\"NUMPAD_0\",e[e.NUMPAD_1=94]=\"NUMPAD_1\",e[e.NUMPAD_2=95]=\"NUMPAD_2\",e[e.NUMPAD_3=96]=\"NUMPAD_3\",e[e.NUMPAD_4=97]=\"NUMPAD_4\",e[e.NUMPAD_5=98]=\"NUMPAD_5\",e[e.NUMPAD_6=99]=\"NUMPAD_6\",e[e.NUMPAD_7=100]=\"NUMPAD_7\",e[e.NUMPAD_8=101]=\"NUMPAD_8\",e[e.NUMPAD_9=102]=\"NUMPAD_9\",e[e.NUMPAD_MULTIPLY=103]=\"NUMPAD_MULTIPLY\",e[e.NUMPAD_ADD=104]=\"NUMPAD_ADD\",e[e.NUMPAD_SEPARATOR=105]=\"NUMPAD_SEPARATOR\",e[e.NUMPAD_SUBTRACT=106]=\"NUMPAD_SUBTRACT\",e[e.NUMPAD_DECIMAL=107]=\"NUMPAD_DECIMAL\",e[e.NUMPAD_DIVIDE=108]=\"NUMPAD_DIVIDE\",e[e.KEY_IN_COMPOSITION=109]=\"KEY_IN_COMPOSITION\",e[e.ABNT_C1=110]=\"ABNT_C1\",e[e.ABNT_C2=111]=\"ABNT_C2\",e[e.MAX_VALUE=112]=\"MAX_VALUE\"}(SF||(SF={}));n(363);var NF=function(){function e(e,t,n,r,i){this.toDispose=[],this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._statusService=i,this._notificationService=r,this._currentChord=null,this._currentChordStatusMessage=null,this._onDidUpdateKeybindings=new wn,this.toDispose.push(this._onDidUpdateKeybindings)}return e.prototype.dispose=function(){this.toDispose=on(this.toDispose)},Object.defineProperty(e.prototype,\"onDidUpdateKeybindings\",{get:function(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:bn.None},enumerable:!0,configurable:!0}),e.prototype.getDefaultKeybindingsContent=function(){return\"\"},e.prototype.getDefaultKeybindings=function(){return this._getResolver().getDefaultKeybindings()},e.prototype.getKeybindings=function(){return this._getResolver().getKeybindings()},e.prototype.customKeybindingsCount=function(){return 0},e.prototype.lookupKeybindings=function(e){return this._getResolver().lookupKeybindings(e).map(function(e){return e.resolvedKeybinding})},e.prototype.lookupKeybinding=function(e){var t=this._getResolver().lookupPrimaryKeybinding(e);return t?t.resolvedKeybinding:null},e.prototype.softDispatch=function(e,t){var n=this.resolveKeyboardEvent(e);if(n.isChord())return console.warn(\"Unexpected keyboard event mapped to a chord\"),null;var r=n.getDispatchParts()[0];if(null===r)return null;var i=this._contextKeyService.getContext(t),o=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(i,o,r)},e.prototype._dispatch=function(e,t){var n=this,r=!1,i=this.resolveKeyboardEvent(e);if(i.isChord())return console.warn(\"Unexpected keyboard event mapped to a chord\"),null;var o=i.getDispatchParts()[0];if(null===o)return r;var s=this._contextKeyService.getContext(t),a=this._currentChord?this._currentChord.keypress:null,u=i.getLabel(),l=this._getResolver().resolve(s,a,o);return l&&l.enterChord?(r=!0,this._currentChord={keypress:o,label:u},this._statusService&&(this._currentChordStatusMessage=this._statusService.setStatusMessage(ns(\"first.chord\",\"({0}) was pressed. Waiting for second key of chord...\",u))),r):(this._statusService&&this._currentChord&&(l&&l.commandId||(this._statusService.setStatusMessage(ns(\"missing.chord\",\"The key combination ({0}, {1}) is not a command.\",this._currentChord.label,u),1e4),r=!0)),this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChord=null,l&&l.commandId&&(l.bubble||(r=!0),this._commandService.executeCommand(l.commandId,l.commandArgs||{}).done(void 0,function(e){n._notificationService.warn(e)}),this._telemetryService.publicLog(\"workbenchActionExecuted\",{id:l.commandId,from:\"keybinding\"})),r)},e}(),IF=function(){function e(e,t,n){void 0===n&&(n=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}return e.prototype.toLabel=function(e,t,n,r,i){return null===t&&null===r?null:function(e,t,n,r,i){var o=OF(e,t,i);null!==r&&(o+=\" \",o+=OF(n,r,i));return o}(e,t,n,r,this.modifierLabels[i])},e}(),LF=new IF({ctrlKey:\"⌃\",shiftKey:\"⇧\",altKey:\"⌥\",metaKey:\"⌘\",separator:\"\"},{ctrlKey:ns({key:\"ctrlKey\",comment:[\"This is the short form for the Control key on the keyboard\"]},\"Ctrl\"),shiftKey:ns({key:\"shiftKey\",comment:[\"This is the short form for the Shift key on the keyboard\"]},\"Shift\"),altKey:ns({key:\"altKey\",comment:[\"This is the short form for the Alt key on the keyboard\"]},\"Alt\"),metaKey:ns({key:\"windowsKey\",comment:[\"This is the short form for the Windows key on the keyboard\"]},\"Windows\"),separator:\"+\"}),kF=new IF({ctrlKey:ns({key:\"ctrlKey.long\",comment:[\"This is the long form for the Control key on the keyboard\"]},\"Control\"),shiftKey:ns({key:\"shiftKey.long\",comment:[\"This is the long form for the Shift key on the keyboard\"]},\"Shift\"),altKey:ns({key:\"altKey.long\",comment:[\"This is the long form for the Alt key on the keyboard\"]},\"Alt\"),metaKey:ns({key:\"cmdKey.long\",comment:[\"This is the long form for the Command key on the keyboard\"]},\"Command\"),separator:\"+\"},{ctrlKey:ns({key:\"ctrlKey.long\",comment:[\"This is the long form for the Control key on the keyboard\"]},\"Control\"),shiftKey:ns({key:\"shiftKey.long\",comment:[\"This is the long form for the Shift key on the keyboard\"]},\"Shift\"),altKey:ns({key:\"altKey.long\",comment:[\"This is the long form for the Alt key on the keyboard\"]},\"Alt\"),metaKey:ns({key:\"windowsKey.long\",comment:[\"This is the long form for the Windows key on the keyboard\"]},\"Windows\"),separator:\"+\"}),TF=new IF({ctrlKey:\"Ctrl\",shiftKey:\"Shift\",altKey:\"Alt\",metaKey:\"Cmd\",separator:\"+\"},{ctrlKey:\"Ctrl\",shiftKey:\"Shift\",altKey:\"Alt\",metaKey:\"Super\",separator:\"+\"}),FF=new IF({ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"cmd\",separator:\"+\"},{ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"win\",separator:\"+\"},{ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"meta\",separator:\"+\"});function OF(e,t,n){if(null===t)return\"\";var r=[];return e.ctrlKey&&r.push(n.ctrlKey),e.shiftKey&&r.push(n.shiftKey),e.altKey&&r.push(n.altKey),e.metaKey&&r.push(n.metaKey),r.push(t),r.join(n.separator)}var PF,BF,RF,jF=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),zF=function(e){function t(t,n){var r=e.call(this)||this;if(r._os=n,null===t)throw new Error(\"Invalid USLayoutResolvedKeybinding\");return 2===t.type?(r._firstPart=t.firstPart,r._chordPart=t.chordPart):(r._firstPart=t,r._chordPart=null),r}return jF(t,e),t.prototype._keyCodeToUILabel=function(e){if(2===this._os)switch(e){case 15:return\"←\";case 16:return\"↑\";case 17:return\"→\";case 18:return\"↓\"}return Ya.toString(e)},t.prototype._getUILabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?\"\":this._keyCodeToUILabel(e.keyCode):null},t.prototype.getLabel=function(){var e=this._getUILabelForKeybinding(this._firstPart),t=this._getUILabelForKeybinding(this._chordPart);return LF.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype._getAriaLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?\"\":Ya.toString(e.keyCode):null},t.prototype.getAriaLabel=function(){var e=this._getAriaLabelForKeybinding(this._firstPart),t=this._getAriaLabelForKeybinding(this._chordPart);return kF.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype._keyCodeToElectronAccelerator=function(e){if(e>=93&&e<=108)return null;switch(e){case 16:return\"Up\";case 18:return\"Down\";case 15:return\"Left\";case 17:return\"Right\"}return Ya.toString(e)},t.prototype._getElectronAcceleratorLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?null:this._keyCodeToElectronAccelerator(e.keyCode):null},t.prototype.getElectronAccelerator=function(){if(null!==this._chordPart)return null;var e=this._getElectronAcceleratorLabelForKeybinding(this._firstPart);return TF.toLabel(this._firstPart,e,null,null,this._os)},t.prototype._getUserSettingsLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?\"\":Ya.toUserSettingsUS(e.keyCode):null},t.prototype.getUserSettingsLabel=function(){var e=this._getUserSettingsLabelForKeybinding(this._firstPart),t=this._getUserSettingsLabelForKeybinding(this._chordPart),n=FF.toLabel(this._firstPart,e,this._chordPart,t,this._os);return n?n.toLowerCase():n},t.prototype.isWYSIWYG=function(){return!0},t.prototype.isChord=function(){return!!this._chordPart},t.prototype.getParts=function(){return[this._toResolvedKeybindingPart(this._firstPart),this._toResolvedKeybindingPart(this._chordPart)]},t.prototype._toResolvedKeybindingPart=function(e){return e?new ru(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getUILabelForKeybinding(e),this._getAriaLabelForKeybinding(e)):null},t.prototype.getDispatchParts=function(){return[this._firstPart?t.getDispatchStr(this._firstPart):null,this._chordPart?t.getDispatchStr(this._chordPart):null]},t.getDispatchStr=function(e){if(e.isModifierKey())return null;var t=\"\";return e.ctrlKey&&(t+=\"ctrl+\"),e.shiftKey&&(t+=\"shift+\"),e.altKey&&(t+=\"alt+\"),e.metaKey&&(t+=\"meta+\"),t+=Ya.toString(e.keyCode)},t}(iu),WF=function(){function e(t,n){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var r=0,i=t.length;r<i;r++){var o=t[r].command;this._defaultBoundCommands.set(o,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.combine(t,n);for(r=0,i=this._keybindings.length;r<i;r++){var s=this._keybindings[r];null!==s.keypressFirstPart&&this._addKeyPress(s.keypressFirstPart,s)}}return e._isTargetedForRemoval=function(e,t,n,r,i){if(e.command!==r)return!1;if(t&&e.keypressFirstPart!==t)return!1;if(n&&e.keypressChordPart!==n)return!1;if(i){if(!e.when)return!1;if(!i.equals(e.when))return!1}return!0},e.combine=function(e,t){e=e.slice(0);for(var n=[],r=0,i=t.length;r<i;r++){var o=t[r];if(o.command&&0!==o.command.length&&\"-\"===o.command.charAt(0))for(var s=o.command.substr(1),a=o.keypressFirstPart,u=o.keypressChordPart,l=o.when,c=e.length-1;c>=0;c--)this._isTargetedForRemoval(e[c],a,u,s,l)&&e.splice(c,1);else n.push(o)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var r=this._map.get(t);if(void 0===r)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var i=r.length-1;i>=0;i--){var o=r[i];if(o.command!==n.command){var s=null!==o.keypressChordPart,a=null!==n.keypressChordPart;s&&a&&o.keypressChordPart!==n.keypressChordPart||e.whenIsEntirelyIncluded(o.when,n.when)&&this._removeFromLookupMap(o)}}r.push(n),this._addToLookupMap(n)},e.prototype._addToLookupMap=function(e){if(e.command){var t=this._lookupMap.get(e.command);void 0===t?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}},e.prototype._removeFromLookupMap=function(e){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return void t.splice(n,1)},e.whenIsEntirelyIncluded=function(e,t){if(!t)return!0;if(!e)return!1;for(var n=e instanceof Eu?e.expr:[e],r=t instanceof Eu?t.expr:[t],i=0,o=0;o<r.length;o++){for(var s=r[o],a=!1;!a&&i<n.length;){n[i].equals(s)&&(a=!0),i++}if(!a)return!1}return!0},e.prototype.getDefaultBoundCommands=function(){return this._defaultBoundCommands},e.prototype.getDefaultKeybindings=function(){return this._defaultKeybindings},e.prototype.getKeybindings=function(){return this._keybindings},e.prototype.lookupKeybindings=function(e){var t=this._lookupMap.get(e);if(void 0===t||0===t.length)return[];for(var n=[],r=0,i=t.length-1;i>=0;i--)n[r++]=t[i];return n},e.prototype.lookupPrimaryKeybinding=function(e){var t=this._lookupMap.get(e);return void 0===t||0===t.length?null:t[t.length-1]},e.prototype.resolve=function(e,t,n){var r=null;if(null!==t){if(void 0===(a=this._map.get(t)))return null;r=[];for(var i=0,o=a.length;i<o;i++){var s=a[i];s.keypressChordPart===n&&r.push(s)}}else{var a;if(void 0===(a=this._map.get(n)))return null;r=a}var u=this._findCommand(e,r);return u?null===t&&null!==u.keypressChordPart?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:u.command,commandArgs:u.commandArgs,bubble:u.bubble}:null},e.prototype._findCommand=function(t,n){for(var r=n.length-1;r>=0;r--){var i=n[r];if(e.contextMatchesRules(t,i.when))return i}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e.getAllUnboundCommands=function(e){var t=Ga.getCommands(),n=[];for(var r in t)\"_\"!==r[0]&&0!==r.indexOf(\"vscode.\")&&(\"object\"!=typeof t[r].description||Zn(t[r].description.args))&&!0!==e.get(r)&&n.push(r);return n},e}();function VF(e,t){void 0===t&&(t=!1);var n=0,r=e.length,i=\"\",o=0,s=BF.Unknown,a=PF.None;function u(t,r){for(var i=0,o=0;i<t||!r;){var s=e.charCodeAt(n);if(s>=48&&s<=57)o=16*o+s-48;else if(s>=65&&s<=70)o=16*o+s-65+10;else{if(!(s>=97&&s<=102))break;o=16*o+s-97+10}n++,i++}return i<t&&(o=-1),o}function l(){if(i=\"\",a=PF.None,o=n,n>=r)return o=r,s=BF.EOF;var t=e.charCodeAt(n);if(HF(t)){do{n++,i+=String.fromCharCode(t),t=e.charCodeAt(n)}while(HF(t));return s=BF.Trivia}if(UF(t))return n++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(n)&&(n++,i+=\"\\n\"),s=BF.LineBreakTrivia;switch(t){case 123:return n++,s=BF.OpenBraceToken;case 125:return n++,s=BF.CloseBraceToken;case 91:return n++,s=BF.OpenBracketToken;case 93:return n++,s=BF.CloseBracketToken;case 58:return n++,s=BF.ColonToken;case 44:return n++,s=BF.CommaToken;case 34:return n++,i=function(){for(var t=\"\",i=n;;){if(n>=r){t+=e.substring(i,n),a=PF.UnexpectedEndOfString;break}var o=e.charCodeAt(n);if(34===o){t+=e.substring(i,n),n++;break}if(92!==o){if(o>=0&&o<=31){if(UF(o)){t+=e.substring(i,n),a=PF.UnexpectedEndOfString;break}a=PF.InvalidCharacter}n++}else{if(t+=e.substring(i,n),++n>=r){a=PF.UnexpectedEndOfString;break}switch(o=e.charCodeAt(n++)){case 34:t+='\"';break;case 92:t+=\"\\\\\";break;case 47:t+=\"/\";break;case 98:t+=\"\\b\";break;case 102:t+=\"\\f\";break;case 110:t+=\"\\n\";break;case 114:t+=\"\\r\";break;case 116:t+=\"\\t\";break;case 117:var s=u(4,!0);s>=0?t+=String.fromCharCode(s):a=PF.InvalidUnicode;break;default:a=PF.InvalidEscapeCharacter}i=n}}return t}(),s=BF.StringLiteral;case 47:var l=n-1;if(47===e.charCodeAt(n+1)){for(n+=2;n<r&&!UF(e.charCodeAt(n));)n++;return i=e.substring(l,n),s=BF.LineCommentTrivia}if(42===e.charCodeAt(n+1)){n+=2;for(var h=r-1,d=!1;n<h;){if(42===e.charCodeAt(n)&&47===e.charCodeAt(n+1)){n+=2,d=!0;break}n++}return d||(n++,a=PF.UnexpectedEndOfComment),i=e.substring(l,n),s=BF.BlockCommentTrivia}return i+=String.fromCharCode(t),n++,s=BF.Unknown;case 45:if(i+=String.fromCharCode(t),++n===r||!YF(e.charCodeAt(n)))return s=BF.Unknown;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=function(){var t=n;if(48===e.charCodeAt(n))n++;else for(n++;n<e.length&&YF(e.charCodeAt(n));)n++;if(n<e.length&&46===e.charCodeAt(n)){if(!(++n<e.length&&YF(e.charCodeAt(n))))return a=PF.UnexpectedEndOfNumber,e.substring(t,n);for(n++;n<e.length&&YF(e.charCodeAt(n));)n++}var r=n;if(n<e.length&&(69===e.charCodeAt(n)||101===e.charCodeAt(n)))if((++n<e.length&&43===e.charCodeAt(n)||45===e.charCodeAt(n))&&n++,n<e.length&&YF(e.charCodeAt(n))){for(n++;n<e.length&&YF(e.charCodeAt(n));)n++;r=n}else a=PF.UnexpectedEndOfNumber;return e.substring(t,r)}(),s=BF.NumericLiteral;default:for(;n<r&&c(t);)n++,t=e.charCodeAt(n);if(o!==n){switch(i=e.substring(o,n)){case\"true\":return s=BF.TrueKeyword;case\"false\":return s=BF.FalseKeyword;case\"null\":return s=BF.NullKeyword}return s=BF.Unknown}return i+=String.fromCharCode(t),n++,s=BF.Unknown}}function c(e){if(HF(e)||UF(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:return!1}return!0}return{setPosition:function(e){n=e,i=\"\",o=0,s=BF.Unknown,a=PF.None},getPosition:function(){return n},scan:t?function(){var e;do{e=l()}while(e>=BF.LineCommentTrivia&&e<=BF.Trivia);return e}:l,getToken:function(){return s},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return n-o},getTokenError:function(){return a}}}function HF(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function UF(e){return 10===e||13===e||8232===e||8233===e}function YF(e){return e>=48&&e<=57}function ZF(e,t,n){var r=VF(e,!1);function i(e){return e?function(){return e(r.getTokenOffset(),r.getTokenLength())}:function(){return!0}}function o(e){return e?function(t){return e(t,r.getTokenOffset(),r.getTokenLength())}:function(){return!0}}var s=i(t.onObjectBegin),a=o(t.onObjectProperty),u=i(t.onObjectEnd),l=i(t.onArrayBegin),c=i(t.onArrayEnd),h=o(t.onLiteralValue),d=o(t.onSeparator),p=o(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function m(){for(;;){var e=r.scan();switch(e){case BF.LineCommentTrivia:case BF.BlockCommentTrivia:f&&v(RF.InvalidSymbol);break;case BF.Unknown:v(RF.InvalidSymbol);break;case BF.Trivia:case BF.LineBreakTrivia:break;default:return e}}}function v(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),p(e),t.length+n.length>0)for(var i=r.getToken();i!==BF.EOF;){if(-1!==t.indexOf(i)){m();break}if(-1!==n.indexOf(i))break;i=m()}}function y(e){var t=r.getTokenValue();return e?h(t):a(t),m(),!0}function b(){switch(r.getToken()){case BF.OpenBracketToken:return function(){l(),m();for(var e=!1;r.getToken()!==BF.CloseBracketToken&&r.getToken()!==BF.EOF;){if(r.getToken()===BF.CommaToken){if(e||v(RF.ValueExpected,[],[]),d(\",\"),m(),r.getToken()===BF.CloseBracketToken&&g)break}else e&&v(RF.CommaExpected,[],[]);b()||v(RF.ValueExpected,[],[BF.CloseBracketToken,BF.CommaToken]),e=!0}return c(),r.getToken()!==BF.CloseBracketToken?v(RF.CloseBracketExpected,[BF.CloseBracketToken],[]):m(),!0}();case BF.OpenBraceToken:return function(){s(),m();for(var e=!1;r.getToken()!==BF.CloseBraceToken&&r.getToken()!==BF.EOF;){if(r.getToken()===BF.CommaToken){if(e||v(RF.ValueExpected,[],[]),d(\",\"),m(),r.getToken()===BF.CloseBraceToken&&g)break}else e&&v(RF.CommaExpected,[],[]);(r.getToken()!==BF.StringLiteral?(v(RF.PropertyNameExpected,[],[BF.CloseBraceToken,BF.CommaToken]),0):(y(!1),r.getToken()===BF.ColonToken?(d(\":\"),m(),b()||v(RF.ValueExpected,[],[BF.CloseBraceToken,BF.CommaToken])):v(RF.ColonExpected,[],[BF.CloseBraceToken,BF.CommaToken]),1))||v(RF.ValueExpected,[],[BF.CloseBraceToken,BF.CommaToken]),e=!0}return u(),r.getToken()!==BF.CloseBraceToken?v(RF.CloseBraceExpected,[BF.CloseBraceToken],[]):m(),!0}();case BF.StringLiteral:return y(!0);default:return function(){switch(r.getToken()){case BF.NumericLiteral:var e=0;try{\"number\"!=typeof(e=JSON.parse(r.getTokenValue()))&&(v(RF.InvalidNumberFormat),e=0)}catch(e){v(RF.InvalidNumberFormat)}h(e);break;case BF.NullKeyword:h(null);break;case BF.TrueKeyword:h(!0);break;case BF.FalseKeyword:h(!1);break;default:return!1}return m(),!0}()}}return m(),r.getToken()===BF.EOF||(b()?(r.getToken()!==BF.EOF&&v(RF.EndOfFileExpected,[],[]),!0):(v(RF.ValueExpected,[],[]),!1))}!function(e){e[e.None=0]=\"None\",e[e.UnexpectedEndOfComment=1]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=2]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=3]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=4]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=5]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=6]=\"InvalidCharacter\"}(PF||(PF={})),function(e){e[e.Unknown=0]=\"Unknown\",e[e.OpenBraceToken=1]=\"OpenBraceToken\",e[e.CloseBraceToken=2]=\"CloseBraceToken\",e[e.OpenBracketToken=3]=\"OpenBracketToken\",e[e.CloseBracketToken=4]=\"CloseBracketToken\",e[e.CommaToken=5]=\"CommaToken\",e[e.ColonToken=6]=\"ColonToken\",e[e.NullKeyword=7]=\"NullKeyword\",e[e.TrueKeyword=8]=\"TrueKeyword\",e[e.FalseKeyword=9]=\"FalseKeyword\",e[e.StringLiteral=10]=\"StringLiteral\",e[e.NumericLiteral=11]=\"NumericLiteral\",e[e.LineCommentTrivia=12]=\"LineCommentTrivia\",e[e.BlockCommentTrivia=13]=\"BlockCommentTrivia\",e[e.LineBreakTrivia=14]=\"LineBreakTrivia\",e[e.Trivia=15]=\"Trivia\",e[e.EOF=16]=\"EOF\"}(BF||(BF={})),function(e){e[e.InvalidSymbol=0]=\"InvalidSymbol\",e[e.InvalidNumberFormat=1]=\"InvalidNumberFormat\",e[e.PropertyNameExpected=2]=\"PropertyNameExpected\",e[e.ValueExpected=3]=\"ValueExpected\",e[e.ColonExpected=4]=\"ColonExpected\",e[e.CommaExpected=5]=\"CommaExpected\",e[e.CloseBraceExpected=6]=\"CloseBraceExpected\",e[e.CloseBracketExpected=7]=\"CloseBracketExpected\",e[e.EndOfFileExpected=8]=\"EndOfFileExpected\"}(RF||(RF={}));var GF=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),KF=function(){function e(e,t,n){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===n&&(n=[]),this._contents=e,this._keys=t,this._overrides=n,this.isFrozen=!1}return Object.defineProperty(e.prototype,\"contents\",{get:function(){return this.checkAndFreeze(this._contents)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"overrides\",{get:function(){return this.checkAndFreeze(this._overrides)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"keys\",{get:function(){return this.checkAndFreeze(this._keys)},enumerable:!0,configurable:!0}),e.prototype.getValue=function(e){return e?SA(this.contents,e):this.contents},e.prototype.override=function(t){var n=this.getContentsForOverrideIdentifer(t);if(!n||\"object\"!=typeof n||!Object.keys(n).length)return this;for(var r={},i=0,o=Gn(Object.keys(this.contents).concat(Object.keys(n)));i<o.length;i++){var s=o[i],a=this.contents[s],u=n[s];u&&(\"object\"==typeof a&&\"object\"==typeof u?(a=cs(a),this.mergeContents(a,u)):a=u),r[s]=a}return new e(r)},e.prototype.merge=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r=cs(this.contents),i=cs(this.overrides),o=this.keys.slice(),s=0,a=t;s<a.length;s++){var u=a[s];this.mergeContents(r,u.contents);for(var l=function(e){var t=i.filter(function(t){return Wn(t.identifiers,e.identifiers)})[0];t?c.mergeContents(t.contents,e.contents):i.push(cs(e))},c=this,h=0,d=u.overrides;h<d.length;h++){l(d[h])}for(var p=0,f=u.keys;p<f.length;p++){var g=f[p];-1===o.indexOf(g)&&o.push(g)}}return new e(r,o,i)},e.prototype.freeze=function(){return this.isFrozen=!0,this},e.prototype.mergeContents=function(e,t){for(var n=0,r=Object.keys(t);n<r.length;n++){var i=r[n];i in e&&Ur(e[i])&&Ur(t[i])?this.mergeContents(e[i],t[i]):e[i]=cs(t[i])}},e.prototype.checkAndFreeze=function(e){return this.isFrozen&&!Object.isFrozen(e)?function(e){if(!e||\"object\"!=typeof e)return e;for(var t=[e];t.length>0;){var n=t.shift();for(var r in Object.freeze(n),n)if(hs.call(n,r)){var i=n[r];\"object\"!=typeof i||Object.isFrozen(i)||t.push(i)}}return e}(e):e},e.prototype.getContentsForOverrideIdentifer=function(e){for(var t=0,n=this.overrides;t<n.length;t++){var r=n[t];if(-1!==r.identifiers.indexOf(e))return r.contents}return null},e.prototype.toJSON=function(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}},e.prototype.setValue=function(e,t){this.addKey(e),EA(this.contents,e,t,function(e){throw new Error(e)})},e.prototype.removeValue=function(e){this.removeKey(e)&&AA(this.contents,e)},e.prototype.addKey=function(e){for(var t=this.keys.length,n=0;n<t;n++)0===e.indexOf(this.keys[n])&&(t=n);this.keys.splice(t,1,e)},e.prototype.removeKey=function(e){var t=this.keys.indexOf(e);return-1!==t&&(this.keys.splice(t,1),!0)},e}(),qF=function(e){function t(){for(var t,n=function(){var e=Object.create(null),t=su.as(tp.Configuration).getConfigurationProperties();for(var n in t)EA(e,n,t[n].default,function(e){return console.error(\"Conflict in default settings: \"+e)});return e}(),r=(t=su.as(tp.Configuration).getConfigurationProperties(),Object.keys(t)),i=[],o=0,s=Object.keys(n);o<s.length;o++){var a=s[o];dp.test(a)&&i.push({identifiers:[xA(a).trim()],contents:DA(n[a],function(e){return console.error(\"Conflict in default settings file: \"+e)})})}return e.call(this,n,r,i)||this}return GF(t,e),t}(KF),QF=(function(){function e(e){this._name=e,this._configurationModel=null,this._parseErrors=[]}Object.defineProperty(e.prototype,\"configurationModel\",{get:function(){return this._configurationModel||new KF},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"errors\",{get:function(){return this._parseErrors},enumerable:!0,configurable:!0}),e.prototype.parse=function(e){var t=this.parseContent(e),n=this.parseRaw(t);this._configurationModel=new KF(n.contents,n.keys,n.overrides)},e.prototype.parseContent=function(e){var t={},n=null,r=[],i=[],o=[];function s(e){Array.isArray(r)?r.push(e):n&&(r[n]=e)}var a={onObjectBegin:function(){var e={};s(e),i.push(r),r=e,n=null},onObjectProperty:function(e){n=e},onObjectEnd:function(){r=i.pop()},onArrayBegin:function(){var e=[];s(e),i.push(r),r=e,n=null},onArrayEnd:function(){r=i.pop()},onLiteralValue:s,onError:function(e){o.push({error:e})}};if(e)try{ZF(e,a),t=r[0]||{}}catch(e){console.error(\"Error while parsing settings file \"+this._name+\": \"+e),this._parseErrors=[e]}return t},e.prototype.parseRaw=function(e){var t=this;return{contents:DA(e,function(e){return console.error(\"Conflict in settings file \"+t._name+\": \"+e)}),keys:Object.keys(e),overrides:function(e,t){for(var n=[],r=su.as(tp.Configuration).getConfigurationProperties(),i=0,o=Object.keys(e);i<o.length;i++){var s=o[i];if(dp.test(s)){var a={};for(var u in e[s])r[u]&&r[u].overridable&&(a[u]=e[s][u]);n.push({identifiers:[xA(s).trim()],contents:DA(a,t)})}}return n}(e,function(e){return console.error(\"Conflict in settings file \"+t._name+\": \"+e)})}}}(),function(){function e(e,t,n,r,i,o,s){void 0===n&&(n=new KF),void 0===r&&(r=new Ge),void 0===i&&(i=new KF),void 0===o&&(o=new Ge),void 0===s&&(s=!0),this._defaultConfiguration=e,this._userConfiguration=t,this._workspaceConfiguration=n,this._folderConfigurations=r,this._memoryConfiguration=i,this._memoryConfigurationByResource=o,this._freeze=s,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new Ge}return e.prototype.getValue=function(e,t,n){return this.getConsolidateConfigurationModel(t,n).getValue(e)},e.prototype.updateValue=function(e,t,n){var r;void 0===n&&(n={}),n.resource?(r=this._memoryConfigurationByResource.get(n.resource))||(r=new KF,this._memoryConfigurationByResource.set(n.resource,r)):r=this._memoryConfiguration,void 0===t?r.removeValue(e):r.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)},e.prototype.inspect=function(e,t,n){var r=this.getConsolidateConfigurationModel(t,n),i=this.getFolderConfigurationModelForResource(t.resource,n),o=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration;return{default:t.overrideIdentifier?this._defaultConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this._defaultConfiguration.freeze().getValue(e),user:t.overrideIdentifier?this._userConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this._userConfiguration.freeze().getValue(e),workspace:n?t.overrideIdentifier?this._workspaceConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this._workspaceConfiguration.freeze().getValue(e):void 0,workspaceFolder:i?t.overrideIdentifier?i.freeze().override(t.overrideIdentifier).getValue(e):i.freeze().getValue(e):void 0,memory:t.overrideIdentifier?o.freeze().override(t.overrideIdentifier).getValue(e):o.freeze().getValue(e),value:r.getValue(e)}},e.prototype.keys=function(e){var t=this.getFolderConfigurationModelForResource(null,e);return{default:this._defaultConfiguration.freeze().keys,user:this._userConfiguration.freeze().keys,workspace:this._workspaceConfiguration.freeze().keys,workspaceFolder:t?t.freeze().keys:[]}},e.prototype.updateDefaultConfiguration=function(e){this._defaultConfiguration=e,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()},e.prototype.updateUserConfiguration=function(e){this._userConfiguration=e,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()},e.prototype.updateWorkspaceConfiguration=function(e){this._workspaceConfiguration=e,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()},e.prototype.updateFolderConfiguration=function(e,t){this._folderConfigurations.set(e,t),this._foldersConsolidatedConfigurations.delete(e)},e.prototype.deleteFolderConfiguration=function(e){this.folders.delete(e),this._foldersConsolidatedConfigurations.delete(e)},Object.defineProperty(e.prototype,\"defaults\",{get:function(){return this._defaultConfiguration},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"user\",{get:function(){return this._userConfiguration},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"workspace\",{get:function(){return this._workspaceConfiguration},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"folders\",{get:function(){return this._folderConfigurations},enumerable:!0,configurable:!0}),e.prototype.getConsolidateConfigurationModel=function(e,t){var n=this.getConsolidatedConfigurationModelForResource(e,t);return e.overrideIdentifier?n.override(e.overrideIdentifier):n},e.prototype.getConsolidatedConfigurationModelForResource=function(e,t){var n=e.resource,r=this.getWorkspaceConsolidatedConfiguration();if(t&&n){var i=t.getFolder(n);i&&(r=this.getFolderConsolidatedConfiguration(i.uri)||r);var o=this._memoryConfigurationByResource.get(n);o&&(r=r.merge(o))}return r},e.prototype.getWorkspaceConsolidatedConfiguration=function(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this._userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration},e.prototype.getFolderConsolidatedConfiguration=function(e){var t=this._foldersConsolidatedConfigurations.get(e);if(!t){var n=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=n.merge(r),this._freeze&&(t=t.freeze()),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t},e.prototype.getFolderConfigurationModelForResource=function(e,t){if(t&&e){var n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}return null},e.prototype.toData=function(){var e=this;return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},user:{contents:this._userConfiguration.contents,overrides:this._userConfiguration.overrides,keys:this._userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:this._folderConfigurations.keys().reduce(function(t,n){var r=e._folderConfigurations.get(n),i=r.contents,o=r.overrides,s=r.keys;return t[n.toString()]={contents:i,overrides:o,keys:s},t},Object.create({})),isComplete:!0}},e.prototype.allKeys=function(e){var t=this.keys(e),n=t.default.slice(),r=function(e){for(var t=0,r=e;t<r.length;t++){var i=r[t];-1===n.indexOf(i)&&n.push(i)}};r(t.user),r(t.workspace);for(var i=0,o=this.folders.keys();i<o.length;i++){var s=o[i];r(this.folders.get(s).keys)}return n},e}()),XF=(function(e){function t(t,n){void 0===t&&(t=new KF),void 0===n&&(n=new Ge);var r=e.call(this)||this;return r._changedConfiguration=t,r._changedConfigurationByResource=n,r}GF(t,e),Object.defineProperty(t.prototype,\"changedConfiguration\",{get:function(){return this._changedConfiguration},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"changedConfigurationByResource\",{get:function(){return this._changedConfigurationByResource},enumerable:!0,configurable:!0}),t.prototype.change=function(e,n){if(e instanceof t){this._changedConfiguration=this._changedConfiguration.merge(e._changedConfiguration);for(var r=0,i=e._changedConfigurationByResource.keys();r<i.length;r++){var o=i[r],s=this.getOrSetChangedConfigurationForResource(o);s=s.merge(e._changedConfigurationByResource.get(o)),this._changedConfigurationByResource.set(o,s)}}else this.changeWithKeys(e,n);return this},t.prototype.telemetryData=function(e,t){return this._source=e,this._sourceConfig=t,this},Object.defineProperty(t.prototype,\"affectedKeys\",{get:function(){var e=this._changedConfiguration.keys.slice();return this._changedConfigurationByResource.forEach(function(t){return e.push.apply(e,t.keys)}),Gn(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"source\",{get:function(){return this._source},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"sourceConfig\",{get:function(){return this._sourceConfig},enumerable:!0,configurable:!0}),t.prototype.affectsConfiguration=function(e,t){var n=[this._changedConfiguration];if(t){var r=this._changedConfigurationByResource.get(t);r&&n.push(r)}else n.push.apply(n,this._changedConfigurationByResource.values());for(var i=0,o=n;i<o.length;i++){var s=o[i];if(this.doesConfigurationContains(s,e))return!0}return!1},t.prototype.changeWithKeys=function(e,t){var n=t?this.getOrSetChangedConfigurationForResource(t):this._changedConfiguration;this.updateKeys(n,e)},t.prototype.getOrSetChangedConfigurationForResource=function(e){var t=this._changedConfigurationByResource.get(e);return t||(t=new KF,this._changedConfigurationByResource.set(e,t)),t}}(function(){function e(){}return e.prototype.doesConfigurationContains=function(e,t){for(var n,r,i=e.contents,o=DA(((r={})[t]=!0,r),function(){});\"object\"==typeof o&&(n=Object.keys(o)[0]);){if(!(i=i[n]))return!1;o=o[n]}return!0},e.prototype.updateKeys=function(e,t,n){for(var r=0,i=t;r<i.length;r++){var o=i[r];e.setValue(o,{})}},e}()),function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}),JF=function(e,t){return function(n,r){t(n,r,e)}},$F=function(){function e(t,n,r,i){var o=this;this._commandService=r,this._contextKeyService=i,this._menuGroups=[],this._disposables=[],this._onDidChange=new wn,n.then(function(n){var r,i=ku.getMenuItems(t),s=new Set;i.sort(e._compareMenuItems);for(var a=0,u=i;a<u.length;a++){var l=u[a],c=l.group;r&&r[0]===c||(r=[c,[]],o._menuGroups.push(r)),r[1].push(l),e._fillInKbExprKeys(l.when,s)}o._disposables.push(o._contextKeyService.onDidChangeContext(function(e){e.affectsSome(s)&&o._onDidChange.fire()})),o._onDidChange.fire(o)})}return e.prototype.dispose=function(){this._disposables=on(this._disposables),this._onDidChange.dispose()},Object.defineProperty(e.prototype,\"onDidChange\",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.getActions=function(e){for(var t=[],n=0,r=this._menuGroups;n<r.length;n++){for(var i=r[n],o=i[0],s=[],a=0,u=i[1];a<u.length;a++){var l=u[a];if(this._contextKeyService.contextMatchesRules(l.when)){var c=new Tu(l.command,l.alt,e,this._contextKeyService,this._commandService);c.order=l.order,s.push(c)}}s.length>0&&t.push([o,s])}return t},e._fillInKbExprKeys=function(e,t){if(e)for(var n=0,r=e.keys();n<r.length;n++){var i=r[n];t.add(i)}},e._compareMenuItems=function(e,t){var n=e.group,r=t.group;if(n!==r){if(!n)return 1;if(!r)return-1;if(\"navigation\"===n)return-1;if(\"navigation\"===r)return 1;var i=n.localeCompare(r);if(0!==i)return i}var o=e.order||0,s=t.order||0;if(o<s)return-1;if(o>s)return 1;var a=\"string\"==typeof e.command.title?e.command.title:e.command.title.value,u=\"string\"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(u)},e=XF([JF(2,Za),JF(3,Su)],e)}(),eO=function(){return function(e,t,n,r,i){if(this.resolvedKeybinding=e,e){var o=e.getDispatchParts(),s=o[0],a=o[1];this.keypressFirstPart=s,this.keypressChordPart=a}else this.keypressFirstPart=null,this.keypressChordPart=null;this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=r,this.isDefault=i}}(),tO=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),nO=function(){function e(e){this._widget=e}return e.prototype.getId=function(){return\"editor\"},e.prototype.getControl=function(){return this._widget},e.prototype.focus=function(){this._widget.focus()},e.prototype.isVisible=function(){return!0},e.prototype.withTypedEditor=function(e,t){return zu(this._widget)?e(this._widget):t(this._widget)},e}(),rO=function(){function e(e){this.model=e,this._onDispose=new wn}return Object.defineProperty(e.prototype,\"onDispose\",{get:function(){return this._onDispose.event},enumerable:!0,configurable:!0}),e.prototype.load=function(){return cn.b.as(this)},Object.defineProperty(e.prototype,\"textEditorModel\",{get:function(){return this.model},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose.fire()},e}(),iO=function(){function e(){this.openEditorDelegate=null}return e.prototype.setEditor=function(e){this.editor=new nO(e)},e.prototype.setOpenEditorDelegate=function(e){this.openEditorDelegate=e},e.prototype.openEditor=function(e,t){var n=this;return cn.b.as(this.editor.withTypedEditor(function(t){return n.doOpenEditor(t,e)},function(t){return n.doOpenEditor(t.getOriginalEditor(),e)||n.doOpenEditor(t.getModifiedEditor(),e)}))},e.prototype.doOpenEditor=function(e,t){if(!this.findModel(e,t)){if(t.resource){if(this.openEditorDelegate)return this.openEditorDelegate(t.resource.toString()),null;var n=t.resource.scheme;if(n===Md.http||n===Md.https)return Ah(t.resource.toString()),this.editor}return null}var r=t.options.selection;if(r)if(\"number\"==typeof r.endLineNumber&&\"number\"==typeof r.endColumn)e.setSelection(r),e.revealRangeInCenter(r,1);else{var i={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(i),e.revealPositionInCenter(i,1)}return this.editor},e.prototype.findModel=function(e,t){var n=e.getModel();return n.uri.toString()!==t.resource.toString()?null:n},e}(),oO=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=new nO(e)},e.prototype.createModelReference=function(e){var t,n=this;return(t=this.editor.withTypedEditor(function(t){return n.findModel(t,e)},function(t){return n.findModel(t.getOriginalEditor(),e)||n.findModel(t.getModifiedEditor(),e)}))?cn.b.as(new ln(new rO(t))):cn.b.as(new ln(null))},e.prototype.registerTextModelContentProvider=function(e,t){return{dispose:function(){}}},e.prototype.findModel=function(e,t){var n=e.getModel();return n.uri.toString()!==t.toString()?null:n},e}(),sO=function(){function e(){}return e.prototype.show=function(){return e.NULL_PROGRESS_RUNNER},e.prototype.showWhile=function(e,t){return null},e.NULL_PROGRESS_RUNNER={done:function(){},total:function(){},worked:function(){}},e}(),aO=function(){function e(){}return e.prototype.confirm=function(e){return this.doConfirm(e).then(function(e){return{confirmed:e,checkboxChecked:!1}})},e.prototype.doConfirm=function(e){var t=e.message;return e.detail&&(t=t+\"\\n\\n\"+e.detail),cn.b.wrap(window.confirm(t))},e.prototype.show=function(e,t,n,r){return cn.b.as(0)},e}(),uO=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:Ub.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:Ub.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:Ub.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case Ub.Error:console.error(t.message);break;case Ub.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.prototype.prompt=function(t,n,r,i){return e.NO_OP},e.NO_OP=new Zb,e}(),lO=function(){function e(e){this._onWillExecuteCommand=new wn,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,n=e.id;return this._dynamicCommands[n]=e,{dispose:function(){delete t._dynamicCommands[n]}}},e.prototype.executeCommand=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Ga.getCommand(e)||this._dynamicCommands[e];if(!r)return cn.b.wrapError(new Error(\"command '\"+e+\"' not found\"));try{this._onWillExecuteCommand.fire({commandId:e});var i=this._instantiationService.invokeFunction.apply(this._instantiationService,[r.handler].concat(t));return cn.b.as(i)}catch(e){return cn.b.wrapError(e)}},e}(),cO=function(e){function t(t,n,r,i,o){var s=e.call(this,t,n,r,i)||this;return s._cachedResolver=null,s._dynamicKeybindings=[],s.toDispose.push(kc(o,ph.KEY_DOWN,function(e){var t=new hc(e);s._dispatch(t,t.target)&&t.preventDefault()})),s}return tO(t,e),t.prototype.addDynamicKeybinding=function(e,t,n,r){var i=this,o=[];this._dynamicKeybindings.push({keybinding:$a(t,we.a),command:e,when:r,weight1:1e3,weight2:0}),o.push({dispose:function(){for(var t=0;t<i._dynamicKeybindings.length;t++){if(i._dynamicKeybindings[t].command===e)return i._dynamicKeybindings.splice(t,1),void i.updateResolver({source:RC.Default})}}});var s=this._commandService;if(!(s instanceof lO))throw new Error(\"Unknown command service!\");return o.push(s.addCommand({id:e,handler:n})),this.updateResolver({source:RC.Default}),sn(o)},t.prototype.updateResolver=function(e){this._cachedResolver=null,this._onDidUpdateKeybindings.fire(e)},t.prototype._getResolver=function(){if(!this._cachedResolver){var e=this._toNormalizedKeybindingItems(au.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new WF(e,t)}return this._cachedResolver},t.prototype._toNormalizedKeybindingItems=function(e,t){for(var n=[],r=0,i=0,o=e.length;i<o;i++){var s=e[i],a=s.when?s.when.normalize():null,u=s.keybinding;if(u)for(var l=this.resolveKeybinding(u),c=0;c<l.length;c++)n[r++]=new eO(l[c],s.command,s.commandArgs,a,t);else n[r++]=new eO(null,s.command,s.commandArgs,a,t)}return n},t.prototype.resolveKeybinding=function(e){return[new zF(e,we.a)]},t.prototype.resolveKeyboardEvent=function(e){var t=new tu(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new zF(t,we.a)},t.prototype.resolveUserBinding=function(e){return[]},t}(NF);function hO(e){return e&&\"object\"==typeof e&&(!e.overrideIdentifier||\"string\"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof Be)}var dO=function(){function e(){this._onDidChangeConfiguration=new wn,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new QF(new qF,new KF)}return e.prototype.configuration=function(){return this._configuration},e.prototype.getValue=function(e,t){var n=\"string\"==typeof e?e:void 0,r=hO(e)?e:hO(t)?t:{};return this.configuration().getValue(n,r,null)},e.prototype.updateValue=function(e,t,n,r){return cn.b.as(null)},e.prototype.inspect=function(e,t){return void 0===t&&(t={}),this.configuration().inspect(e,t,null)},e.prototype.keys=function(){return this.configuration().keys(null)},e.prototype.reloadConfiguration=function(){return cn.b.as(null)},e.prototype.getConfigurationData=function(){return null},e}(),pO=function(){function e(e){var t=this;this.configurationService=e,this._onDidChangeConfigurationEmitter=new wn,this.configurationService.onDidChangeConfiguration(function(e){t._onDidChangeConfigurationEmitter.fire(e)})}return e.prototype.getValue=function(e,t,n){var r=(ye.isIPosition(t)?t:null)?\"string\"==typeof n?n:void 0:\"string\"==typeof t?t:void 0;return this.configurationService.getValue(r)},e}(),fO=function(){function e(e){this._commandService=e}return e.prototype.createMenu=function(e,t){return new $F(e,cn.b.as(!0),this._commandService,t)},e}(),gO=function(){function e(){this.isOptedIn=!1}return e.prototype.publicLog=function(e,t){return cn.b.wrap(null)},e.prototype.getTelemetryInfo=function(){return null},e}(),mO=function(){function e(){this._onDidChangeWorkspaceName=new wn,this.onDidChangeWorkspaceName=this._onDidChangeWorkspaceName.event,this._onDidChangeWorkspaceFolders=new wn,this.onDidChangeWorkspaceFolders=this._onDidChangeWorkspaceFolders.event,this._onDidChangeWorkbenchState=new wn,this.onDidChangeWorkbenchState=this._onDidChangeWorkbenchState.event;var t=Be.from({scheme:e.SCHEME,authority:\"model\",path:\"/\"});this.workspace={id:\"4064f6ec-cb38-4ad0-af64-ee6467e63c82\",folders:[new hM({uri:t,name:\"\",index:0})],name:t.fsPath}}return e.prototype.getWorkspace=function(){return this.workspace},e.prototype.getWorkbenchState=function(){return this.workspace?this.workspace.configuration?lM.WORKSPACE:lM.FOLDER:lM.EMPTY},e.prototype.getWorkspaceFolder=function(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:void 0},e.prototype.isInsideWorkspace=function(t){return t&&t.scheme===e.SCHEME},e.prototype.isCurrentWorkspace=function(e){return!0},e}(),vO=Or(\"themeService\"),yO=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),bO=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_O=function(e,t){return function(n,r){t(n,r,e)}},CO=0,wO=!1;function DO(){var e;wO||(wO=!0,e=document.body,(jw=document.createElement(\"div\")).className=\"monaco-aria-container\",(zw=document.createElement(\"div\")).className=\"monaco-alert\",zw.setAttribute(\"role\",\"alert\"),zw.setAttribute(\"aria-atomic\",\"true\"),jw.appendChild(zw),(Ww=document.createElement(\"div\")).className=\"monaco-status\",Ww.setAttribute(\"role\",\"status\"),Ww.setAttribute(\"aria-atomic\",\"true\"),jw.appendChild(Ww),e.appendChild(jw))}var EO=function(e){function t(t,n,r,i,o,s,a,u,l){var c=this;return(n=n||{}).ariaLabel=n.ariaLabel||ns(\"editorViewAccessibleLabel\",\"Editor content\"),n.ariaLabel=n.ariaLabel+\";\"+(Xl?ns(\"accessibilityHelpMessageIE\",\"Press Ctrl+F1 for Accessibility Options.\"):ns(\"accessibilityHelpMessage\",\"Press Alt+F1 for Accessibility Options.\")),c=e.call(this,t,n,r,i,o,s,u,l)||this,a instanceof cO&&(c._standaloneKeybindingService=a),DO(),c}return yO(t,e),t.prototype.addCommand=function(e,t,n){if(!this._standaloneKeybindingService)return console.warn(\"Cannot add command because the editor is configured with an unrecognized KeybindingService\"),null;var r=\"DYNAMIC_\"+ ++CO,i=mu.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,i),r},t.prototype.createContextKey=function(e,t){return this._contextKeyService.createKey(e,t)},t.prototype.addAction=function(e){var t=this;if(\"string\"!=typeof e.id||\"string\"!=typeof e.label||\"function\"!=typeof e.run)throw new Error(\"Invalid action descriptor, `id`, `label` and `run` are required properties!\");if(!this._standaloneKeybindingService)return console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\"),rn;var n=e.id,r=e.label,i=mu.and(mu.equals(\"editorId\",this.getId()),mu.deserialize(e.precondition)),o=e.keybindings,s=mu.and(i,mu.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,u=e.contextMenuOrder||0,l=function(){var n=e.run(t);return n||cn.b.as(void 0)},c=[],h=this.getId()+\":\"+n;if(c.push(Ga.registerCommand(h,l)),a){var d={command:{id:h,title:r},when:i,group:a,order:u};c.push(ku.appendMenuItem(Iu.EditorContext,d))}Array.isArray(o)&&(c=c.concat(o.map(function(e){return t._standaloneKeybindingService.addDynamicKeybinding(h,e,l,s)})));var p=new Hb(h,r,r,i,l,this._contextKeyService);return this._actions[n]=p,c.push({dispose:function(){delete t._actions[n]}}),sn(c)},t=bO([_O(2,Tr),_O(3,Wu),_O(4,Za),_O(5,Su),_O(6,HC),_O(7,Og),_O(8,Yb)],t)}(bx),AO=function(e){function t(t,n,r,i,o,s,a,u,l,c,h){var d=this;\"string\"==typeof(n=n||{}).theme&&c.setTheme(n.theme);var p=n.model;if(delete n.model,(d=e.call(this,t,n,i,o,s,a,u,c,h)||this)._contextViewService=l,d._register(r),void 0===p?(p=self.monaco.editor.createModel(n.value||\"\",n.language||\"text/plain\"),d._ownsModel=!0):d._ownsModel=!1,d._attachModel(p),p){var f={oldModelUrl:null,newModelUrl:p.uri};d._onDidChangeModel.fire(f)}return d}return yO(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._attachModel=function(t){e.prototype._attachModel.call(this,t),this._view&&this._contextViewService.setContainer(this._view.domNode.domNode)},t.prototype._postDetachModelCleanup=function(t){e.prototype._postDetachModelCleanup.call(this,t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)},t=bO([_O(3,Tr),_O(4,Wu),_O(5,Za),_O(6,Su),_O(7,HC),_O(8,WC),_O(9,vO),_O(10,Yb)],t)}(EO),SO=function(e){function t(t,n,r,i,o,s,a,u,l,c,h){var d=this;return\"string\"==typeof(n=n||{}).theme&&(n.theme=c.setTheme(n.theme)),(d=e.call(this,t,n,u,o,i,l,c,h)||this)._contextViewService=a,d._register(r),d._contextViewService.setContainer(d._containerDomElement),d}return yO(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._createInnerEditor=function(e,t,n){return e.createInstance(EO,t,n)},t.prototype.getOriginalEditor=function(){return e.prototype.getOriginalEditor.call(this)},t.prototype.getModifiedEditor=function(){return e.prototype.getModifiedEditor.call(this)},t.prototype.addCommand=function(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)},t.prototype.createContextKey=function(e,t){return this.getModifiedEditor().createContextKey(e,t)},t.prototype.addAction=function(e){return this.getModifiedEditor().addAction(e)},t=bO([_O(3,Tr),_O(4,Su),_O(5,HC),_O(6,WC),_O(7,uE),_O(8,Wu),_O(9,vO),_O(10,Yb)],t)}(kx),xO=(n(364),n(365),function(){function e(e,t,n){void 0===n&&(n={}),Mc(e,\"monaco-menu-container\");var r=document.createElement(\"div\");Mc(r,\"monaco-menu\"),e.appendChild(r),this.actionBar=new zC(r,{orientation:EC.VERTICAL,actionItemProvider:n.actionItemProvider,context:n.context,actionRunner:n.actionRunner,isMenu:!0}),this.actionBar.push(t,{icon:!0,label:!0})}return Object.defineProperty(e.prototype,\"onDidCancel\",{get:function(){return this.actionBar.onDidCancel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onDidBlur\",{get:function(){return this.actionBar.onDidBlur},enumerable:!0,configurable:!0}),e.prototype.focus=function(){this.actionBar.focus(!0)},e.prototype.dispose=function(){this.actionBar&&(this.actionBar.dispose(),this.actionBar=null),this.listener&&(this.listener.dispose(),this.listener=null)},e}()),MO=function(){function e(e,t,n,r){var i=this;this.setContainer(e),this.contextViewService=t,this.telemetryService=n,this.notificationService=r,this.actionRunner=new du,this.menuContainerElement=null,this.toDispose=[];var o=!1;this.toDispose.push(this.actionRunner.onDidBeforeRun(function(e){i.telemetryService&&i.telemetryService.publicLog(\"workbenchActionExecuted\",{id:e.action.id,from:\"contextMenu\"}),(o=!!e.retainActionItem)||i.contextViewService.hideContextView(!1)})),this.toDispose.push(this.actionRunner.onDidRun(function(e){o&&i.contextViewService.hideContextView(!1),o=!1,e.error&&i.notificationService&&i.notificationService.error(e.error)}))}return e.prototype.setContainer=function(e){var t=this;this.$el&&(this.$el.off([\"click\",\"mousedown\"]),this.$el=null),e&&(this.$el=Z_(e),this.$el.on(\"mousedown\",function(e){return t.onMouseDown(e)}))},e.prototype.showContextMenu=function(e){var t=this;e.getActions().done(function(n){t.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,render:function(r){t.menuContainerElement=r;var i=e.getMenuClassName?e.getMenuClassName():\"\";i&&(r.className+=\" \"+i);var o=new xO(r,n,{actionItemProvider:e.getActionItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:t.actionRunner}),s=o.onDidCancel(function(){t.contextViewService.hideContextView(!0)}),a=o.onDidBlur(function(){t.contextViewService.hideContextView(!0)});return o.focus(),sn([s,a,o])},onHide:function(n){e.onHide&&e.onHide(n),t.menuContainerElement=null}})})},e.prototype.onMouseDown=function(e){if(this.menuContainerElement){for(var t=new yc(e).target;t;){if(t===this.menuContainerElement)return;t=t.parentElement}this.contextViewService.hideContextView()}},e.prototype.dispose=function(){this.setContainer(null)},e}(),NO=function(){function e(e,t,n,r){this._onDidContextMenu=new wn,this.contextMenuHandler=new MO(e,r,t,n)}return e.prototype.dispose=function(){this.contextMenuHandler.dispose()},e.prototype.setContainer=function(e){this.contextMenuHandler.setContainer(e)},e.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},Object.defineProperty(e.prototype,\"onDidContextMenu\",{get:function(){return this._onDidContextMenu.event},enumerable:!0,configurable:!0}),e}(),IO=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},LO=function(e,t){return function(n,r){t(n,r,e)}},kO=function(){function e(e,t,n){this.logService=n,this.contextView=new Gw(e)}return e.prototype.dispose=function(){this.contextView.dispose()},e.prototype.setContainer=function(e){this.logService.trace(\"ContextViewService#setContainer\"),this.contextView.setContainer(e)},e.prototype.showContextView=function(e){this.logService.trace(\"ContextViewService#showContextView\"),this.contextView.show(e)},e.prototype.layout=function(){this.contextView.layout()},e.prototype.hideContextView=function(e){this.logService.trace(\"ContextViewService#hideContextView\"),this.contextView.hide(e)},e=IO([LO(1,cu),LO(2,yk)],e)}(),TO=Object.prototype.hasOwnProperty;function FO(e,t){var n=function(n){if(TO.call(e,n)&&!1===t({key:n,value:e[n]},function(){delete e[n]}))return{value:void 0}};for(var r in e){var i=n(r);if(\"object\"==typeof i)return i.value}}var OO,PO=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return FO(this._nodes,function(t){Qr(t.value.outgoing)&&e.push(t.value)}),e},e.prototype.traverse=function(e,t,n){var r=this.lookup(e);r&&this._traverse(r,t,Object.create(null),n)},e.prototype._traverse=function(e,t,n,r){var i=this,o=this._hashFn(e.data);n[o]||(n[o]=!0,r(e.data),FO(t?e.outgoing:e.incoming,function(e){return i._traverse(e.value,t,n,r)}))},e.prototype.insertEdge=function(e,t){var n=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);n.outgoing[this._hashFn(t)]=r,r.incoming[this._hashFn(e)]=n},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],FO(this._nodes,function(e){delete e.value.outgoing[t],delete e.value.incoming[t]})},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),n=this._nodes[t];return n||(n=function(e){return{data:e,incoming:Object.create(null),outgoing:Object.create(null)}}(e),this._nodes[t]=n),n},e.prototype.lookup=function(e){return this._nodes[this._hashFn(e)]},Object.defineProperty(e.prototype,\"length\",{get:function(){return Object.keys(this._nodes).length},enumerable:!0,configurable:!0}),e.prototype.toString=function(){var e=[];return FO(this._nodes,function(t){e.push(t.key+\", (incoming)[\"+Object.keys(t.value.incoming).join(\", \")+\"], (outgoing)[\"+Object.keys(t.value.outgoing).join(\",\")+\"]\")}),e.join(\"\\n\")},e}(),BO=function(){function e(e,t){void 0===e&&(e=new Sh),void 0===t&&(t=!1),this._services=e,this._strict=t,this._services.set(Tr,this)}return e.prototype.createChild=function(t){var n=this;return this._services.forEach(function(e,r){t.has(e)||(r instanceof pu&&(r=n._createAndCacheServiceInstance(e,r)),t.set(e,r))}),new e(t,this._strict)},e.prototype.invokeFunction=function(e){for(var t,n=this,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];try{return t={get:function(e,t){var r=n._getOrCreateServiceInstance(e);if(!r&&t!==Pr)throw new Error(\"[invokeFunction] unkown service '\"+e+\"'\");return r}},e.apply(void 0,[t].concat(r))}finally{t.get=function(){throw(e=\"service accessor is only valid during the invocation of its target method\")?new Error(\"Illegal state: \"+e):new Error(\"Illegal state\");var e}}},e.prototype.createInstance=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return e instanceof pu?this._createInstance(e,t):this._createInstance(new pu(e),t)},e.prototype._createInstance=function(e,t){for(var n=e.staticArguments.concat(t),r=gr.getServiceDependencies(e.ctor).sort(function(e,t){return e.index-t.index}),i=[],o=0,s=r;o<s.length;o++){var a=s[o],u=this._getOrCreateServiceInstance(a.id);if(!u&&this._strict&&!a.optional)throw new Error(\"[createInstance] \"+e.ctor.name+\" depends on UNKNOWN service \"+a.id+\".\");i.push(u)}var l=r.length>0?r[0].index:n.length;if(n.length!==l){console.warn(\"[createInstance] First service dependency of \"+e.ctor.name+\" at position \"+(l+1)+\" conflicts with \"+n.length+\" static arguments\");var c=l-n.length;n=c>0?n.concat(new Array(c)):n.slice(0,l)}var h=[e.ctor];return h.push.apply(h,n),h.push.apply(h,i),function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Object.create(e.prototype);return e.apply(r,t),r}.apply(null,h)},e.prototype._getOrCreateServiceInstance=function(e){var t=this._services.get(e);return t instanceof pu?this._createAndCacheServiceInstance(e,t):t},e.prototype._createAndCacheServiceInstance=function(e,t){ou(this._services.get(e)instanceof pu);var n=new PO(function(e){return e.id.toString()});function r(){var e=new Error(\"[createInstance] cyclic dependency between services\");throw e.message=n.toString(),e}for(var i=0,o=[{id:e,desc:t}];o.length;){var s=o.pop();n.lookupOrInsertNode(s),i++>100&&r();for(var a=0,u=gr.getServiceDependencies(s.desc.ctor);a<u.length;a++){var l=u[a],c=this._services.get(l.id);if(c||console.warn(\"[createInstance] \"+e+\" depends on \"+l.id+\" which is NOT registered.\"),c instanceof pu){var h={id:l.id,desc:c};n.insertEdge(s,h),o.push(h)}}}for(;;){var d=n.roots();if(0===d.length){0!==n.length&&r();break}for(var p=0,f=d;p<f.length;p++){var g=f[p],m=this._createInstance(g.data.desc,[]);this._services.set(g.data.id,m),n.removeNode(g.data)}}return this._services.get(e)},e}();!function(e){e.get=function(e,t,n){if(e[t])return e[t][n]},e.set=function(e,t,n,r){e[t]||(e[t]=Object.create(null)),e[t][n]=r},e.remove=function(e,t,n){return!(!e[t]||!e[t][n]||(delete e[t][n],Qr(e[t])&&delete e[t],0))}}(OO||(OO={}));var RO=function(){function e(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=Object.create(null),this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}return e.prototype.dispose=function(){this._subscription.dispose(),this._data=void 0},e.prototype._update=function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t],i=r.toString(),o=this._data[i];o&&this._substract(o);var s=this._resourceStats(r);this._add(s),this._data[i]=s}},e.prototype._resourceStats=function(e){var t={errors:0,warnings:0,infos:0,unknowns:0};if(e.scheme===Md.inMemory||e.scheme===Md.walkThrough||e.scheme===Md.walkThroughSnippet)return t;for(var n=0,r=this._service.read({resource:e});n<r.length;n++){var i=r[n].severity;i===gE.Error?t.errors+=1:i===gE.Warning?t.warnings+=1:i===gE.Info?t.infos+=1:t.unknowns+=1}return t},e.prototype._substract=function(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns},e.prototype._add=function(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns},e}(),jO=function(){function e(){this._onMarkerChanged=new wn,this._onMarkerChangedEvent=An(this._onMarkerChanged.event,e._debouncer,0),this._byResource=Object.create(null),this._byOwner=Object.create(null),this._stats=new RO(this)}return e.prototype.dispose=function(){this._stats.dispose()},Object.defineProperty(e.prototype,\"onMarkerChanged\",{get:function(){return this._onMarkerChangedEvent},enumerable:!0,configurable:!0}),e.prototype.getStatistics=function(){return this._stats},e.prototype.remove=function(e,t){if(!Zn(t))for(var n=0,r=t;n<r.length;n++){var i=r[n];this.changeOne(e,i,void 0)}},e.prototype.changeOne=function(t,n,r){if(Zn(r)){var i=OO.remove(this._byResource,n.toString(),t),o=OO.remove(this._byOwner,t,n.toString());if(i!==o)throw new Error(\"invalid marker service state\");i&&o&&this._onMarkerChanged.fire([n])}else{for(var s=[],a=0,u=r;a<u.length;a++){var l=u[a],c=e._toMarker(t,n,l);c&&s.push(c)}OO.set(this._byResource,n.toString(),t,s),OO.set(this._byOwner,t,n.toString(),s),this._onMarkerChanged.fire([n])}},e._toMarker=function(e,t,n){var r=n.code,i=n.severity,o=n.message,s=n.source,a=n.startLineNumber,u=n.startColumn,l=n.endLineNumber,c=n.endColumn,h=n.relatedInformation;if(o)return{resource:t,owner:e,code:r=r||null,severity:i,message:o,source:s,startLineNumber:a=a>0?a:1,startColumn:u=u>0?u:1,endLineNumber:l=l>=a?l:a,endColumn:c=c>0?c:u,relatedInformation:h}},e.prototype.changeAll=function(t,n){var r=[],i=this._byOwner[t];if(i)for(var o in delete this._byOwner[t],i){var s=OO.get(this._byResource,o,t)[0];s&&r.push(s.resource),OO.remove(this._byResource,o,t)}if(!Zn(n)){for(var a=Object.create(null),u=0,l=n;u<l.length;u++){var c=l[u],h=(o=c.resource,c.marker),d=e._toMarker(t,o,h);if(d){var p=a[o.toString()];p?p.push(d):(a[o.toString()]=[d],r.push(o))}}for(var o in a)OO.set(this._byResource,o,t,a[o]),OO.set(this._byOwner,t,o,a[o])}r.length>0&&this._onMarkerChanged.fire(r)},e.prototype.read=function(t){void 0===t&&(t=Object.create(null));var n=t.owner,r=t.resource,i=t.severities,o=t.take;if((!o||o<0)&&(o=-1),n&&r){if(b=OO.get(this._byResource,r.toString(),n)){for(var s=[],a=0,u=b;a<u.length;a++){var l=u[a];if(e._accept(l,i)){var c=s.push(l);if(o>0&&c===o)break}}return s}return[]}if(n||r){var h=n?this._byOwner[n]:this._byResource[r.toString()];if(!h)return[];s=[];for(var d in h)for(var p=0,f=h[d];p<f.length;p++){b=f[p];if(e._accept(b,i)){c=s.push(b);if(o>0&&c===o)return s}}return s}var s=[];for(var g in this._byResource)for(var m in this._byResource[g])for(var v=0,y=this._byResource[g][m];v<y.length;v++){var b=y[v];if(e._accept(b,i)){var c=s.push(b);if(o>0&&c===o)return s}}return s},e._accept=function(e,t){return void 0===t||(t&e.severity)===e.severity},e._debouncer=function(t,n){t||(e._dedupeMap=Object.create(null),t=[]);for(var r=0,i=n;r<i.length;r++){var o=i[r];void 0===e._dedupeMap[o.toString()]&&(e._dedupeMap[o.toString()]=!0,t.push(o))}return t},e}(),zO=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),WO=\"$initialize\",VO=!1;function HO(e){we.f&&(VO||(VO=!0,console.warn(\"Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq\")),console.warn(e.message))}var UO=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var n=String(++this._lastSentReq),r={c:null,e:null},i=new cn.b(function(e,t,n){r.c=e,r.e=t},function(){});return this._pendingReplies[n]=r,this._send({vsWorker:this._workerId,req:n,method:e,args:t}),i},e.prototype.handleMessage=function(e){var t;try{t=JSON.parse(e)}catch(e){}t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var n=e;if(!this._pendingReplies[n.seq])return void console.warn(\"Got reply to unknown seq\");var r=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){var i=n.err;return n.err.$isError&&((i=new Error).name=n.err.name,i.message=n.err.message,i.stack=n.err.stack),void r.e(i)}r.c(n.res)}else{var o=e,s=o.req;this._handler.handleMessage(o.method,o.args).then(function(e){t._send({vsWorker:t._workerId,seq:s,res:e,err:void 0})},function(e){e.detail instanceof Error&&(e.detail=gn(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:gn(e)})})}},e.prototype._send=function(e){var t=JSON.stringify(e);this._handler.sendMessage(t)},e}(),YO=function(e){function t(t,n){var r=e.call(this)||this,i=null,o=null;r._worker=r._register(t.create(\"vs/base/common/worker/simpleWorker\",function(e){r._protocol.handleMessage(e)},function(e){o(e)})),r._protocol=new UO({sendMessage:function(e){r._worker.postMessage(e)},handleMessage:function(e,t){return cn.b.as(null)}}),r._protocol.setWorkerId(r._worker.getId());var s=null;void 0!==self.require&&\"function\"==typeof self.require.getConfig?s=self.require.getConfig():void 0!==self.requirejs&&(s=self.requirejs.s.contexts._.config),r._lazyProxy=new cn.b(function(e,t,n){i=e,o=t},function(){}),r._onModuleLoaded=r._protocol.sendMessage(WO,[r._worker.getId(),n,s]),r._onModuleLoaded.then(function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=u(e[n],a);i(t)},function(e){o(e),r._onError(\"Worker failed to load \"+n,e)});var a=function(e,t){return r._request(e,t)},u=function(e,t){return function(){var n=Array.prototype.slice.call(arguments,0);return t(e,n)}};return r}return zO(t,e),t.prototype.getProxyObject=function(){return new jl(this._lazyProxy)},t.prototype._request=function(e,t){var n=this;return new cn.b(function(r,i,o){n._onModuleLoaded.then(function(){n._protocol.sendMessage(e,t).then(r,i)},i)},function(){})},t.prototype._onError=function(e,t){console.error(e),console.info(t)},t}(un);!function(){function e(e,t){var n=this;this._requestHandler=t,this._protocol=new UO({sendMessage:function(t){e(t)},handleMessage:function(e,t){return n._handleMessage(e,t)}})}e.prototype.onmessage=function(e){this._protocol.handleMessage(e)},e.prototype._handleMessage=function(e,t){if(e===WO)return this.initialize(t[0],t[1],t[2]);if(!this._requestHandler||\"function\"!=typeof this._requestHandler[e])return cn.b.wrapError(new Error(\"Missing requestHandler or method: \"+e));try{return cn.b.as(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return cn.b.wrapError(e)}},e.prototype.initialize=function(e,t,n){var r,i,o=this;if(this._protocol.setWorkerId(e),this._requestHandler){var s=[];for(var a in this._requestHandler)\"function\"==typeof this._requestHandler[a]&&s.push(a);return cn.b.as(s)}n&&(void 0!==n.baseUrl&&delete n.baseUrl,void 0!==n.paths&&void 0!==n.paths.vs&&delete n.paths.vs,n.catchError=!0,self.require.config(n));var u=new cn.b(function(e,t,n){r=e,i=t});return self.require([t],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];o._requestHandler=n.create();var i=[];for(var s in o._requestHandler)\"function\"==typeof o._requestHandler[s]&&i.push(s);r(i)},i),u}}();var ZO=function(){function e(e,t,n,r,i){this.id=t,this.worker=function(e,t){if(we.b.MonacoEnvironment){if(\"function\"==typeof we.b.MonacoEnvironment.getWorker)return we.b.MonacoEnvironment.getWorker(e,t);if(\"function\"==typeof we.b.MonacoEnvironment.getWorkerUrl)return new Worker(we.b.MonacoEnvironment.getWorkerUrl(e,t))}throw new Error(\"You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker\")}(\"workerMain.js\",n),this.postMessage(e),this.worker.onmessage=function(e){r(e.data)},\"function\"==typeof this.worker.addEventListener&&this.worker.addEventListener(\"error\",i)}return e.prototype.getId=function(){return this.id},e.prototype.postMessage=function(e){this.worker&&this.worker.postMessage(e)},e.prototype.dispose=function(){this.worker.terminate(),this.worker=null},e}(),GO=function(){function e(e){this._label=e,this._webWorkerFailedBeforeError=!1}return e.prototype.create=function(t,n,r){var i=this,o=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new ZO(t,o,this._label||\"anonymous\"+o,n,function(e){HO(e),i._webWorkerFailedBeforeError=e,r(e)})},e.LAST_WORKER_ID=0,e}(),KO=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qO=5e3,QO=3;function XO(e,t,n,r){return new iN(e,t,n).ComputeDiff(r)}var JO=function(){function e(e,t,n){this.buffer=e,this.startMarkers=t,this.endMarkers=n}return e.prototype.getLength=function(){return this.startMarkers.length},e.prototype.getElementHash=function(e){return this.buffer.substring(this.startMarkers[e].offset,this.endMarkers[e].offset)},e.prototype.getStartLineNumber=function(e){return e===this.startMarkers.length?this.startMarkers[e-1].lineNumber+1:this.startMarkers[e].lineNumber},e.prototype.getStartColumn=function(e){return this.startMarkers[e].column},e.prototype.getEndLineNumber=function(e){return this.endMarkers[e].lineNumber},e.prototype.getEndColumn=function(e){return this.endMarkers[e].column},e}(),$O=function(e){function t(n){for(var r=\"\",i=[],o=[],s=0,a=0,u=n.length;a<u;a++){r+=n[a];var l=t._getFirstNonBlankColumn(n[a],1),c=t._getLastNonBlankColumn(n[a],1);i.push({offset:s+l-1,lineNumber:a+1,column:l}),o.push({offset:s+c-1,lineNumber:a+1,column:c}),s+=n[a].length}return e.call(this,r,i,o)||this}return KO(t,e),t._getFirstNonBlankColumn=function(e,t){var n=bt(e);return-1===n?t:n+1},t._getLastNonBlankColumn=function(e,t){var n=Ct(e);return-1===n?t:n+2},t.prototype.getCharSequence=function(e,t){for(var n=[],r=[],i=e;i<=t;i++)for(var o=this.startMarkers[i],s=this.endMarkers[i],a=o.offset;a<s.offset;a++)n.push({offset:a,lineNumber:o.lineNumber,column:o.column+(a-o.offset)}),r.push({offset:a+1,lineNumber:o.lineNumber,column:o.column+(a-o.offset)+1});return new JO(this.buffer,n,r)},t}(JO),eP=function(){function e(e,t,n,r,i,o,s,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=o,this.modifiedEndLineNumber=s,this.modifiedEndColumn=a}return e.createFromDiffChange=function(t,n,r){var i,o,s,a,u,l,c,h;return 0===t.originalLength?(i=0,o=0,s=0,a=0):(i=n.getStartLineNumber(t.originalStart),o=n.getStartColumn(t.originalStart),s=n.getEndLineNumber(t.originalStart+t.originalLength-1),a=n.getEndColumn(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(u=0,l=0,c=0,h=0):(u=r.getStartLineNumber(t.modifiedStart),l=r.getStartColumn(t.modifiedStart),c=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),h=r.getEndColumn(t.modifiedStart+t.modifiedLength-1)),new e(i,o,s,a,u,l,c,h)},e}();var tP=function(){function e(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}return e.createFromDiffResult=function(t,n,r,i,o){var s,a,u,l,c;if(0===t.originalLength?(s=n.getStartLineNumber(t.originalStart)-1,a=0):(s=n.getStartLineNumber(t.originalStart),a=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(u=r.getStartLineNumber(t.modifiedStart)-1,l=0):(u=r.getStartLineNumber(t.modifiedStart),l=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),0!==t.originalLength&&0!==t.modifiedLength&&i()){var h=n.getCharSequence(t.originalStart,t.originalStart+t.originalLength-1),d=r.getCharSequence(t.modifiedStart,t.modifiedStart+t.modifiedLength-1),p=XO(h,d,i,!0);o&&(p=function(e){if(e.length<=1)return e;for(var t=[e[0]],n=t[0],r=1,i=e.length;r<i;r++){var o=e[r],s=o.originalStart-(n.originalStart+n.originalLength),a=o.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(s,a)<QO?(n.originalLength=o.originalStart+o.originalLength-n.originalStart,n.modifiedLength=o.modifiedStart+o.modifiedLength-n.modifiedStart):(t.push(o),n=o)}return t}(p)),c=[];for(var f=0,g=p.length;f<g;f++)c.push(eP.createFromDiffChange(p[f],h,d))}return new e(s,a,u,l,c)},e}(),nP=function(){function e(e,t,n){this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.maximumRunTimeMs=qO,this.originalLines=e,this.modifiedLines=t,this.original=new $O(e),this.modified=new $O(t)}return e.prototype.computeDiff=function(){if(1===this.original.getLength()&&0===this.original.getElementHash(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.getLength(),charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];if(1===this.modified.getLength()&&0===this.modified.getElementHash(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:this.original.getLength(),modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];this.computationStartTime=(new Date).getTime();var e=XO(this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldMakePrettyDiff);if(this.shouldIgnoreTrimWhitespace){for(var t=[],n=0,r=e.length;n<r;n++)t.push(tP.createFromDiffResult(e[n],this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldPostProcessCharChanges));return t}for(var i=[],o=0,s=0,a=(n=-1,e.length);n<a;n++){for(var u=n+1<a?e[n+1]:null,l=u?u.originalStart:this.originalLines.length,c=u?u.modifiedStart:this.modifiedLines.length;o<l&&s<c;){var h=this.originalLines[o],d=this.modifiedLines[s];if(h!==d){for(var p=$O._getFirstNonBlankColumn(h,1),f=$O._getFirstNonBlankColumn(d,1);p>1&&f>1;){if(h.charCodeAt(p-2)!==d.charCodeAt(f-2))break;p--,f--}(p>1||f>1)&&this._pushTrimWhitespaceCharChange(i,o+1,1,p,s+1,1,f);for(var g=$O._getLastNonBlankColumn(h,1),m=$O._getLastNonBlankColumn(d,1),v=h.length+1,y=d.length+1;g<v&&m<y;){if(h.charCodeAt(g-1)!==h.charCodeAt(m-1))break;g++,m++}(g<v||m<y)&&this._pushTrimWhitespaceCharChange(i,o+1,g,v,s+1,m,y)}o++,s++}u&&(i.push(tP.createFromDiffResult(u,this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldPostProcessCharChanges)),o+=u.originalLength,s+=u.modifiedLength)}return i},e.prototype._pushTrimWhitespaceCharChange=function(e,t,n,r,i,o,s){this._mergeTrimWhitespaceCharChange(e,t,n,r,i,o,s)||e.push(new tP(t,t,i,i,[new eP(t,n,t,r,i,o,i,s)]))},e.prototype._mergeTrimWhitespaceCharChange=function(e,t,n,r,i,o,s){var a=e.length;if(0===a)return!1;var u=e[a-1];return 0!==u.originalEndLineNumber&&0!==u.modifiedEndLineNumber&&(u.originalEndLineNumber+1===t&&u.modifiedEndLineNumber+1===i&&(u.originalEndLineNumber=t,u.modifiedEndLineNumber=i,u.charChanges.push(new eP(t,n,t,r,i,o,i,s)),!0))},e.prototype._continueProcessingPredicate=function(){return 0===this.maximumRunTimeMs||(new Date).getTime()-this.computationStartTime<this.maximumRunTimeMs},e}(),rP=function(){function e(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r}return e.prototype.dispose=function(){this._lines.length=0},Object.defineProperty(e.prototype,\"version\",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),e.prototype.getText=function(){return this._lines.join(this._eol)},e.prototype.onEvents=function(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);for(var t=e.changes,n=0,r=t.length;n<r;n++){var i=t[n];this._acceptDeleteRange(i.range),this._acceptInsertText(new ye(i.range.startLineNumber,i.range.startColumn),i.text)}this._versionId=e.versionId},e.prototype._ensureLineStarts=function(){if(!this._lineStarts){for(var e=this._eol.length,t=this._lines.length,n=new Uint32Array(t),r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new cd(n)}},e.prototype._setLineText=function(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.changeValue(e,this._lines[e].length+this._eol.length)},e.prototype._acceptDeleteRange=function(e){if(e.startLineNumber!==e.endLineNumber)this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber);else{if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1))}},e.prototype._acceptInsertText=function(e,t){if(0!==t.length){var n=t.split(/\\r\\n|\\r|\\n/);if(1!==n.length){n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);for(var r=new Uint32Array(n.length-1),i=1;i<n.length;i++)this._lines.splice(e.lineNumber+i-1,0,n[i]),r[i-1]=n[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}else this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1))}},e}(),iP=function(){function e(e){for(var t=0,n=0,r=0,i=e.length;r<i;r++){var o=e[r],s=o[0],a=o[1],u=o[2];a>t&&(t=a),s>n&&(n=s),u>n&&(n=u)}var l=new Ts(++n,++t,0);for(r=0,i=e.length;r<i;r++){var c=e[r];s=c[0],a=c[1],u=c[2];l.set(s,a,u)}this._states=l,this._maxCharCode=t}return e.prototype.nextState=function(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)},e}(),oP=null;var sP=null;var aP=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>r);if(r>0){var a=t.charCodeAt(r-1),u=t.charCodeAt(o);(40===a&&41===u||91===a&&93===u||123===a&&125===u)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t){for(var n=(null===oP&&(oP=new iP([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),oP),r=function(){if(null===sP){sP=new Ps(0);for(var e=0;e<\" \\t<>'\\\"、。｡､，．：；？！＠＃＄％＆＊‘“〈《「『【〔（［｛｢｣｝］）〕】』」》〉”’｀～…\".length;e++)sP.set(\" \\t<>'\\\"、。｡､，．：；？！＠＃＄％＆＊‘“〈《「『【〔（［｛｢｣｝］）〕】』」》〉”’｀～…\".charCodeAt(e),1);for(e=0;e<\".,;\".length;e++)sP.set(\".,;\".charCodeAt(e),2)}return sP}(),i=[],o=1,s=t.getLineCount();o<=s;o++){for(var a=t.getLineContent(o),u=a.length,l=0,c=0,h=0,d=1,p=!1,f=!1,g=!1;l<u;){var m=!1,v=a.charCodeAt(l);if(13===d){var y=void 0;switch(v){case 40:p=!0,y=0;break;case 41:y=p?0:1;break;case 91:f=!0,y=0;break;case 93:y=f?0:1;break;case 123:g=!0,y=0;break;case 125:y=g?0:1;break;case 39:y=34===h||96===h?0:1;break;case 34:y=39===h||96===h?0:1;break;case 96:y=39===h||34===h?0:1;break;default:y=r.get(v)}1===y&&(i.push(e._createLink(r,a,o,c,l)),m=!0)}else if(12===d){1===(y=r.get(v))?m=!0:d=13}else 0===(d=n.nextState(d,v))&&(m=!0);m&&(d=1,p=!1,f=!1,g=!1,c=l+1,h=v),l++}13===d&&i.push(e._createLink(r,a,o,c,u))}return i},e}();var uP=function(){function e(){this._defaultValueSet=[[\"true\",\"false\"],[\"True\",\"False\"],[\"Private\",\"Public\",\"Friend\",\"ReadOnly\",\"Partial\",\"Protected\",\"WriteOnly\"],[\"public\",\"protected\",\"private\"]]}return e.prototype.navigateValueSet=function(e,t,n,r,i){var o;if(e&&t&&(o=this.doNavigateValueSet(t,i)))return{range:e,value:o};if(n&&r&&(o=this.doNavigateValueSet(r,i)))return{range:n,value:o};return null},e.prototype.doNavigateValueSet=function(e,t){var n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){var n=Math.pow(10,e.length-(e.lastIndexOf(\".\")+1)),r=Number(e),i=parseFloat(e);return isNaN(r)||isNaN(i)||r!==i?null:0!==r||t?(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,n){for(var r=null,i=0,o=e.length;null===r&&i<o;i++)r=this.valueSetReplace(e[i],t,n);return r},e.prototype.valueSetReplace=function(e,t,n){var r=e.indexOf(t);return r>=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}(),lP=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),cP=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return lP(t,e),Object.defineProperty(t.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"version\",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"eol\",{get:function(){return this._eol},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){return this.getText()},t.prototype.getLinesContent=function(){return this._lines.slice(0)},t.prototype.getLineCount=function(){return this._lines.length},t.prototype.getLineContent=function(e){return this._lines[e-1]},t.prototype.getWordAtPosition=function(e,t){var n=Uo(e.column,Ho(t),this._lines[e.lineNumber-1],0);return n?new be(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:\"\",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n=this,r={done:!1,value:\"\"},i=0,o=0,s=[],a=function(){if(o<s.length)r.done=!1,r.value=t.substring(s[o].start,s[o].end),o+=1;else{if(!(i>=n._lines.length))return t=n._lines[i],s=n._wordenize(t,e),o=0,i+=1,a();r.done=!0,r.value=void 0}return r};return{next:a}},t.prototype._wordenize=function(e,t){var n,r=[];for(t.lastIndex=0;(n=t.exec(e))&&0!==n[0].length;)r.push({start:n.index,end:n.index+n[0].length});return r},t.prototype.getValueInRange=function(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);var t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(var o=n+1;o<r;o++)i.push(this._lines[o]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)},t.prototype.offsetAt=function(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getAccumulatedValue(e.lineNumber-2)+(e.column-1)},t.prototype.positionAt=function(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();var t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}},t.prototype._validateRange=function(e){var t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e},t.prototype._validatePosition=function(e){if(!ye.isIPosition(e))throw new Error(\"bad position\");var t=e.lineNumber,n=e.column,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)}return r?{lineNumber:t,column:n}:e},t}(rP),hP=function(e){function t(t){var n=e.call(this,t)||this;return n._models=Object.create(null),n}return lP(t,e),t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new cP(Be.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t}(function(){function e(e){this._foreignModuleFactory=e,this._foreignModule=null}return e.prototype.computeDiff=function(e,t,n){var r=this._getModel(e),i=this._getModel(t);if(!r||!i)return null;var o=r.getLinesContent(),s=i.getLinesContent(),a=new nP(o,s,{shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0});return cn.b.as(a.computeDiff())},e.prototype.computeDirtyDiff=function(e,t,n){var r=this._getModel(e),i=this._getModel(t);if(!r||!i)return null;var o=r.getLinesContent(),s=i.getLinesContent(),a=new nP(o,s,{shouldPostProcessCharChanges:!1,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0});return cn.b.as(a.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,n){var r=this._getModel(t);if(!r)return cn.b.as(n);for(var i,o=[],s=0,a=n;s<a.length;s++){var u=a[s],l=u.range,c=u.text,h=u.eol;if(\"number\"==typeof h&&(i=h),l){var d=r.getValueInRange(l);if(d!==(c=c.replace(/\\r\\n|\\n|\\r/g,r.eol)))if(Math.max(c.length,d.length)>e._diffLimit)o.push({range:l,text:c});else for(var p=XM(d,c,!1),f=r.offsetAt(be.lift(l).getStartPosition()),g=0,m=p;g<m.length;g++){var v=m[g],y=r.positionAt(f+v.originalStart),b=r.positionAt(f+v.originalStart+v.originalLength),_={text:c.substr(v.modifiedStart,v.modifiedLength),range:{startLineNumber:y.lineNumber,startColumn:y.column,endLineNumber:b.lineNumber,endColumn:b.column}};r.getValueInRange(_.range)!==_.text&&o.push(_)}}}return\"number\"==typeof i&&o.push({eol:i,text:void 0,range:void 0}),cn.b.as(o)},e.prototype.computeLinks=function(e){var t=this._getModel(e);return t?cn.b.as(function(e){return e&&\"function\"==typeof e.getLineCount&&\"function\"==typeof e.getLineContent?aP.computeLinks(e):[]}(t)):null},e.prototype.textualSuggest=function(t,n,r,i){var o=this._getModel(t);if(o){var s=[],a=new RegExp(r,i),u=o.getWordUntilPosition(n,a).word,l=Object.create(null);l[u]=!0;for(var c=o.createWordIterator(a),h=c.next();!h.done&&s.length<=e._suggestionsLimit;h=c.next()){var d=h.value;l[d]||(l[d]=!0,isNaN(Number(d))&&s.push({type:\"text\",label:d,insertText:d,noAutoAccept:!0,overwriteBefore:u.length}))}return cn.b.as({suggestions:s})}},e.prototype.navigateValueSet=function(e,t,n,r,i){var o=this._getModel(e);if(!o)return null;var s=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});var a=o.getValueInRange(t),u=o.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},s),l=null;null!==u&&(l=o.getValueInRange(u));var c=uP.INSTANCE.navigateValueSet(t,a,u,l,n);return cn.b.as(c)},e.prototype.loadForeignModule=function(e,t){var r=this,i={getMirrorModels:function(){return r._getModels()}};if(this._foreignModuleFactory){this._foreignModule=this._foreignModuleFactory(i,t);var o=[];for(var s in this._foreignModule)\"function\"==typeof this._foreignModule[s]&&o.push(s);return cn.b.as(o)}return new cn.b(function(o,s){n.e(4).then(function(){var s=[n(539)(e)];(function(e){r._foreignModule=e.create(i,t);var n=[];for(var s in r._foreignModule)\"function\"==typeof r._foreignModule[s]&&n.push(s);o(n)}).apply(null,s)}).catch(s.bind(this))})},e.prototype.fmr=function(e,t){if(!this._foreignModule||\"function\"!=typeof this._foreignModule[e])return cn.b.wrapError(new Error(\"Missing requestHandler or method: \"+e));try{return cn.b.as(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return cn.b.wrapError(e)}},e._diffLimit=1e4,e._suggestionsLimit=1e4,e}());\"function\"==typeof importScripts&&(we.b.monaco=MF());var dP=Or(\"textResourceConfigurationService\"),pP=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),fP=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},gP=function(e,t){return function(n,r){t(n,r,e)}},mP=6e4,vP=3e5;function yP(e,t){var n=e.getModel(t);return!!n&&!n.isTooLargeForTokenization()}var bP=function(e){function t(t,n){var r=e.call(this)||this;return r._modelService=t,r._workerManager=r._register(new CP(r._modelService)),r._register(Ei.register(\"*\",{provideLinks:function(e,t){return yP(r._modelService,e.uri)?function(e,t,n){var r=e.onCancellationRequested(function(){return t.cancel()});return n&&(t=t.then(void 0,function(e){if(!vn(e))return cn.b.wrapError(e)})),zl(t,function(){return r.dispose()})}(t,r._workerManager.withWorker().then(function(t){return t.computeLinks(e.uri)})):cn.b.as([])}})),r._register(hi.register(\"*\",new _P(r._workerManager,n,r._modelService))),r}return pP(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return yP(this._modelService,e)&&yP(this._modelService,t)},t.prototype.computeDiff=function(e,t,n){return this._workerManager.withWorker().then(function(r){return r.computeDiff(e,t,n)})},t.prototype.canComputeDirtyDiff=function(e,t){return yP(this._modelService,e)&&yP(this._modelService,t)},t.prototype.computeDirtyDiff=function(e,t,n){return this._workerManager.withWorker().then(function(r){return r.computeDirtyDiff(e,t,n)})},t.prototype.computeMoreMinimalEdits=function(e,t){return Array.isArray(t)&&0!==t.length&&yP(this._modelService,e)?this._workerManager.withWorker().then(function(n){return n.computeMoreMinimalEdits(e,t)}):cn.b.as(t)},t.prototype.canNavigateValueSet=function(e){return yP(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,n){return this._workerManager.withWorker().then(function(r){return r.navigateValueSet(e,t,n)})},t=fP([gP(0,Br),gP(1,dP)],t)}(un),_P=function(){function e(e,t,n){this._workerManager=e,this._configurationService=t,this._modelService=n}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,\"editor\").wordBasedSuggestions&&yP(this._modelService,e.uri))return this._workerManager.withWorker().then(function(n){return n.textualSuggest(e.uri,t)})},e}(),CP=function(e){function t(t){var n=e.call(this)||this;return n._modelService=t,n._editorWorkerClient=null,n._register(new Ul).cancelAndSet(function(){return n._checkStopIdleWorker()},Math.round(vP/2)),n._register(n._modelService.onModelRemoved(function(e){return n._checkStopEmptyWorker()})),n}return pP(t,e),t.prototype.dispose=function(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),e.prototype.dispose.call(this)},t.prototype._checkStopEmptyWorker=function(){this._editorWorkerClient&&(0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype._checkStopIdleWorker=function(){this._editorWorkerClient&&((new Date).getTime()-this._lastWorkerUsedTime>vP&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new EP(this._modelService,\"editorWorkerService\")),cn.b.as(this._editorWorkerClient)},t}(un),wP=function(e){function t(t,n,r){var i=e.call(this)||this;if(i._syncedModels=Object.create(null),i._syncedModelsLastUsedTime=Object.create(null),i._proxy=t,i._modelService=n,!r){var o=new Ul;o.cancelAndSet(function(){return i._checkStopModelSync()},Math.round(mP/2)),i._register(o)}return i}return pP(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)on(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.esureSyncedResources=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n.toString();this._syncedModels[r]||this._beginModelSync(n),this._syncedModels[r]&&(this._syncedModelsLastUsedTime[r]=(new Date).getTime())}},t.prototype._checkStopModelSync=function(){var e=(new Date).getTime(),t=[];for(var n in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[n]>mP&&t.push(n)}for(var r=0;r<t.length;r++)this._stopModelSync(t[r])},t.prototype._beginModelSync=function(e){var t=this,n=this._modelService.getModel(e);if(n&&!n.isTooLargeForTokenization()){var r=e.toString();this._proxy.acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});var i=[];i.push(n.onDidChangeContent(function(e){t._proxy.acceptModelChanged(r.toString(),e)})),i.push(n.onWillDispose(function(){t._stopModelSync(r)})),i.push({dispose:function(){t._proxy.acceptRemovedModel(r)}}),this._syncedModels[r]=i}},t.prototype._stopModelSync=function(e){var t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],on(t)},t}(un),DP=function(){function e(e){this._instance=e,this._proxyObj=cn.b.as(this._instance)}return e.prototype.dispose=function(){this._instance.dispose(),this._instance=null,this._proxyObj=null},e.prototype.getProxyObject=function(){return new jl(this._proxyObj)},e}(),EP=function(e){function t(t,n){var r=e.call(this)||this;return r._modelService=t,r._workerFactory=new GO(n),r._worker=null,r._modelManager=null,r}return pP(t,e),t.prototype._getOrCreateWorker=function(){if(!this._worker)try{this._worker=this._register(new YO(this._workerFactory,\"vs/editor/common/services/editorSimpleWorker\"))}catch(e){HO(e),this._worker=new DP(new hP(null))}return this._worker},t.prototype._getProxy=function(){var e=this;return new jl(this._getOrCreateWorker().getProxyObject().then(null,function(t){return HO(t),e._worker=new DP(new hP(null)),e._getOrCreateWorker().getProxyObject()}))},t.prototype._getOrCreateModelManager=function(e){return this._modelManager||(this._modelManager=this._register(new wP(e,this._modelService,!1))),this._modelManager},t.prototype._withSyncedResources=function(e){var t=this;return this._getProxy().then(function(n){return t._getOrCreateModelManager(n).esureSyncedResources(e),n})},t.prototype.computeDiff=function(e,t,n){return this._withSyncedResources([e,t]).then(function(r){return r.computeDiff(e.toString(),t.toString(),n)})},t.prototype.computeDirtyDiff=function(e,t,n){return this._withSyncedResources([e,t]).then(function(r){return r.computeDirtyDiff(e.toString(),t.toString(),n)})},t.prototype.computeMoreMinimalEdits=function(e,t){return this._withSyncedResources([e]).then(function(n){return n.computeMoreMinimalEdits(e.toString(),t)})},t.prototype.computeLinks=function(e){return this._withSyncedResources([e]).then(function(t){return t.computeLinks(e.toString())})},t.prototype.textualSuggest=function(e,t){var n=this;return this._withSyncedResources([e]).then(function(r){var i=n._modelService.getModel(e);if(!i)return null;var o=Zo.getWordDefinition(i.getLanguageIdentifier().id),s=o.source,a=(o.global?\"g\":\"\")+(o.ignoreCase?\"i\":\"\")+(o.multiline?\"m\":\"\");return r.textualSuggest(e.toString(),t,s,a)})},t.prototype.navigateValueSet=function(e,t,n){var r=this;return this._withSyncedResources([e]).then(function(i){var o=r._modelService.getModel(e);if(!o)return null;var s=Zo.getWordDefinition(o.getLanguageIdentifier().id),a=s.source,u=(s.global?\"g\":\"\")+(s.ignoreCase?\"i\":\"\")+(s.multiline?\"m\":\"\");return i.navigateValueSet(e.toString(),t,n,a,u)})},t}(un),AP=function(){function e(e){this._languageIdentifier=e}return e.prototype.getId=function(){return this._languageIdentifier.language},e.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},e}(),SP=\"text/plain\",xP=\"application/unknown\",MP=[],NP=[],IP=[];function LP(e,t){void 0===t&&(t=!1);var n=function(e){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:e.userConfigured,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?e.filepattern.toLowerCase():void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(Xn)>=0}}(e);MP.push(n),n.userConfigured?IP.push(n):NP.push(n),t&&!n.userConfigured&&MP.forEach(function(e){e.mime===n.mime||e.userConfigured||(n.extension&&e.extension===n.extension&&console.warn(\"Overwriting extension <<\"+n.extension+\">> to now point to mime <<\"+n.mime+\">>\"),n.filename&&e.filename===n.filename&&console.warn(\"Overwriting filename <<\"+n.filename+\">> to now point to mime <<\"+n.mime+\">>\"),n.filepattern&&e.filepattern===n.filepattern&&console.warn(\"Overwriting filepattern <<\"+n.filepattern+\">> to now point to mime <<\"+n.mime+\">>\"),n.firstline&&e.firstline===n.firstline&&console.warn(\"Overwriting firstline <<\"+n.firstline+\">> to now point to mime <<\"+n.mime+\">>\"))})}function kP(e,t){if(!e)return[xP];var n=er(e=e.toLowerCase()),r=TP(e,n,IP);if(r)return[r,SP];var i=TP(e,n,NP);if(i)return[i,SP];if(t){var o=function(e){Qt(e)&&(e=e.substr(1));if(e.length>0)for(var t=0;t<MP.length;++t){var n=MP[t];if(n.firstline){var r=e.match(n.firstline);if(r&&r.length>0)return n.mime}}return null}(t);if(o)return[o,SP]}return[xP]}function TP(e,t,n){for(var r,i,o,s=n.length-1;s>=0;s--){var a=n[s];if(t===a.filenameLowercase){r=a;break}if(a.filepattern&&(!i||a.filepattern.length>i.filepattern.length)){var u=a.filepatternOnPath?e:t;Nr(a.filepatternLowercase,u)&&(i=a)}a.extension&&(!o||a.extension.length>o.extension.length)&&ut(t,a.extensionLowercase)&&(o=a)}return r?r.mime:i?i.mime:o?o.mime:null}var FP=new(function(){function e(){this._onDidAddLanguages=new wn,this.onDidAddLanguages=this._onDidAddLanguages.event,this._languages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidAddLanguages.fire([e])},e.prototype.registerLanguages=function(e){this._languages=this._languages.concat(e),this._onDidAddLanguages.fire(e)},e.prototype.getLanguages=function(){return this._languages.slice(0)},e}());su.add(\"editor.modesRegistry\",FP);var OP=new ni(\"plaintext\",1);FP.registerLanguage({id:\"plaintext\",extensions:[\".txt\",\".gitignore\"],aliases:[ns(\"plainText.alias\",\"Plain Text\"),\"text\"],mimetypes:[\"text/plain\"]}),Zo.register(OP,{brackets:[[\"(\",\")\"],[\"[\",\"]\"],[\"{\",\"}\"]]});var PP=Object.prototype.hasOwnProperty,BP=function(){function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=!1);var n=this;this._nextLanguageId=1,this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},this._languageIds=[],this._warnOnOverwrite=t,e&&(this._registerLanguages(FP.getLanguages()),FP.onDidAddLanguages(function(e){return n._registerLanguages(e)}))}return e.prototype._registerLanguages=function(e){var t=this;if(0!==e.length){for(var n=0;n<e.length;n++)this._registerLanguage(e[n]);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(function(e){var n=t._languages[e];n.name&&(t._nameMap[n.name]=n.identifier),n.aliases.forEach(function(e){t._lowercaseNameMap[e.toLowerCase()]=n.identifier}),n.mimetypes.forEach(function(e){t._mimeTypesMap[e]=n.identifier})}),su.as(tp.Configuration).registerOverrideIdentifiers(FP.getLanguages().map(function(e){return e.id}))}},e.prototype._registerLanguage=function(e){var t=e.id,n=null;if(PP.call(this._languages,t))n=this._languages[t];else{var r=this._nextLanguageId++;n={identifier:new ni(t,r),name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[]},this._languageIds[r]=t,this._languages[t]=n}this._mergeLanguage(n,e)},e.prototype._mergeLanguage=function(e,t){var n=t.id,r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&((m=e.mimetypes).push.apply(m,t.mimetypes),r=t.mimetypes[0]),r||(r=\"text/x-\"+n,e.mimetypes.push(r)),Array.isArray(t.extensions))for(var i=0,o=t.extensions;i<o.length;i++){var s=o[i];LP({id:n,mime:r,extension:s},this._warnOnOverwrite),e.extensions.push(s)}if(Array.isArray(t.filenames))for(var a=0,u=t.filenames;a<u.length;a++){var l=u[a];LP({id:n,mime:r,filename:l},this._warnOnOverwrite),e.filenames.push(l)}if(Array.isArray(t.filenamePatterns))for(var c=0,h=t.filenamePatterns;c<h.length;c++){LP({id:n,mime:r,filepattern:h[c]},this._warnOnOverwrite)}if(\"string\"==typeof t.firstLine&&t.firstLine.length>0){var d=t.firstLine;\"^\"!==d.charAt(0)&&(d=\"^\"+d);try{var p=new RegExp(d);ct(p)||LP({id:n,mime:r,firstline:p},this._warnOnOverwrite)}catch(e){pn(e)}}e.aliases.push(n);var f=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(f=0===t.aliases.length?[null]:t.aliases),null!==f)for(var g=0;g<f.length;g++)f[g]&&0!==f[g].length&&e.aliases.push(f[g]);var m,v=null!==f&&f.length>0;if(v&&null===f[0]);else{var y=(v?f[0]:null)||n;!v&&e.name||(e.name=y)}\"string\"==typeof t.configuration&&e.configurationFiles.push(t.configuration)},e.prototype.isRegisteredMode=function(e){return!!PP.call(this._mimeTypesMap,e)||PP.call(this._languages,e)},e.prototype.getRegisteredModes=function(){return Object.keys(this._languages)},e.prototype.getRegisteredLanguageNames=function(){return Object.keys(this._nameMap)},e.prototype.getLanguageName=function(e){return PP.call(this._languages,e)?this._languages[e].name:null},e.prototype.getModeIdForLanguageNameLowercase=function(e){return PP.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},e.prototype.getConfigurationFiles=function(e){return PP.call(this._languages,e)&&this._languages[e].configurationFiles||[]},e.prototype.getMimeForMode=function(e){return PP.call(this._languages,e)&&this._languages[e].mimetypes[0]||null},e.prototype.extractModeIds=function(e){var t=this;return e?e.split(\",\").map(function(e){return e.trim()}).map(function(e){return PP.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e}).filter(function(e){return PP.call(t._languages,e)}):[]},e.prototype.getLanguageIdentifier=function(e){if(\"vs.editor.nullMode\"===e||0===e)return bo;var t;if(\"string\"==typeof e)t=e;else if(!(t=this._languageIds[e]))return null;return PP.call(this._languages,t)?this._languages[t].identifier:null},e.prototype.getModeIdsFromLanguageName=function(e){return e&&PP.call(this._nameMap,e)?[this._nameMap[e].language]:[]},e.prototype.getModeIdsFromFilenameOrFirstLine=function(e,t){if(!e&&!t)return[];var n=kP(e,t);return this.extractModeIds(n.join(\",\"))},e.prototype.getExtensions=function(e){if(!PP.call(this._nameMap,e))return[];var t=this._nameMap[e];return this._languages[t.language].extensions},e.prototype.getFilenames=function(e){if(!PP.call(this._nameMap,e))return[];var t=this._nameMap[e];return this._languages[t.language].filenames},e}(),RP=function(){function e(e){void 0===e&&(e=!1),this._onDidCreateMode=new wn,this.onDidCreateMode=this._onDidCreateMode.event,this._instantiatedModes={},this._registry=new BP(!0,e)}return e.prototype._onReady=function(){return cn.b.as(!0)},e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getRegisteredModes=function(){return this._registry.getRegisteredModes()},e.prototype.getRegisteredLanguageNames=function(){return this._registry.getRegisteredLanguageNames()},e.prototype.getExtensions=function(e){return this._registry.getExtensions(e)},e.prototype.getFilenames=function(e){return this._registry.getFilenames(e)},e.prototype.getMimeForMode=function(e){return this._registry.getMimeForMode(e)},e.prototype.getLanguageName=function(e){return this._registry.getLanguageName(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilenameOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilenameOrFirstLine(e,t);return n.length>0?n[0]:null},e.prototype.getModeId=function(e){var t=this._registry.extractModeIds(e);return t.length>0?t[0]:null},e.prototype.getLanguageIdentifier=function(e){return this._registry.getLanguageIdentifier(e)},e.prototype.getConfigurationFiles=function(e){return this._registry.getConfigurationFiles(e)},e.prototype.getMode=function(e){for(var t=this._registry.extractModeIds(e),n=!1,r=0;r<t.length;r++){if(this._instantiatedModes.hasOwnProperty(t[r]))return this._instantiatedModes[t[r]];n=n||\"plaintext\"===t[r]}if(n){var i=null;return this.getOrCreateMode(e).then(function(e){i=e}).done(null,pn),i}return null},e.prototype.getOrCreateMode=function(e){var t=this;return this._onReady().then(function(){var n=t.getModeId(e);return t._getOrCreateMode(n||\"plaintext\")})},e.prototype.getOrCreateModeByLanguageName=function(e){var t=this;return this._onReady().then(function(){var n=t._getModeIdByLanguageName(e);return t._getOrCreateMode(n||\"plaintext\")})},e.prototype._getModeIdByLanguageName=function(e){var t=this._registry.getModeIdsFromLanguageName(e);return t.length>0?t[0]:null},e.prototype.getOrCreateModeByFilenameOrFirstLine=function(e,t){var n=this;return this._onReady().then(function(){var r=n.getModeIdByFilenameOrFirstLine(e,t);return n._getOrCreateMode(r||\"plaintext\")})},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e);this._instantiatedModes[e]=new AP(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),jP=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},zP=function(e,t){return function(n,r){t(n,r,e)}};function WP(e){return e.toString()}var VP=function(){function e(e,t,n){this.model=e,this._markerDecorations=[],this._modelEventListeners=[],this._modelEventListeners.push(e.onWillDispose(function(){return t(e)})),this._modelEventListeners.push(e.onDidChangeLanguage(function(t){return n(e,t)}))}return e.prototype.dispose=function(){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,[]),this._modelEventListeners=on(this._modelEventListeners),this.model=null},e.prototype.acceptMarkerDecorations=function(e){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,e)},e}(),HP=function(){function e(){}return e.setMarkers=function(e,t){var n=this,r=t.read({resource:e.model.uri,take:500}).map(function(t){return{range:n._createDecorationRange(e.model,t),options:n._createDecorationOption(t)}});e.acceptMarkerDecorations(r)},e._createDecorationRange=function(e,t){var n=be.lift(t);if(t.severity===gE.Hint&&be.spansMultipleLines(n)&&(n=n.setEndPosition(n.startLineNumber,n.startColumn)),(n=e.validateRange(n)).isEmpty()){var r=e.getWordAtPosition(n.getStartPosition());if(r)n=new be(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn);else{var i=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);1===i||(n=n.endColumn>=i?new be(n.startLineNumber,i-1,n.endLineNumber,i):new be(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){var o=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);o<n.endColumn&&(n=new be(n.startLineNumber,o,n.endLineNumber,n.endColumn),t.startColumn=o)}return n},e._createDecorationOption=function(e){var t,n,r,i;switch(e.severity){case gE.Hint:t=Ri,i=0;break;case gE.Warning:t=zi,n=Pg(mm),r=Pg(mm),i=20;break;case gE.Info:t=ji,n=Pg(vm),r=Pg(vm),i=10;break;case gE.Error:default:t=Wi,n=Pg(gm),r=Pg(gm),i=30}var o=null,s=e.message,a=e.source,u=e.relatedInformation;if(\"string\"==typeof s&&(s=s.trim(),a&&(s=/\\n/g.test(s)?ns(\"diagAndSourceMultiline\",\"[{0}]\\n{1}\",a,s):ns(\"diagAndSource\",\"[{0}] {1}\",a,s)),o=(new Mw).appendCodeblock(\"_\",s),!Zn(u))){o.appendMarkdown(\"\\n\");for(var l=0,c=u;l<c.length;l++){var h=c[l],d=h.message,p=h.resource,f=h.startLineNumber,g=h.startColumn;o.appendMarkdown(\"* [\"+er(p.path)+\"(\"+f+\", \"+g+\")](\"+p.toString(!1)+\"#\"+f+\",\"+g+\"): `\"+d+\"` \\n\")}o.appendMarkdown(\"\\n\")}return{stickiness:Pn.NeverGrowsWhenTypingAtEdges,className:t,hoverMessage:o,showIfCollapsed:!0,overviewRuler:{color:n,darkColor:r,position:Ln.Right},zIndex:i}},e}(),UP=we.c||we.d?Tn.LF:Tn.CRLF,YP=function(){function e(e,t){var n=this;this._markerService=e,this._configurationService=t,this._models={},this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._onModelAdded=new wn,this._onModelRemoved=new wn,this._onModelModeChanged=new wn,this._markerService&&(this._markerServiceSubscription=this._markerService.onMarkerChanged(this._handleMarkerChange,this)),this._configurationServiceSubscription=this._configurationService.onDidChangeConfiguration(function(e){return n._updateModelOptions()}),this._updateModelOptions()}return e._readModelOptions=function(e,t){var n=Ls.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var r=parseInt(e.editor.tabSize,10);isNaN(r)||(n=r)}var i=Ls.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(i=\"false\"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var o=UP,s=e.files&&e.files.eol;\"\\r\\n\"===s?o=Tn.CRLF:\"\\n\"===s&&(o=Tn.LF);var a=Ls.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a=\"false\"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var u=Ls.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(u=\"false\"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var l=Ls.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(l=\"false\"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:n,insertSpaces:i,detectIndentation:u,defaultEOL:o,trimAutoWhitespace:a,largeFileOptimizations:l}},e.prototype.getCreationOptions=function(t,n,r){var i=this._modelCreationOptionsByLanguageAndResource[t+n];return i||(i=e._readModelOptions(this._configurationService.getValue({overrideIdentifier:t,resource:n}),r),this._modelCreationOptionsByLanguageAndResource[t+n]=i),i},e.prototype._updateModelOptions=function(){var t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var n=Object.keys(this._models),r=0,i=n.length;r<i;r++){var o=n[r],s=this._models[o],a=s.model.getLanguageIdentifier().language,u=s.model.uri,l=t[a+u],c=this.getCreationOptions(a,u,s.model.isForSimpleWidget);e._setModelOptionsForModel(s.model,c,l)}},e._setModelOptionsForModel=function(e,t,n){n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.trimAutoWhitespace===t.trimAutoWhitespace||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,trimAutoWhitespace:t.trimAutoWhitespace}))},e.prototype.dispose=function(){this._markerServiceSubscription&&this._markerServiceSubscription.dispose(),this._configurationServiceSubscription.dispose()},e.prototype._handleMarkerChange=function(e){var t=this;e.forEach(function(e){var n=WP(e),r=t._models[n];r&&HP.setMarkers(r,t._markerService)})},e.prototype._cleanUp=function(e){var t=this;e.uri.scheme!==Md.inMemory&&e.uri.scheme!==Md.internal&&e.uri.scheme!==Md.vscode||this._markerService&&this._markerService.read({resource:e.uri}).map(function(e){return e.owner}).forEach(function(n){return t._markerService.remove(n,[e.uri])}),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageIdentifier().language+e.uri]},e.prototype._createModelData=function(e,t,n,r){var i=this,o=this.getCreationOptions(t.language,n,r),s=new Ea(e,o,t,n),a=WP(s.uri);if(this._models[a])throw new Error(\"ModelService: Cannot add model because it already exists!\");var u=new VP(s,function(e){return i._onWillDispose(e)},function(e,t){return i._onDidChangeLanguage(e,t)});return this._models[a]=u,u},e.prototype.updateModel=function(t,n){var r=Ca(n,this.getCreationOptions(t.getLanguageIdentifier().language,t.uri,t.isForSimpleWidget).defaultEOL);t.equalsTextBuffer(r)||(t.pushStackElement(),t.setEOL(\"\\r\\n\"===r.getEOL()?Fn.CRLF:Fn.LF),t.pushEditOperations([],e._computeEdits(t,r),function(e){return[]}),t.pushStackElement())},e._commonPrefix=function(e,t,n,r,i,o){for(var s=Math.min(t,i),a=0,u=0;u<s&&e.getLineContent(n+u)===r.getLineContent(o+u);u++)a++;return a},e._commonSuffix=function(e,t,n,r,i,o){for(var s=Math.min(t,i),a=0,u=0;u<s&&e.getLineContent(n+t-u)===r.getLineContent(o+i-u);u++)a++;return a},e._computeEdits=function(e,t){var n=e.getLineCount(),r=t.getLineCount(),i=this._commonPrefix(e,n,1,t,r,1);if(n===r&&i===n)return[];var o,s,a=this._commonSuffix(e,n-i,i,t,r-i,i);return a>0?(o=new be(i+1,1,n-a+1,1),s=new be(i+1,1,r-a+1,1)):i>0?(o=new be(i,e.getLineMaxColumn(i),n,e.getLineMaxColumn(n)),s=new be(i,1+t.getLineLength(i),r,1+t.getLineLength(r))):(o=new be(1,1,n,e.getLineMaxColumn(n)),s=new be(1,1,r,1+t.getLineLength(r))),[S_.replaceMove(o,t.getValueInRange(s,kn.TextDefined))]},e.prototype.createModel=function(e,t,n,r){var i;return void 0===r&&(r=!1),!t||cn.b.is(t)?(i=this._createModelData(e,OP,n,r),this.setMode(i.model,t)):i=this._createModelData(e,t.getLanguageIdentifier(),n,r),this._markerService&&HP.setMarkers(i,this._markerService),this._onModelAdded.fire(i.model),i.model},e.prototype.setMode=function(e,t){t&&(cn.b.is(t)?t.then(function(t){e.isDisposed()||e.setMode(t.getLanguageIdentifier())}):e.setMode(t.getLanguageIdentifier()))},e.prototype.destroyModel=function(e){var t=this._models[WP(e)];t&&t.model.dispose()},e.prototype.getModels=function(){for(var e=[],t=Object.keys(this._models),n=0,r=t.length;n<r;n++){var i=t[n];e.push(this._models[i].model)}return e},e.prototype.getModel=function(e){var t=WP(e),n=this._models[t];return n?n.model:null},Object.defineProperty(e.prototype,\"onModelAdded\",{get:function(){return this._onModelAdded?this._onModelAdded.event:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onModelRemoved\",{get:function(){return this._onModelRemoved?this._onModelRemoved.event:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"onModelModeChanged\",{get:function(){return this._onModelModeChanged?this._onModelModeChanged.event:null},enumerable:!0,configurable:!0}),e.prototype._onWillDispose=function(e){var t=WP(e.uri),n=this._models[t];delete this._models[t],n.dispose(),this._cleanUp(e),this._onModelRemoved.fire(e)},e.prototype._onDidChangeLanguage=function(t,n){var r=n.oldLanguage,i=t.getLanguageIdentifier().language,o=this.getCreationOptions(r,t.uri,t.isForSimpleWidget),s=this.getCreationOptions(i,t.uri,t.isForSimpleWidget);e._setModelOptionsForModel(t,s,o),this._onModelModeChanged.fire({model:t,oldModeId:r})},e=jP([zP(0,DE),zP(1,wA)],e)}(),ZP=function(){function e(){this._transientWatchers={},this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._onCodeEditorAdd=new wn,this._onCodeEditorRemove=new wn,this._onDiffEditorAdd=new wn,this._onDiffEditorRemove=new wn}return e.prototype.addCodeEditor=function(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)},Object.defineProperty(e.prototype,\"onCodeEditorAdd\",{get:function(){return this._onCodeEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeCodeEditor=function(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)},Object.defineProperty(e.prototype,\"onCodeEditorRemove\",{get:function(){return this._onCodeEditorRemove.event},enumerable:!0,configurable:!0}),e.prototype.listCodeEditors=function(){var e=this;return Object.keys(this._codeEditors).map(function(t){return e._codeEditors[t]})},e.prototype.addDiffEditor=function(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)},Object.defineProperty(e.prototype,\"onDiffEditorAdd\",{get:function(){return this._onDiffEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeDiffEditor=function(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)},Object.defineProperty(e.prototype,\"onDiffEditorRemove\",{get:function(){return this._onDiffEditorRemove.event},enumerable:!0,configurable:!0}),e.prototype.listDiffEditors=function(){var e=this;return Object.keys(this._diffEditors).map(function(t){return e._diffEditors[t]})},e.prototype.getFocusedCodeEditor=function(){for(var e=null,t=this.listCodeEditors(),n=0;n<t.length;n++){var r=t[n];if(r.isFocused())return r;r.hasWidgetFocus()&&(e=r)}return e},e.prototype.setTransientModelProperty=function(e,t,n){var r,i=e.uri.toString();this._transientWatchers.hasOwnProperty(i)?r=this._transientWatchers[i]:(r=new GP(i,e,this),this._transientWatchers[i]=r),r.set(t,n)},e.prototype.getTransientModelProperty=function(e,t){var n=e.uri.toString();if(this._transientWatchers.hasOwnProperty(n))return this._transientWatchers[n].get(t)},e.prototype._removeWatcher=function(e){delete this._transientWatchers[e.uri]},e}(),GP=function(){function e(e,t,n){var r=this;this.uri=e,this._values={},t.onWillDispose(function(){return n._removeWatcher(r)})}return e.prototype.set=function(e,t){this._values[e]=t},e.prototype.get=function(e){return this._values[e]},e}(),KP=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qP=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},QP=function(e,t){return function(n,r){t(n,r,e)}},XP=function(e){function t(t,n){void 0===n&&(n=uh());var r=e.call(this)||this;return r._styleSheet=n,r._decorationOptionProviders=Object.create(null),r._themeService=t,r}return KP(t,e),t.prototype.registerDecorationType=function(e,t,n){var r=this._decorationOptionProviders[e];if(!r){var i={styleSheet:this._styleSheet,key:e,parentTypeKey:n,options:t||Object.create(null)};r=n?new JP(this._themeService,i):new $P(this._themeService,i),this._decorationOptionProviders[e]=r}r.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders[e];t&&(t.refCount--,t.refCount<=0&&(delete this._decorationOptionProviders[e],t.dispose(),this.listCodeEditors().forEach(function(t){return t.removeDecorations(e)})))},t.prototype.resolveDecorationOptions=function(e,t){var n=this._decorationOptionProviders[e];if(!n)throw new Error(\"Unknown decoration type key: \"+e);return n.getOptions(this,t)},t=qP([QP(0,Og)],t)}(ZP),JP=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new tB(3,t,e),this._afterContentRules=new tB(4,t,e)}return e.prototype.getOptions=function(e,t){var n=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(n.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(n.afterContentClassName=this._afterContentRules.className),n},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),$P=function(){function e(e,t){var n=this;this.refCount=0,this._disposables=[];var r=function(r){var i=new tB(r,t,e);if(i.hasContent)return n._disposables.push(i),i.className};this.className=r(0);var i,o=(i=new tB(1,t,e)).hasContent?(n._disposables.push(i),{className:i.className,hasLetterSpacing:i.hasLetterSpacing}):null;o&&(this.inlineClassName=o.className,this.inlineClassNameAffectsLetterSpacing=o.hasLetterSpacing),this.beforeContentClassName=r(3),this.afterContentClassName=r(4),this.glyphMarginClassName=r(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,u=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===u||(this.overviewRuler={color:a||u,darkColor:u||a,position:s.overviewRulerLane||Ln.Center})}return e.prototype.getOptions=function(e,t){return t?{inlineClassName:this.inlineClassName,beforeContentClassName:this.beforeContentClassName,afterContentClassName:this.afterContentClassName,className:this.className,glyphMarginClassName:this.glyphMarginClassName,isWholeLine:this.isWholeLine,overviewRuler:this.overviewRuler,stickiness:this.stickiness}:this},e.prototype.dispose=function(){this._disposables=on(this._disposables)},e}(),eB={color:\"color:{0} !important;\",opacity:\"opacity:{0};\",backgroundColor:\"background-color:{0};\",outline:\"outline:{0};\",outlineColor:\"outline-color:{0};\",outlineStyle:\"outline-style:{0};\",outlineWidth:\"outline-width:{0};\",border:\"border:{0};\",borderColor:\"border-color:{0};\",borderRadius:\"border-radius:{0};\",borderSpacing:\"border-spacing:{0};\",borderStyle:\"border-style:{0};\",borderWidth:\"border-width:{0};\",fontStyle:\"font-style:{0};\",fontWeight:\"font-weight:{0};\",textDecoration:\"text-decoration:{0};\",cursor:\"cursor:{0};\",letterSpacing:\"letter-spacing:{0};\",gutterIconPath:\"background:url('{0}') center center no-repeat;\",gutterIconSize:\"background-size:{0};\",contentText:\"content:'{0}';\",contentIconPath:\"content:url('{0}');\",margin:\"margin:{0};\",width:\"width:{0};\",height:\"height:{0};\"},tB=function(){function e(e,t,n){var r=this;this._theme=n.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var i=nB.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(i=i+\" \"+nB.getClassName(this._providerArgs.parentTypeKey,e)),this._className=i,this._unThemedSelector=nB.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors&&(this._themeListener=n.onThemeChange(function(e){r._theme=n.getTheme(),r._removeCSS(),r._buildCSS()}))}return e.prototype.dispose=function(){this._hasContent&&(this._removeCSS(),this._hasContent=!1),this._themeListener&&(this._themeListener.dispose(),this._themeListener=null)},Object.defineProperty(e.prototype,\"hasContent\",{get:function(){return this._hasContent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasLetterSpacing\",{get:function(){return this._hasLetterSpacing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"className\",{get:function(){return this._className},enumerable:!0,configurable:!0}),e.prototype._buildCSS=function(){var e,t,n,r=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(r),t=this.getCSSTextForModelDecorationClassName(r.light),n=this.getCSSTextForModelDecorationClassName(r.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(r),t=this.getCSSTextForModelDecorationInlineClassName(r.light),n=this.getCSSTextForModelDecorationInlineClassName(r.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(r),t=this.getCSSTextForModelDecorationGlyphMarginClassName(r.light),n=this.getCSSTextForModelDecorationGlyphMarginClassName(r.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(r.before),t=this.getCSSTextForModelDecorationContentClassName(r.light&&r.light.before),n=this.getCSSTextForModelDecorationContentClassName(r.dark&&r.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(r.after),t=this.getCSSTextForModelDecorationContentClassName(r.light&&r.light.after),n=this.getCSSTextForModelDecorationContentClassName(r.dark&&r.dark.after);break;default:throw new Error(\"Unknown rule type: \"+this._ruleType)}var i=this._providerArgs.styleSheet.sheet,o=!1;e.length>0&&(i.insertRule(this._unThemedSelector+\" {\"+e+\"}\",0),o=!0),t.length>0&&(i.insertRule(\".vs\"+this._unThemedSelector+\" {\"+t+\"}\",0),o=!0),n.length>0&&(i.insertRule(\".vs-dark\"+this._unThemedSelector+\", .hc-black\"+this._unThemedSelector+\" {\"+n+\"}\",0),o=!0),this._hasContent=o},e.prototype._removeCSS=function(){hh(this._unThemedSelector,this._providerArgs.styleSheet)},e.prototype.getCSSTextForModelDecorationClassName=function(e){if(!e)return\"\";var t=[];return this.collectCSSText(e,[\"backgroundColor\"],t),this.collectCSSText(e,[\"outline\",\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],t),this.collectBorderSettingsCSSText(e,t),t.join(\"\")},e.prototype.getCSSTextForModelDecorationInlineClassName=function(e){if(!e)return\"\";var t=[];return this.collectCSSText(e,[\"fontStyle\",\"fontWeight\",\"textDecoration\",\"cursor\",\"color\",\"opacity\",\"letterSpacing\"],t),e.letterSpacing&&(this._hasLetterSpacing=!0),t.join(\"\")},e.prototype.getCSSTextForModelDecorationContentClassName=function(e){if(!e)return\"\";var t=[];if(void 0!==e){if(this.collectBorderSettingsCSSText(e,t),void 0!==e.contentIconPath&&(\"string\"==typeof e.contentIconPath?t.push($e(eB.contentIconPath,Be.file(e.contentIconPath).toString().replace(/'/g,\"%27\"))):t.push($e(eB.contentIconPath,Be.revive(e.contentIconPath).toString(!0).replace(/'/g,\"%27\")))),\"string\"==typeof e.contentText){var n=e.contentText.match(/^.*$/m)[0].replace(/['\\\\]/g,\"\\\\$&\");t.push($e(eB.contentText,n))}this.collectCSSText(e,[\"fontStyle\",\"fontWeight\",\"textDecoration\",\"color\",\"opacity\",\"backgroundColor\",\"margin\"],t),this.collectCSSText(e,[\"width\",\"height\"],t)&&t.push(\"display:inline-block;\")}return t.join(\"\")},e.prototype.getCSSTextForModelDecorationGlyphMarginClassName=function(e){if(!e)return\"\";var t=[];return void 0!==e.gutterIconPath&&(\"string\"==typeof e.gutterIconPath?t.push($e(eB.gutterIconPath,Be.file(e.gutterIconPath).toString())):t.push($e(eB.gutterIconPath,Be.revive(e.gutterIconPath).toString(!0).replace(/'/g,\"%27\"))),void 0!==e.gutterIconSize&&t.push($e(eB.gutterIconSize,e.gutterIconSize))),t.join(\"\")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,[\"border\",\"borderColor\",\"borderRadius\",\"borderSpacing\",\"borderStyle\",\"borderWidth\"],t)&&(t.push($e(\"box-sizing: border-box;\")),!0)},e.prototype.collectCSSText=function(e,t,n){for(var r=n.length,i=0,o=t;i<o.length;i++){var s=o[i],a=this.resolveValue(e[s]);\"string\"==typeof a&&n.push($e(eB[s],a))}return n.length!==r},e.prototype.resolveValue=function(e){if((n=e)&&\"string\"==typeof n.id){this._usesThemeColors=!0;var t=this._theme.getColor(e.id);return t?t.toString():\"transparent\"}var n;return e},e}(),nB=function(){function e(){}return e.getClassName=function(e,t){return\"ced-\"+e+\"-\"+t},e.getSelector=function(e,t,n){var r=\".monaco-editor .\"+this.getClassName(e,n);return t&&(r=r+\".\"+this.getClassName(t,n)),3===n?r+=\"::before\":4===n&&(r+=\"::after\"),r},e}(),rB=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),iB=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},oB=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},sB=function(e,t){return function(n,r){t(n,r,e)}},aB=\"data-keybinding-context\",uB=function(){function e(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}return e.prototype.setValue=function(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)},e.prototype.removeValue=function(e){return e in this._value&&(delete this._value[e],!0)},e.prototype.getValue=function(e){var t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t},e.prototype.collectAllValues=function(){var e=this._parent?this._parent.collectAllValues():Object.create(null);return delete(e=iB({},e,this._value))._contextId,e},e}(),lB=function(e){function t(t,n,r){var i=e.call(this,t,null)||this;return i._emitter=r,i._configurationService=n,i._subscription=n.onDidChangeConfiguration(i._onConfigurationUpdated,i),i._initFromConfiguration(),i}return rB(t,e),t.prototype.dispose=function(){this._subscription.dispose()},t.prototype._onConfigurationUpdated=function(e){if(e.source===CA.DEFAULT)this._initFromConfiguration();else for(var t=0,n=e.affectedKeys;t<n.length;t++){var r=n[t],i=\"config.\"+r;i in this._value&&(this._value[i]=this._configurationService.getValue(r),this._emitter.fire(r))}},t.prototype._initFromConfiguration=function(){var e=this,t=this._configurationService.getValue(),n=Object.create(null),r=[],i=function(t,o){for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){o.push(s);var a=t[s];if(\"boolean\"==typeof a){var u=o.join(\".\"),l=e._value[u];e._value[u]=a,l!==a?(r.push(u),n[u]=!0):n[u]=!1}else\"object\"==typeof a&&i(a,o);o.pop()}};for(var o in i(t,[\"config\"]),this._value)0===o.indexOf(\"config.\")&&void 0===n[o]&&(delete this._value[o],n[o]=!0,r.push(o));this._emitter.fire(r)},t}(uB),cB=function(){function e(e,t,n){this._parent=e,this._key=t,this._defaultValue=n,this.reset()}return e.prototype.set=function(e){this._parent.setContext(this._key,e)},e.prototype.reset=function(){void 0===this._defaultValue?this._parent.removeContext(this._key):this._parent.setContext(this._key,this._defaultValue)},e.prototype.get=function(){return this._parent.getContextKeyValue(this._key)},e}(),hB=function(){function e(){this._keys=[]}return e.prototype.collect=function(e){this._keys=this._keys.concat(e)},e.prototype.affectsSome=function(e){for(var t=0,n=this._keys;t<n.length;t++){var r=n[t];if(e.has(r))return!0}return!1},e}(),dB=function(){function e(e){this._myContextId=e,this._onDidChangeContextKey=new wn}return e.prototype.createKey=function(e,t){return new cB(this,e,t)},Object.defineProperty(e.prototype,\"onDidChangeContext\",{get:function(){return this._onDidChangeContext||(this._onDidChangeContext=An(this._onDidChangeContextKey.event,function(e,t){return e||(e=new hB),e.collect(t),e},25)),this._onDidChangeContext},enumerable:!0,configurable:!0}),e.prototype.createScoped=function(e){return new fB(this,this._onDidChangeContextKey,e)},e.prototype.contextMatchesRules=function(e){var t=this.getContextValuesContainer(this._myContextId);return WF.contextMatchesRules(t,e)},e.prototype.getContextKeyValue=function(e){return this.getContextValuesContainer(this._myContextId).getValue(e)},e.prototype.setContext=function(e,t){var n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContextKey.fire(e)},e.prototype.removeContext=function(e){this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContextKey.fire(e)},e.prototype.getContext=function(e){return this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(aB))return parseInt(e.getAttribute(aB),10);e=e.parentElement}return 0}(e))},e}(),pB=function(e){function t(t){var n=e.call(this,0)||this;n._toDispose=[],n._lastContextId=0,n._contexts=Object.create(null);var r=new lB(n._myContextId,t,n._onDidChangeContextKey);return n._contexts[String(n._myContextId)]=r,n._toDispose.push(r),n}return rB(t,e),t.prototype.dispose=function(){this._toDispose=on(this._toDispose)},t.prototype.getContextValuesContainer=function(e){return this._contexts[String(e)]},t.prototype.createChildContext=function(e){void 0===e&&(e=this._myContextId);var t=++this._lastContextId;return this._contexts[String(t)]=new uB(t,this.getContextValuesContainer(e)),t},t.prototype.disposeContext=function(e){delete this._contexts[String(e)]},t=oB([sB(0,wA)],t)}(dB),fB=function(e){function t(t,n,r){var i=e.call(this,t.createChildContext())||this;return i._parent=t,i._onDidChangeContextKey=n,r&&(i._domNode=r,i._domNode.setAttribute(aB,String(i._myContextId))),i}return rB(t,e),t.prototype.dispose=function(){this._parent.disposeContext(this._myContextId),this._domNode&&this._domNode.removeAttribute(aB)},Object.defineProperty(t.prototype,\"onDidChangeContext\",{get:function(){return this._parent.onDidChangeContext},enumerable:!0,configurable:!0}),t.prototype.getContextValuesContainer=function(e){return this._parent.getContextValuesContainer(e)},t.prototype.createChildContext=function(e){return void 0===e&&(e=this._myContextId),this._parent.createChildContext(e)},t.prototype.disposeContext=function(e){this._parent.disposeContext(e)},t}(dB);Ga.registerCommand(\"setContext\",function(e,t,n){e.get(Su).createKey(String(t),n)});var gB=function(){return function(e,t,n,r,i){this.token=e,this.index=t,this.fontStyle=n,this.foreground=r,this.background=i}}();function mB(e){e.sort(function(e,t){var n=function(e,t){if(e<t)return-1;if(e>t)return 1;return 0}(e.token,t.token);return 0!==n?n:e.index-t.index});for(var t=0,n=\"000000\",r=\"ffffff\";e.length>=1&&\"\"===e[0].token;){var i=e.shift();-1!==i.fontStyle&&(t=i.fontStyle),null!==i.foreground&&(n=i.foreground),null!==i.background&&(r=i.background)}for(var o=new vB,s=new _B(t,o.getId(n),o.getId(r)),a=new wB(s),u=0,l=e.length;u<l;u++){var c=e[u];a.insert(c.token,c.fontStyle,o.getId(c.foreground),o.getId(c.background))}return new yB(o,a)}var vB=function(){function e(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}return e.prototype.getId=function(e){if(null===e)return 0;if(e=e.toUpperCase(),!/^[0-9A-F]{6}$/.test(e))throw new Error(\"Illegal color name: \"+e);var t=this._color2id.get(e);return t||(t=++this._lastColorId,this._color2id.set(e,t),this._id2color[t]=md.fromHex(\"#\"+e),t)},e.prototype.getColorMap=function(){return this._id2color.slice(0)},e}(),yB=function(){function e(e,t){this._colorMap=e,this._root=t,this._cache=new Map}return e.createFromRawTokenTheme=function(e){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];for(var t=[],n=0,r=0,i=e.length;r<i;r++){var o=e[r],s=-1;if(\"string\"==typeof o.fontStyle){s=0;for(var a=o.fontStyle.split(\" \"),u=0,l=a.length;u<l;u++)switch(a[u]){case\"italic\":s|=1;break;case\"bold\":s|=2;break;case\"underline\":s|=4}}var c=null;\"string\"==typeof o.foreground&&(c=o.foreground);var h=null;\"string\"==typeof o.background&&(h=o.background),t[n++]=new gB(o.token||\"\",r,s,c,h)}return t}(e))},e.createFromParsedTokenTheme=function(e){return mB(e)},e.prototype.getColorMap=function(){return this._colorMap.getColorMap()},e.prototype.getThemeTrieElement=function(){return this._root.toExternalThemeTrieElement()},e.prototype._match=function(e){return this._root.match(e)},e.prototype.match=function(e,t){var n=this._cache.get(t);if(void 0===n){var r=this._match(t),i=function(e){var t=e.match(bB);if(!t)return 0;switch(t[1]){case\"comment\":return 1;case\"string\":return 2;case\"regex\":return 4}throw new Error(\"Unexpected match for standard token type!\")}(t);n=(r.metadata|i<<8)>>>0,this._cache.set(t,n)}return(n|e<<0)>>>0},e}(),bB=/\\b(comment|string|regex)\\b/;var _B=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}return e.prototype.clone=function(){return new e(this._fontStyle,this._foreground,this._background)},e.prototype.acceptOverwrite=function(e,t,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),CB=function(){return function(e,t){this.mainRule=e,this.children=t||Object.create(null)}}(),wB=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.toExternalThemeTrieElement=function(){var e=Object.create(null);return this._children.forEach(function(t,n){e[n]=t.toExternalThemeTrieElement()}),new CB(this._mainRule,e)},e.prototype.match=function(e){if(\"\"===e)return this._mainRule;var t,n,r=e.indexOf(\".\");-1===r?(t=e,n=\"\"):(t=e.substring(0,r),n=e.substring(r+1));var i=this._children.get(t);return void 0!==i?i.match(n):this._mainRule},e.prototype.insert=function(t,n,r,i){if(\"\"!==t){var o,s,a=t.indexOf(\".\");-1===a?(o=t,s=\"\"):(o=t.substring(0,a),s=t.substring(a+1));var u=this._children.get(o);void 0===u&&(u=new e(this._mainRule.clone()),this._children.set(o,u)),u.insert(s,n,r,i)}else this._mainRule.acceptOverwrite(n,r,i)},e}();var DB,EB,AB,SB={base:\"vs\",inherit:!1,rules:[{token:\"\",foreground:\"000000\",background:\"fffffe\"},{token:\"invalid\",foreground:\"cd3131\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"001188\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"constant\",foreground:\"dd0000\"},{token:\"comment\",foreground:\"008000\"},{token:\"number\",foreground:\"09885A\"},{token:\"number.hex\",foreground:\"3030c0\"},{token:\"regexp\",foreground:\"800000\"},{token:\"annotation\",foreground:\"808080\"},{token:\"type\",foreground:\"008080\"},{token:\"delimiter\",foreground:\"000000\"},{token:\"delimiter.html\",foreground:\"383838\"},{token:\"delimiter.xml\",foreground:\"0000FF\"},{token:\"tag\",foreground:\"800000\"},{token:\"tag.id.jade\",foreground:\"4F76AC\"},{token:\"tag.class.jade\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"800000\"},{token:\"metatag\",foreground:\"e00000\"},{token:\"metatag.content.html\",foreground:\"FF0000\"},{token:\"metatag.html\",foreground:\"808080\"},{token:\"metatag.xml\",foreground:\"808080\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"863B00\"},{token:\"string.key.json\",foreground:\"A31515\"},{token:\"string.value.json\",foreground:\"0451A5\"},{token:\"attribute.name\",foreground:\"FF0000\"},{token:\"attribute.value\",foreground:\"0451A5\"},{token:\"attribute.value.number\",foreground:\"09885A\"},{token:\"attribute.value.unit\",foreground:\"09885A\"},{token:\"attribute.value.html\",foreground:\"0000FF\"},{token:\"attribute.value.xml\",foreground:\"0000FF\"},{token:\"string\",foreground:\"A31515\"},{token:\"string.html\",foreground:\"0000FF\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"string.yaml\",foreground:\"0451A5\"},{token:\"keyword\",foreground:\"0000FF\"},{token:\"keyword.json\",foreground:\"0451A5\"},{token:\"keyword.flow\",foreground:\"AF00DB\"},{token:\"keyword.flow.scss\",foreground:\"0000FF\"},{token:\"operator.scss\",foreground:\"666666\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"666666\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:(DB={},DB[qf]=\"#FFFFFE\",DB[Qf]=\"#000000\",DB[tg]=\"#E5EBF1\",DB[Qg]=\"#D3D3D3\",DB[Xg]=\"#939393\",DB[ng]=\"#ADD6FF4D\",DB)},xB={base:\"vs-dark\",inherit:!1,rules:[{token:\"\",foreground:\"D4D4D4\",background:\"1E1E1E\"},{token:\"invalid\",foreground:\"f44747\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"74B0DF\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"variable.parameter\",foreground:\"9CDCFE\"},{token:\"constant\",foreground:\"569CD6\"},{token:\"comment\",foreground:\"608B4E\"},{token:\"number\",foreground:\"B5CEA8\"},{token:\"number.hex\",foreground:\"5BB498\"},{token:\"regexp\",foreground:\"B46695\"},{token:\"annotation\",foreground:\"cc6666\"},{token:\"type\",foreground:\"3DC9B0\"},{token:\"delimiter\",foreground:\"DCDCDC\"},{token:\"delimiter.html\",foreground:\"808080\"},{token:\"delimiter.xml\",foreground:\"808080\"},{token:\"tag\",foreground:\"569CD6\"},{token:\"tag.id.jade\",foreground:\"4F76AC\"},{token:\"tag.class.jade\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"A79873\"},{token:\"meta.tag\",foreground:\"CE9178\"},{token:\"metatag\",foreground:\"DD6A6F\"},{token:\"metatag.content.html\",foreground:\"9CDCFE\"},{token:\"metatag.html\",foreground:\"569CD6\"},{token:\"metatag.xml\",foreground:\"569CD6\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"9CDCFE\"},{token:\"string.key.json\",foreground:\"9CDCFE\"},{token:\"string.value.json\",foreground:\"CE9178\"},{token:\"attribute.name\",foreground:\"9CDCFE\"},{token:\"attribute.value\",foreground:\"CE9178\"},{token:\"attribute.value.number.css\",foreground:\"B5CEA8\"},{token:\"attribute.value.unit.css\",foreground:\"B5CEA8\"},{token:\"attribute.value.hex.css\",foreground:\"D4D4D4\"},{token:\"string\",foreground:\"CE9178\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"keyword\",foreground:\"569CD6\"},{token:\"keyword.flow\",foreground:\"C586C0\"},{token:\"keyword.json\",foreground:\"CE9178\"},{token:\"keyword.flow.scss\",foreground:\"569CD6\"},{token:\"operator.scss\",foreground:\"909090\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"909090\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:(EB={},EB[qf]=\"#1E1E1E\",EB[Qf]=\"#D4D4D4\",EB[tg]=\"#3A3D41\",EB[Qg]=\"#404040\",EB[Xg]=\"#707070\",EB[ng]=\"#ADD6FF26\",EB)},MB={base:\"hc-black\",inherit:!1,rules:[{token:\"\",foreground:\"FFFFFF\",background:\"000000\"},{token:\"invalid\",foreground:\"f44747\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"1AEBFF\"},{token:\"variable.parameter\",foreground:\"9CDCFE\"},{token:\"constant\",foreground:\"569CD6\"},{token:\"comment\",foreground:\"608B4E\"},{token:\"number\",foreground:\"FFFFFF\"},{token:\"regexp\",foreground:\"C0C0C0\"},{token:\"annotation\",foreground:\"569CD6\"},{token:\"type\",foreground:\"3DC9B0\"},{token:\"delimiter\",foreground:\"FFFF00\"},{token:\"delimiter.html\",foreground:\"FFFF00\"},{token:\"tag\",foreground:\"569CD6\"},{token:\"tag.id.jade\",foreground:\"4F76AC\"},{token:\"tag.class.jade\",foreground:\"4F76AC\"},{token:\"meta\",foreground:\"D4D4D4\"},{token:\"meta.tag\",foreground:\"CE9178\"},{token:\"metatag\",foreground:\"569CD6\"},{token:\"metatag.content.html\",foreground:\"1AEBFF\"},{token:\"metatag.html\",foreground:\"569CD6\"},{token:\"metatag.xml\",foreground:\"569CD6\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"9CDCFE\"},{token:\"string.key\",foreground:\"9CDCFE\"},{token:\"string.value\",foreground:\"CE9178\"},{token:\"attribute.name\",foreground:\"569CD6\"},{token:\"attribute.value\",foreground:\"3FF23F\"},{token:\"string\",foreground:\"CE9178\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"keyword\",foreground:\"569CD6\"},{token:\"keyword.flow\",foreground:\"C586C0\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"909090\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:(AB={},AB[qf]=\"#000000\",AB[Qf]=\"#FFFFFF\",AB[Qg]=\"#FFFFFF\",AB[Xg]=\"#FFFFFF\",AB)},NB=\"vs\",IB=\"vs-dark\",LB=\"hc-black\",kB=su.as(af),TB=su.as(zg),FB=function(){function e(e,t,n,r){for(var i in t.length>0?(this.id=e+\" \"+t,this.themeName=t):(this.id=e,this.themeName=e),this.base=e,this.rules=r,this.colors={},n)this.colors[i]=md.fromHex(n[i]);this.defaultColors={}}return e.prototype.getColor=function(e,t){return this.colors.hasOwnProperty(e)?this.colors[e]:!1!==t?this.getDefault(e):null},e.prototype.getDefault=function(e){if(this.defaultColors.hasOwnProperty(e))return this.defaultColors[e];var t=kB.resolveDefaultColor(e,this);return this.defaultColors[e]=t,t},e.prototype.defines=function(e){return this.colors.hasOwnProperty(e)},Object.defineProperty(e.prototype,\"type\",{get:function(){switch(this.base){case NB:return\"light\";case LB:return\"hc\";default:return\"dark\"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"tokenTheme\",{get:function(){return this._tokenTheme||(this._tokenTheme=yB.createFromRawTokenTheme(this.rules)),this._tokenTheme},enumerable:!0,configurable:!0}),e}();function OB(e){return e===NB||e===IB||e===LB}function PB(e){switch(e){case NB:return SB;case IB:return xB;case LB:return MB}}function BB(e){var t=PB(e);return new FB(e,\"\",t.colors,t.rules)}var RB=function(){function e(){this._onThemeChange=new wn,this._knownThemes=new Map,this._knownThemes.set(NB,BB(NB)),this._knownThemes.set(IB,BB(IB)),this._knownThemes.set(LB,BB(LB)),this._styleElement=uh(),this._styleElement.className=\"monaco-colors\",this.setTheme(NB)}return Object.defineProperty(e.prototype,\"onThemeChange\",{get:function(){return this._onThemeChange.event},enumerable:!0,configurable:!0}),e.prototype.defineTheme=function(e,t){if(!/^[a-z0-9\\-]+$/i.test(e)||OB(e))throw new Error(\"Illegal theme name!\");if(!OB(t.base))throw new Error(\"Illegal theme base!\");var n=[],r={};if(t.inherit){var i=PB(t.base);for(var o in n=n.concat(i.rules),i.colors)r[o]=i.colors[o]}for(var o in n=n.concat(t.rules),t.colors)r[o]=t.colors[o];this._knownThemes.set(e,new FB(t.base,e,r,n))},e.prototype.getTheme=function(){return this._theme},e.prototype.setTheme=function(e){var t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(NB),this._theme=t;var n=[],r={},i={addRule:function(e){r[e]||(n.push(e),r[e]=!0)}};TB.getThemingParticipants().forEach(function(e){return e(t,i)});var o=t.tokenTheme.getColorMap();return i.addRule(function(e){for(var t=[],n=1,r=e.length;n<r;n++){var i=e[n];t[n]=\".mtk\"+n+\" { color: \"+i+\"; }\"}return t.push(\".mtki { font-style: italic; }\"),t.push(\".mtkb { font-weight: bold; }\"),t.push(\".mtku { text-decoration: underline; }\"),t.join(\"\\n\")}(o)),this._styleElement.innerHTML=n.join(\"\\n\"),xi.setColorMap(o),this._onThemeChange.fire(t),t.id},e}(),jB=Or(\"dialogService\");var zB,WB=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){var t=new Sh,n=function(){function e(e,t){this._serviceId=e,this._factory=t,this._value=null}return Object.defineProperty(e.prototype,\"id\",{get:function(){return this._serviceId},enumerable:!0,configurable:!0}),e.prototype.get=function(e){if(!this._value){if(e&&(this._value=e[this._serviceId.toString()]),this._value||(this._value=this._factory(e)),!this._value)throw new Error(\"Service \"+this._serviceId+\" is missing!\");t.set(this._serviceId,this._value)}return this._value},e}();e.LazyStaticService=n;var r=[];function i(e,t){var i=new n(e,t);return r.push(i),i}e.init=function(e){var t=new Sh;for(var n in e)e.hasOwnProperty(n)&&t.set(Or(n),e[n]);r.forEach(function(n){return t.set(n.id,n.get(e))});var i=new BO(t,!0);return t.set(Tr,i),[t,i]},e.instantiationService=i(Tr,function(){return new BO(t,!0)});var o=new dO;e.configurationService=i(wA,function(){return o}),e.resourceConfigurationService=i(dP,function(){return new pO(o)}),e.contextService=i(cM,function(){return new mO}),e.telemetryService=i(cu,function(){return new gO}),e.dialogService=i(jB,function(){return new aO}),e.notificationService=i(Yb,function(){return new uO}),e.markerService=i(DE,function(){return new jO}),e.modeService=i(iA,function(e){return new RP}),e.modelService=i(Br,function(t){return new YP(e.markerService.get(t),e.configurationService.get(t))}),e.editorWorkerService=i(uE,function(t){return new bP(e.modelService.get(t),e.resourceConfigurationService.get(t))}),e.standaloneThemeService=i(vO,function(){return new RB}),e.codeEditorService=i(Wu,function(t){return new XP(e.standaloneThemeService.get(t))}),e.progressService=i(jI,function(){return new sO}),e.storageService=i(Bp,function(){return Rp}),e.logService=i(yk,function(){return new Ck})}(zB||(zB={}));var VB=function(e){function t(t,n){var r=e.call(this)||this,i=zB.init(n),o=i[0],s=i[1];r._serviceCollection=o,r._instantiationService=s;var a=r.get(wA),u=r.get(Yb),l=r.get(cu),c=function(e,t){var i=null;return n&&(i=n[e.toString()]),i||(i=t()),r._serviceCollection.set(e,i),i},h=c(Su,function(){return r._register(new pB(a))});c(SN,function(){return new xN(h)});var d=c(Za,function(){return new lO(r._instantiationService)});c(HC,function(){return r._register(new cO(h,d,l,u,t))});var p=c(WC,function(){return r._register(new kO(t,l,new Ck))});return c(VC,function(){return r._register(new NO(t,l,u,p))}),c(Lu,function(){return new fO(d)}),r}return WB(t,e),t.prototype.get=function(e){var t=this._serviceCollection.get(e);if(!t)throw new Error(\"Missing service \"+e);return t},t.prototype.set=function(e,t){this._serviceCollection.set(e,t)},t.prototype.has=function(e){return this._serviceCollection.has(e)},t}(un);function HB(e){var t=JSON.parse(e);return t=function e(t,n){if(!t||n>200)return t;if(\"object\"==typeof t){switch(t.$mid){case 1:return Be.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var r in t)Object.hasOwnProperty.call(t,r)&&(t[r]=e(t[r],n+1))}return t}(t,0)}var UB=new(function(){function e(){}return e.prototype.publicLog=function(e,t){return cn.b.wrap(null)},e.prototype.getTelemetryInfo=function(){return cn.b.wrap({instanceId:\"someValue.instanceId\",sessionId:\"someValue.sessionId\",machineId:\"someValue.machineId\"})},e}());var YB=function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ZB=function(e,t){return function(n,r){t(n,r,e)}},GB=function(){function e(e,t,n){void 0===n&&(n=UB),this._editorService=e,this._commandService=t,this._telemetryService=n}return e.prototype.open=function(e,t){this._telemetryService.publicLog(\"openerService\",{scheme:e.scheme});var n,r=e.scheme,i=e.path,o=e.query,s=e.fragment,a=cn.b.wrap(void 0);if(r===Md.http||r===Md.https||r===Md.mailto)Ah(e.toString(!0));else if(\"command\"===r&&Ga.getCommand(i)){var u=[];try{u=HB(o),Array.isArray(u)||(u=[u])}catch(e){}a=(n=this._commandService).executeCommand.apply(n,[i].concat(u))}else{var l=void 0,c=/^L?(\\d+)(?:,(\\d+))?/.exec(s);if(c&&(l={startLineNumber:parseInt(c[1]),startColumn:c[2]?parseInt(c[2]):1},e=e.with({fragment:\"\"})),!e.scheme)return cn.b.as(void 0);e.scheme===Md.file&&(e=e.with({path:ir(e.path)})),a=this._editorService.openEditor({resource:e,options:{selection:l}},t&&t.openToSide)}return a},e=YB([ZB(0,Fu),ZB(1,Za),ZB(2,Pr(cu))],e)}(),KB=function(){function e(){}return e.colorizeElement=function(e,t,n,r){var i=(r=r||{}).theme||\"vs\",o=r.mimeType||n.getAttribute(\"lang\")||n.getAttribute(\"data-lang\");if(o){e.setTheme(i);var s=n.firstChild.nodeValue;n.className+=\" \"+i;var a=function(e){n.innerHTML=e};return this.colorize(t,s,o,r).then(a,function(e){return console.error(e)},a)}console.error(\"Mode not detected\")},e._tokenizationSupportChangedPromise=function(e){var t=null,n=function(){t&&(t.dispose(),t=null)};return new cn.b(function(r,i,o){t=xi.onDidChange(function(t){t.changedLanguages.indexOf(e)>=0&&(n(),r(void 0))})},n)},e.colorize=function(e,t,n,r){Qt(t)&&(t=t.substr(1));var i=t.split(/\\r\\n|\\r|\\n/),o=e.getModeId(n);void 0===(r=r||{}).tabSize&&(r.tabSize=4),e.getOrCreateMode(o);var s=xi.get(o);return s?cn.b.as(qB(i,r.tabSize,s)):cn.b.any([this._tokenizationSupportChangedPromise(o),cn.b.timeout(500)]).then(function(e){var t=xi.get(o);return t?qB(i,r.tabSize,t):function(e,t){var n=[],r=new Uint32Array(2);r[0]=0,r[1]=16793600;for(var i=0,o=e.length;i<o;i++){var s=e[i];r[0]=s.length;var a=new Go(r,s),u=od.isBasicASCII(s,!0),l=od.containsRTL(s,u,!0),c=tv(new Qm(!1,s,u,l,0,a,[],t,0,-1,\"none\",!1,!1));(n=n.concat(c.html)).push(\"<br/>\")}return n.join(\"\")}(i,r.tabSize)})},e.colorizeLine=function(e,t,n,r,i){void 0===i&&(i=4);var o=od.isBasicASCII(e,t),s=od.containsRTL(e,o,n);return tv(new Qm(!1,e,o,s,0,r,[],i,0,-1,\"none\",!1,!1)).html},e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var r=e.getLineContent(t);e.forceTokenization(t);var i=e.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)},e}();function qB(e,t,n){return function(e,t,n){for(var r=[],i=n.getInitialState(),o=0,s=e.length;o<s;o++){var a=e[o],u=n.tokenize2(a,i,0);Go.convertToEndOffset(u.tokens,a.length);var l=new Go(u.tokens,a),c=od.isBasicASCII(a,!0),h=od.containsRTL(a,c,!0),d=tv(new Qm(!1,a,c,h,0,l.inflate(),[],t,0,-1,\"none\",!1,!1));(r=r.concat(d.html)).push(\"<br/>\"),i=u.endState}return r.join(\"\")}(e,t,n)}var QB=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();var XB,JB,$B=function(e){function t(t,n){var r=e.call(this,t,n.label)||this;return r._foreignModuleId=n.moduleId,r._foreignModuleCreateData=n.createData||null,r._foreignProxy=null,r}return QB(t,e),t.prototype._getForeignProxy=function(){var e=this;return this._foreignProxy||(this._foreignProxy=new jl(this._getProxy().then(function(t){return t.loadForeignModule(e._foreignModuleId,e._foreignModuleCreateData).then(function(n){e._foreignModuleId=null,e._foreignModuleCreateData=null;for(var r=function(e,n){return t.fmr(e,n)},i=function(e,t){return function(){var n=Array.prototype.slice.call(arguments,0);return t(e,n)}},o={},s=0;s<n.length;s++)o[n[s]]=i(n[s],r);return o})}))),this._foreignProxy},t.prototype.getProxy=function(){return this._getForeignProxy()},t.prototype.withSyncedResources=function(e){var t=this;return this._withSyncedResources(e).then(function(e){return t.getProxy()})},t}(EP),eR={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},tR=function(){function e(e,t){void 0===t&&(t={});var n=this;this._onDidUpdate=new wn,this.onDidUpdate=this._onDidUpdate.event,this._editor=e,this._options=ds(t,eR,!1),this.disposed=!1,this._disposables=[],this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=this._options.alwaysRevealFirst,this._disposables.push(this._editor.onDidDispose(function(){return n.dispose()})),this._disposables.push(this._editor.onDidUpdateDiff(function(){return n._onDiffUpdated()})),this._options.followsCaret&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeCursorPosition(function(e){n.ignoreSelectionChange||(n.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeModel(function(e){n.revealFirst=!0})),this._init()}return e.prototype._init=function(){this._editor.getLineChanges()},e.prototype._onDiffUpdated=function(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next())},e.prototype._compute=function(e){var t=this;this.ranges=[],e&&e.forEach(function(e){!t._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach(function(e){t.ranges.push({rhs:!0,range:new be(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})}):t.ranges.push({rhs:!0,range:new be(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})}),this.ranges.sort(function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0}),this._onDidUpdate.fire(this)},e.prototype._initIdx=function(e){for(var t=!1,n=this._editor.getPosition(),r=0,i=this.ranges.length;r<i&&!t;r++){var o=this.ranges[r].range;n.isBeforeOrEqual(o.getStartPosition())&&(this.nextIdx=r+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)},e.prototype._move=function(e){if(ou(!this.disposed,\"Illegal State - diff navigator has been disposed\"),this.canNavigate()){-1===this.nextIdx?this._initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var t=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var n=t.range.getStartPosition();this._editor.setPosition(n),this._editor.revealPositionInCenter(n,0)}finally{this.ignoreSelectionChange=!1}}},e.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},e.prototype.next=function(){this._move(!0)},e.prototype.previous=function(){this._move(!1)},e.prototype.dispose=function(){on(this._disposables),this._disposables.length=0,this._onDidUpdate.dispose(),this.ranges=null,this.disposed=!0},e}();function nR(e,t,n){var r=new VB(e,t),i=null;r.has(Fu)||(i=new iO,r.set(Fu,i));var o=null;r.has(DM)||(o=new oO,r.set(DM,o)),r.has(nA)||r.set(nA,new GB(r.get(Fu),r.get(Za)));var s=n(r);return i&&i.setEditor(s),o&&o.setEditor(s),s}function rR(e,t,n){return nR(e,n,function(n){return new AO(e,t,n,n.get(Tr),n.get(Wu),n.get(Za),n.get(Su),n.get(HC),n.get(WC),n.get(vO),n.get(Yb))})}function iR(e){return zB.codeEditorService.get().onCodeEditorAdd(function(t){e(t)})}function oR(e,t,n){return nR(e,n,function(n){return new SO(e,t,n,n.get(Tr),n.get(Su),n.get(HC),n.get(WC),n.get(uE),n.get(Wu),n.get(vO),n.get(Yb))})}function sR(e,t){return new tR(e,t)}function aR(e,t,n){return zB.modelService.get().createModel(e,t,n)}function uR(e,t,n){if(e=e||\"\",!t){var r=n?n.path:null,i=e.indexOf(\"\\n\"),o=e;return-1!==i&&(o=e.substring(0,i)),aR(e,zB.modeService.get().getOrCreateModeByFilenameOrFirstLine(r,o),n)}return aR(e,zB.modeService.get().getOrCreateMode(t),n)}function lR(e,t){zB.modelService.get().setMode(e,zB.modeService.get().getOrCreateMode(t))}function cR(e,t,n){e&&zB.markerService.get().changeOne(t,e.uri,n)}function hR(e){return zB.markerService.get().read(e)}function dR(e){return zB.modelService.get().getModel(e)}function pR(){return zB.modelService.get().getModels()}function fR(e){return zB.modelService.get().onModelAdded(e)}function gR(e){return zB.modelService.get().onModelRemoved(e)}function mR(e){return zB.modelService.get().onModelModeChanged(function(t){e({model:t.model,oldLanguage:t.oldModeId})})}function vR(e){return function(e,t){return new $B(e,t)}(zB.modelService.get(),e)}function yR(e,t){return KB.colorizeElement(zB.standaloneThemeService.get(),zB.modeService.get(),e,t)}function bR(e,t,n){return KB.colorize(zB.modeService.get(),e,t,n)}function _R(e,t,n){return void 0===n&&(n=4),KB.colorizeModelLine(e,t,n)}function CR(e){var t=xi.get(e);return t||{getInitialState:function(){return yo},tokenize:function(t,n,r){return function(e,t,n,r){return new mo([new go(r,\"\",e)],n)}(e,0,n,r)},tokenize2:void 0}}function wR(e,t){zB.modeService.get().getOrCreateMode(t);for(var n=CR(t),r=e.split(/\\r\\n|\\r|\\n/),i=[],o=n.getInitialState(),s=0,a=r.length;s<a;s++){var u=r[s],l=n.tokenize(u,o,0);i[s]=l.tokens,o=l.endState}return i}function DR(e,t){zB.standaloneThemeService.get().defineTheme(e,t)}function ER(e){zB.standaloneThemeService.get().setTheme(e)}function AR(e){return!function(e){return Array.isArray(e)}(e)}function SR(e){return\"string\"==typeof e}function xR(e){return!SR(e)}function MR(e){return!e}function NR(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function IR(e){return e.replace(/[&<>'\"_]/g,\"-\")}function LR(e,t){throw new Error(e.languageId+\": \"+t)}function kR(e,t,n,r,i){var o=null;return t.replace(/\\$((\\$)|(#)|(\\d\\d?)|[sS](\\d\\d?)|@(\\w+))/g,function(t,s,a,u,l,c,h,d,p){return MR(a)?MR(u)?!MR(l)&&l<r.length?NR(e,r[l]):!MR(h)&&e&&\"string\"==typeof e[h]?e[h]:(null===o&&(o=i.split(\".\")).unshift(i),!MR(c)&&c<o.length?NR(e,o[c]):\"\"):NR(e,n):\"$\"})}function TR(e,t){for(;t&&t.length>0;){var n=e.tokenizer[t];if(n)return n;var r=t.lastIndexOf(\".\");t=r<0?null:t.substr(0,r)}return null}function FR(e,t,n){return\"boolean\"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function OR(e,t,n){return\"string\"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function PR(e,t){if(\"string\"!=typeof t)return null;for(var n=0;t.indexOf(\"@\")>=0&&n<5;)n++,t=t.replace(/@(\\w+)/g,function(n,r){var i=\"\";return\"string\"==typeof e[r]?i=e[r]:e[r]&&e[r]instanceof RegExp?i=e[r].source:void 0===e[r]?LR(e,\"language definition does not contain attribute '\"+r+\"', used at: \"+t):LR(e,\"attribute reference '\"+r+\"' must be a string, used at: \"+t),MR(i)?\"\":\"(?:\"+i+\")\"});return new RegExp(t,e.ignoreCase?\"i\":\"\")}function BR(e,t,n,r){var i=-1,o=n,s=n.match(/^\\$(([sS]?)(\\d\\d?)|#)(.*)$/);s&&(s[3]&&(i=parseInt(s[3]),s[2]&&(i+=100)),o=s[4]);var a,u=\"~\",l=o;if(o&&0!==o.length?/^\\w*$/.test(l)?u=\"==\":(s=o.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(u=s[1],l=s[2]):(u=\"!=\",l=\"\"),\"~\"!==u&&\"!~\"!==u||!/^(\\w|\\|)*$/.test(l))if(\"@\"===u||\"!@\"===u){var c=e[l];c||LR(e,\"the @ match target '\"+l+\"' is not defined, in rule: \"+t),function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;var n;for(n in t)if(t.hasOwnProperty(n)&&!e(t[n]))return!1;return!0}(function(e){return\"string\"==typeof e},c)||LR(e,\"the @ match target '\"+l+\"' must be an array of strings, in rule: \"+t);var h=fs(c,e.ignoreCase);a=function(e){return\"@\"===u?h(e):!h(e)}}else if(\"~\"===u||\"!~\"===u)if(l.indexOf(\"$\")<0){var d=PR(e,\"^\"+l+\"$\");a=function(e){return\"~\"===u?d.test(e):!d.test(e)}}else a=function(t,n,r,i){return PR(e,\"^\"+kR(e,l,n,r,i)+\"$\").test(t)};else if(l.indexOf(\"$\")<0){var p=NR(e,l);a=function(e){return\"==\"===u?e===p:e!==p}}else{var f=NR(e,l);a=function(t,n,r,i,o){var s=kR(e,f,n,r,i);return\"==\"===u?t===s:t!==s}}else{var g=fs(l.split(\"|\"),e.ignoreCase);a=function(e){return\"~\"===u?g(e):!g(e)}}return-1===i?{name:n,value:r,test:function(e,t,n,r){return a(e,e,t,n,r)}}:{name:n,value:r,test:function(e,t,n,r){var o=function(e,t,n,r){if(r<0)return e;if(r<t.length)return t[r];if(r>=100){r-=100;var i=n.split(\".\");if(i.unshift(n),r<i.length)return i[r]}return null}(e,t,n,i);return a(o||\"\",e,t,n,r)}}}!function(e){e[e.Smooth=0]=\"Smooth\",e[e.Immediate=1]=\"Immediate\"}(XB||(XB={})),function(e){e[e.Off=0]=\"Off\",e[e.On=1]=\"On\",e[e.Relative=2]=\"Relative\",e[e.Interval=3]=\"Interval\",e[e.Custom=4]=\"Custom\"}(JB||(JB={}));var RR=function(){function e(e){this.regex=new RegExp(\"\"),this.action={token:\"\"},this.matchOnlyAtLineStart=!1,this.name=\"\",this.name=e}return e.prototype.setRegex=function(e,t){var n;\"string\"==typeof t?n=t:t instanceof RegExp?n=t.source:LR(e,\"rules must start with a match string or regular expression: \"+this.name),this.matchOnlyAtLineStart=n.length>0&&\"^\"===n[0],this.name=this.name+\": \"+n,this.regex=PR(e,\"^(?:\"+(this.matchOnlyAtLineStart?n.substr(1):n)+\")\")},e.prototype.setAction=function(e,t){this.action=function e(t,n,r){if(r){if(\"string\"==typeof r)return r;if(r.token||\"\"===r.token){if(\"string\"!=typeof r.token)return LR(t,\"a 'token' attribute must be of type string, in rule: \"+n),{token:\"\"};var i={token:r.token};if(r.token.indexOf(\"$\")>=0&&(i.tokenSubst=!0),\"string\"==typeof r.bracket&&(\"@open\"===r.bracket?i.bracket=1:\"@close\"===r.bracket?i.bracket=-1:LR(t,\"a 'bracket' attribute must be either '@open' or '@close', in rule: \"+n)),r.next)if(\"string\"!=typeof r.next)LR(t,\"the next state must be a string value in rule: \"+n);else{var o=r.next;/^(@pop|@push|@popall)$/.test(o)||(\"@\"===o[0]&&(o=o.substr(1)),o.indexOf(\"$\")<0&&(function(e,t){for(;t&&t.length>0;){if(e.stateNames[t])return!0;var n=t.lastIndexOf(\".\");t=n<0?null:t.substr(0,n)}return!1}(t,kR(t,o,\"\",[],\"\"))||LR(t,\"the next state '\"+r.next+\"' is not defined in rule: \"+n))),i.next=o}return\"number\"==typeof r.goBack&&(i.goBack=r.goBack),\"string\"==typeof r.switchTo&&(i.switchTo=r.switchTo),\"string\"==typeof r.log&&(i.log=r.log),\"string\"==typeof r.nextEmbedded&&(i.nextEmbedded=r.nextEmbedded,t.usesEmbedded=!0),i}if(Array.isArray(r)){var s,a=[];for(s in r)r.hasOwnProperty(s)&&(a[s]=e(t,n,r[s]));return{group:a}}if(r.cases){var u,l=[];for(u in r.cases)if(r.cases.hasOwnProperty(u)){var c=e(t,n,r.cases[u]);\"@default\"===u||\"@\"===u||\"\"===u?l.push({test:null,value:c,name:u}):\"@eos\"===u?l.push({test:function(e,t,n,r){return r},value:c,name:u}):l.push(BR(t,n,u,c))}var h=t.defaultToken;return{test:function(e,t,n,r){var i;for(i in l)if(l.hasOwnProperty(i)&&(!l[i].test||l[i].test(e,t,n,r)))return l[i].value;return h}}}return LR(t,\"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: \"+n),\"\"}return{token:\"\"}}(e,this.name,t)},e}();var jR=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new zR(e,t);var n=zR.getStackElementId(e);n.length>0&&(n+=\"|\"),n+=t;var r=this._entries[n];return r||(r=new zR(e,t),this._entries[n]=r,r)},e._INSTANCE=new e(5),e}(),zR=function(){function e(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}return e.getStackElementId=function(e){for(var t=\"\";null!==e;)t.length>0&&(t+=\"|\"),t+=e.state,e=e.parent;return t},e._equals=function(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t},e.prototype.equals=function(t){return e._equals(this,t)},e.prototype.push=function(e){return jR.create(this,e)},e.prototype.pop=function(){return this.parent},e.prototype.popall=function(){for(var e=this;e.parent;)e=e.parent;return e},e.prototype.switchTo=function(e){return jR.create(this.parent,e)},e}(),WR=function(){function e(e,t){this.modeId=e,this.state=t}return e.prototype.equals=function(e){return this.modeId===e.modeId&&this.state.equals(e.state)},e.prototype.clone=function(){return this.state.clone()===this.state?this:new e(this.modeId,this.state)},e}(),VR=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==t)return new HR(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new HR(e,t);var n=zR.getStackElementId(e),r=this._entries[n];return r||(r=new HR(e,null),this._entries[n]=r,r)},e._INSTANCE=new e(5),e}(),HR=function(){function e(e,t){this.stack=e,this.embeddedModeData=t}return e.prototype.clone=function(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:VR.create(this.stack,this.embeddedModeData)},e.prototype.equals=function(t){return t instanceof e&&(!!this.stack.equals(t.stack)&&(null===this.embeddedModeData&&null===t.embeddedModeData||null!==this.embeddedModeData&&null!==t.embeddedModeData&&this.embeddedModeData.equals(t.embeddedModeData)))},e}(),UR=Object.hasOwnProperty,YR=function(){function e(){this._tokens=[],this._language=null,this._lastTokenType=null,this._lastTokenLanguage=null}return e.prototype.enterMode=function(e,t){this._language=t},e.prototype.emit=function(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._language||(this._lastTokenType=t,this._lastTokenLanguage=this._language,this._tokens.push(new go(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,n){var r=t.modeId,i=t.state,o=xi.get(r);if(!o)return this.enterMode(n,r),this.emit(n,\"\"),i;var s=o.tokenize(e,i,n);return this._tokens=this._tokens.concat(s.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._language=null,s.endState},e.prototype.finalize=function(e){return new mo(this._tokens,e)},e}(),ZR=function(){function e(e,t){this._modeService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}return e.prototype.enterMode=function(e,t){this._currentLanguageId=this._modeService.getLanguageIdentifier(t).id},e.prototype.emit=function(e,t){var n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var r=null!==e?e.length:0,i=t.length,o=null!==n?n.length:0;if(0===r&&0===i&&0===o)return new Uint32Array(0);if(0===r&&0===i)return n;if(0===i&&0===o)return e;var s=new Uint32Array(r+i+o);null!==e&&s.set(e);for(var a=0;a<i;a++)s[r+a]=t[a];return null!==n&&s.set(n,r+i),s},e.prototype.nestedModeTokenize=function(t,n,r){var i=n.modeId,o=n.state,s=xi.get(i);if(!s)return this.enterMode(r,i),this.emit(r,\"\"),o;var a=s.tokenize2(t,o,r);return this._prependTokens=e._merge(this._prependTokens,this._tokens,a.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,a.endState},e.prototype.finalize=function(t){return new vo(e._merge(this._prependTokens,this._tokens,null),t)},e}(),GR=function(){function e(e,t,n,r){var i=this;this._modeService=e,this._standaloneThemeService=t,this._modeId=n,this._lexer=r,this._embeddedModes=Object.create(null);var o=!1;this._tokenizationRegistryListener=xi.onDidChange(function(e){if(!o){for(var t=!1,n=0,r=e.changedLanguages.length;n<r;n++){var s=e.changedLanguages[n];if(i._embeddedModes[s]){t=!0;break}}t&&(o=!0,xi.fire([i._modeId]),o=!1)}})}return e.prototype.dispose=function(){this._tokenizationRegistryListener.dispose()},e.prototype.getInitialState=function(){var e=jR.create(null,this._lexer.start);return VR.create(e,null)},e.prototype.tokenize=function(e,t,n){var r=new YR,i=this._tokenize(e,t,n,r);return r.finalize(i)},e.prototype.tokenize2=function(e,t,n){var r=new ZR(this._modeService,this._standaloneThemeService.getTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)},e.prototype._tokenize=function(e,t,n,r){return t.embeddedModeData?this._nestedTokenize(e,t,n,r):this._myTokenize(e,t,n,r)},e.prototype._findLeavingNestedModeOffset=function(e,t){var n=this._lexer.tokenizer[t.stack.state];n||(n=TR(this._lexer,t.stack.state))||LR(this._lexer,\"tokenizer state is not defined: \"+t.stack.state);var r=-1,i=!1;for(var o in n)if(UR.call(n,o)){var s=n[o];if(xR(s.action)&&\"@pop\"===s.action.nextEmbedded){i=!0;var a=s.regex,u=s.regex.source;\"^(?:\"===u.substr(0,4)&&\")\"===u.substr(u.length-1,1)&&(a=new RegExp(u.substr(4,u.length-5),a.ignoreCase?\"i\":\"\"));var l=e.search(a);-1!==l&&(-1===r||l<r)&&(r=l)}}return i||LR(this._lexer,'no rule containing nextEmbedded: \"@pop\" in tokenizer embedded state: '+t.stack.state),r},e.prototype._nestedTokenize=function(e,t,n,r){var i=this._findLeavingNestedModeOffset(e,t);if(-1===i){var o=r.nestedModeTokenize(e,t.embeddedModeData,n);return VR.create(t.stack,new WR(t.embeddedModeData.modeId,o))}var s=e.substring(0,i);s.length>0&&r.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(i);return this._myTokenize(a,t,n+i,r)},e.prototype._myTokenize=function(e,t,n,r){r.enterMode(n,this._modeId);for(var i,o,s=e.length,a=t.embeddedModeData,u=t.stack,l=0,c=null,h=null,d=null,p=null;l<s;){var f=l,g=u.depth,m=c?c.length:0,v=u.state,y=null,b=null,_=null,C=null,w=null;if(c)y=h,b=d.shift(),_=c.shift(),C=p,0===c.length&&(c=null,h=null,d=null,p=null);else{if(l>=s)break;var D=this._lexer.tokenizer[v];D||(D=TR(this._lexer,v))||LR(this._lexer,\"tokenizer state is not defined: \"+v);var E=e.substr(l);for(var A in D)if(UR.call(D,A)){var S=D[A];if((0===l||!S.matchOnlyAtLineStart)&&(y=E.match(S.regex))){b=y[0],_=S.action;break}}}for(y||(y=[\"\"],b=\"\"),_||(l<s&&(b=(y=[e.charAt(l)])[0]),_=this._lexer.defaultToken),l+=b.length;AR(_)&&xR(_)&&_.test;)_=_.test(b,y,v,l===s);var x=null;if(\"string\"==typeof _||Array.isArray(_))x=_;else if(_.group)x=_.group;else if(null!==_.token&&void 0!==_.token){if(x=_.tokenSubst?kR(this._lexer,_.token,b,y,v):_.token,_.nextEmbedded&&(\"@pop\"===_.nextEmbedded?(a||LR(this._lexer,\"cannot pop embedded mode if not inside one\"),a=null):a?LR(this._lexer,\"cannot enter embedded mode from within an embedded mode\"):w=kR(this._lexer,_.nextEmbedded,b,y,v)),_.goBack&&(l=Math.max(0,l-_.goBack)),_.switchTo&&\"string\"==typeof _.switchTo)\"@\"===(M=kR(this._lexer,_.switchTo,b,y,v))[0]&&(M=M.substr(1)),TR(this._lexer,M)?u=u.switchTo(M):LR(this._lexer,\"trying to switch to a state '\"+M+\"' that is undefined in rule: \"+C.name);else if(_.transform&&\"function\"==typeof _.transform)LR(this._lexer,\"action.transform not supported\");else if(_.next)if(\"@push\"===_.next)u.depth>=this._lexer.maxStack?LR(this._lexer,\"maximum tokenizer stack size reached: [\"+u.state+\",\"+u.parent.state+\",...]\"):u=u.push(v);else if(\"@pop\"===_.next)u.depth<=1?LR(this._lexer,\"trying to pop an empty stack in rule: \"+C.name):u=u.pop();else if(\"@popall\"===_.next)u=u.popall();else{var M;\"@\"===(M=kR(this._lexer,_.next,b,y,v))[0]&&(M=M.substr(1)),TR(this._lexer,M)?u=u.push(M):LR(this._lexer,\"trying to set a next state '\"+M+\"' that is undefined in rule: \"+C.name)}_.log&&\"string\"==typeof _.log&&(i=this._lexer,o=this._lexer.languageId+\": \"+kR(this._lexer,_.log,b,y,v),console.log(i.languageId+\": \"+o))}if(null===x&&LR(this._lexer,\"lexer rule has no well-defined action in rule: \"+C.name),Array.isArray(x)){c&&c.length>0&&LR(this._lexer,\"groups cannot be nested: \"+C.name),y.length!==x.length+1&&LR(this._lexer,\"matched number of groups does not match the number of actions in rule: \"+C.name);for(var N=0,I=1;I<y.length;I++)N+=y[I].length;N!==b.length&&LR(this._lexer,\"with groups, all characters should be matched in consecutive groups in rule: \"+C.name),h=y,d=y.slice(1),c=x.slice(0),p=C,l-=b.length}else{if(\"@rematch\"===x&&(l-=b.length,b=\"\",y=null,x=\"\"),0===b.length){if(g!==u.depth||v!==u.state||(c?c.length:0)!==m)continue;LR(this._lexer,\"no progress in tokenizer in rule: \"+C.name),l=s}var L=null;if(SR(x)&&0===x.indexOf(\"@brackets\")){var k=x.substr(\"@brackets\".length),T=KR(this._lexer,b);T||(LR(this._lexer,\"@brackets token returned but no bracket defined as: \"+b),T={token:\"\",bracketType:0}),L=IR(T.token+k)}else{L=IR(\"\"===x?\"\":x+this._lexer.tokenPostfix)}if(r.emit(f+n,L),null!==w){var F=this._modeService.getModeIdForLanguageName(w);F&&(w=F);var O=this._getNestedEmbeddedModeData(w);if(l<s){E=e.substr(l);return this._nestedTokenize(E,VR.create(u,O),n+l,r)}return VR.create(u,O)}}}return VR.create(u,a)},e.prototype._getNestedEmbeddedModeData=function(e){var t=this._locateMode(e);if(t){var n=xi.get(t.getId());if(n)return new WR(t.getId(),n.getInitialState())}var r=t?t.getId():\"vs.editor.nullMode\";return new WR(r,yo)},e.prototype._locateMode=function(e){if(!e||!this._modeService.isRegisteredMode(e))return null;var t=this._modeService.getModeId(e);this._modeService.getOrCreateMode(t);var n=this._modeService.getMode(t);return n?(this._embeddedModes[t]=!0,n):(this._embeddedModes[t]=!0,null)},e}();function KR(e,t){if(!t)return null;t=NR(e,t);for(var n=e.brackets,r=0;r<n.length;r++){var i=n[r];if(i.open===t)return{token:i.token,bracketType:1};if(i.close===t)return{token:i.token,bracketType:-1}}return null}function qR(e){FP.registerLanguage(e)}function QR(){var e=[];return e=e.concat(FP.getLanguages())}function XR(e,t){var n=zB.modeService.get().onDidCreateMode(function(r){r.getId()===e&&(n.dispose(),t())});return n}function JR(e,t){var n=zB.modeService.get().getLanguageIdentifier(e);if(!n)throw new Error(\"Cannot set configuration for unknown language \"+e);return Zo.register(n,t)}var $R,ej=function(){function e(e,t,n){this._standaloneThemeService=e,this._languageIdentifier=t,this._actual=n}return e.prototype.getInitialState=function(){return this._actual.getInitialState()},e.prototype._toClassicTokens=function(e,t,n){for(var r=[],i=0,o=0,s=e.length;o<s;o++){var a=e[o],u=a.startIndex;0===o?u=0:u<i&&(u=i),r[o]=new go(u+n,a.scopes,t),i=u}return r},e.prototype.tokenize=function(e,t,n){var r,i=this._actual.tokenize(e,t),o=this._toClassicTokens(i.tokens,this._languageIdentifier.language,n);return r=i.endState.equals(t)?t:i.endState,new mo(o,r)},e.prototype._toBinaryTokens=function(e,t){for(var n=this._languageIdentifier.id,r=this._standaloneThemeService.getTheme().tokenTheme,i=[],o=0,s=0,a=0,u=e.length;a<u;a++){var l=e[a],c=r.match(n,l.scopes);if(!(o>0&&i[o-1]===c)){var h=l.startIndex;0===a?h=0:h<s&&(h=s),i[o++]=h+t,i[o++]=c,s=h}}var d=new Uint32Array(o);for(a=0;a<o;a++)d[a]=i[a];return d},e.prototype.tokenize2=function(e,t,n){var r,i=this._actual.tokenize(e,t),o=this._toBinaryTokens(i.tokens,n);return r=i.endState.equals(t)?t:i.endState,new vo(o,r)},e}();function tj(e,t){var n=zB.modeService.get().getLanguageIdentifier(e);if(!n)throw new Error(\"Cannot set tokens provider for unknown language \"+e);var r=new ej(zB.standaloneThemeService.get(),n,t);return xi.register(e,r)}function nj(e,t){var n=function(e,t){if(!t||\"object\"!=typeof t)throw new Error(\"Monarch: expecting a language definition object\");var n={};n.languageId=e,n.noThrow=!1,n.maxStack=100,n.start=OR(t.start),n.ignoreCase=FR(t.ignoreCase,!1),n.tokenPostfix=OR(t.tokenPostfix,\".\"+n.languageId),n.defaultToken=OR(t.defaultToken,\"source\",function(){LR(n,\"the 'defaultToken' must be a string\")}),n.usesEmbedded=!1;var r,i=t;function o(e,r,s){var a;for(a in s)if(s.hasOwnProperty(a)){var u=s[a],l=u.include;if(l)\"string\"!=typeof l&&LR(n,\"an 'include' attribute must be a string at: \"+e),\"@\"===l[0]&&(l=l.substr(1)),t.tokenizer[l]||LR(n,\"include target '\"+l+\"' is not defined at: \"+e),o(e+\".\"+l,r,t.tokenizer[l]);else{var c=new RR(e);if(Array.isArray(u)&&u.length>=1&&u.length<=3)if(c.setRegex(i,u[0]),u.length>=3)if(\"string\"==typeof u[1])c.setAction(i,{token:u[1],next:u[2]});else if(\"object\"==typeof u[1]){var h=u[1];h.next=u[2],c.setAction(i,h)}else LR(n,\"a next state as the last element of a rule can only be given if the action is either an object or a string, at: \"+e);else c.setAction(i,u[1]);else u.regex||LR(n,\"a rule must either be an array, or an object with a 'regex' or 'include' field at: \"+e),u.name&&(c.name=OR(u.name)),u.matchOnlyAtStart&&(c.matchOnlyAtLineStart=FR(u.matchOnlyAtLineStart)),c.setRegex(i,u.regex),c.setAction(i,u.action);r.push(c)}}}for(r in i.languageId=e,i.ignoreCase=n.ignoreCase,i.noThrow=n.noThrow,i.usesEmbedded=n.usesEmbedded,i.stateNames=t.tokenizer,i.defaultToken=n.defaultToken,t.tokenizer&&\"object\"==typeof t.tokenizer||LR(n,\"a language definition must define the 'tokenizer' attribute as an object\"),n.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(r)){n.start||(n.start=r);var s=t.tokenizer[r];n.tokenizer[r]=new Array,o(\"tokenizer.\"+r,n.tokenizer[r],s)}n.usesEmbedded=i.usesEmbedded,t.brackets?Array.isArray(t.brackets)||LR(n,\"the 'brackets' attribute must be defined as an array\"):t.brackets=[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}];var a=[];for(var u in t.brackets)if(t.brackets.hasOwnProperty(u)){var l=t.brackets[u];l&&Array.isArray(l)&&3===l.length&&(l={token:l[2],open:l[0],close:l[1]}),l.open===l.close&&LR(n,\"open and close brackets in a 'brackets' attribute must be different: \"+l.open+\"\\n hint: use the 'bracket' attribute if matching on equal brackets is required.\"),\"string\"==typeof l.open&&\"string\"==typeof l.token?a.push({token:OR(l.token)+n.tokenPostfix,open:NR(n,OR(l.open)),close:NR(n,OR(l.close))}):LR(n,\"every element in the 'brackets' array must be a '{open,close,token}' object or array\")}return n.brackets=a,n.noThrow=!0,n}(e,t),r=function(e,t,n,r){return new GR(e,t,n,r)}(zB.modeService.get(),zB.standaloneThemeService.get(),e,n);return xi.register(e,r)}function rj(e,t){return li.register(e,t)}function ij(e,t){return ci.register(e,t)}function oj(e,t){return di.register(e,t)}function sj(e,t){return pi.register(e,{provideHover:function(e,n,r){var i=e.getWordAtPosition(n);return Ol(t.provideHover(e,n,r)).then(function(e){if(e)return!e.range&&i&&(e.range=new be(n.lineNumber,i.startColumn,n.lineNumber,i.endColumn)),e.range||(e.range=new be(n.lineNumber,n.column,n.lineNumber,n.column)),e})}})}function aj(e,t){return fi.register(e,t)}function uj(e,t){return gi.register(e,t)}function lj(e,t){return mi.register(e,t)}function cj(e,t){return vi.register(e,t)}function hj(e,t){return yi.register(e,t)}function dj(e,t){return bi.register(e,t)}function pj(e,t){return _i.register(e,{provideCodeActions:function(e,n,r,i){var o=zB.markerService.get().read({resource:e.uri}).filter(function(e){return be.areIntersectingOrTouching(e,n)});return t.provideCodeActions(e,n,{markers:o,only:r.only},i)}})}function fj(e,t){return Ci.register(e,t)}function gj(e,t){return wi.register(e,t)}function mj(e,t){return Di.register(e,t)}function vj(e,t){return Ei.register(e,t)}function yj(e,t){var n=new Cj(t);return hi.register(e,{triggerCharacters:t.triggerCharacters,provideCompletionItems:function(e,t,r,i){return n.provideCompletionItems(e,t,r,i)},resolveCompletionItem:function(e,t,r,i){return n.resolveCompletionItem(e,t,r,i)}})}function bj(e,t){return Ai.register(e,t)}function _j(e,t){return Si.register(e,t)}!function(e){e[e.Text=0]=\"Text\",e[e.Method=1]=\"Method\",e[e.Function=2]=\"Function\",e[e.Constructor=3]=\"Constructor\",e[e.Field=4]=\"Field\",e[e.Variable=5]=\"Variable\",e[e.Class=6]=\"Class\",e[e.Interface=7]=\"Interface\",e[e.Module=8]=\"Module\",e[e.Property=9]=\"Property\",e[e.Unit=10]=\"Unit\",e[e.Value=11]=\"Value\",e[e.Enum=12]=\"Enum\",e[e.Keyword=13]=\"Keyword\",e[e.Snippet=14]=\"Snippet\",e[e.Color=15]=\"Color\",e[e.File=16]=\"File\",e[e.Reference=17]=\"Reference\",e[e.Folder=18]=\"Folder\"}($R||($R={}));var Cj=function(){function e(e){this._provider=e}return e.from=function(e,t,n){var r={_actual:e,label:e.label,insertText:e.label,type:function(e){switch(e){case $R.Method:return\"method\";case $R.Function:return\"function\";case $R.Constructor:return\"constructor\";case $R.Field:return\"field\";case $R.Variable:return\"variable\";case $R.Class:return\"class\";case $R.Interface:return\"interface\";case $R.Module:return\"module\";case $R.Property:return\"property\";case $R.Unit:return\"unit\";case $R.Value:return\"value\";case $R.Enum:return\"enum\";case $R.Keyword:return\"keyword\";case $R.Snippet:return\"snippet\";case $R.Text:return\"text\";case $R.Color:return\"color\";case $R.File:return\"file\";case $R.Reference:return\"reference\";case $R.Folder:return\"folder\"}return\"property\"}(e.kind),detail:e.detail,documentation:e.documentation,command:e.command,sortText:e.sortText,filterText:e.filterText,snippetType:\"internal\",additionalTextEdits:e.additionalTextEdits,commitCharacters:e.commitCharacters},i=e.textEdit?e.textEdit.range:e.range;if(i){if(!(i.startLineNumber===i.endLineNumber)||i.startLineNumber!==t.lineNumber)return console.warn(\"INVALID range, must be single line and on the same line\"),null;r.overwriteBefore=t.column-i.startColumn,r.overwriteAfter=i.endColumn-t.column}else r.overwriteBefore=t.column-n.column,r.overwriteAfter=0;return e.textEdit?r.insertText=e.textEdit.text:\"object\"==typeof e.insertText&&\"string\"==typeof e.insertText.value?(r.insertText=e.insertText.value,r.snippetType=\"textmate\"):\"string\"==typeof e.insertText&&(r.insertText=e.insertText),r},e.prototype.provideCompletionItems=function(t,n,r,i){return Ol(this._provider.provideCompletionItems(t,n,i,r)).then(function(r){var i,o={suggestions:[]},s=n,a=t.getWordUntilPosition(n);if(a&&(s=new ye(s.lineNumber,a.startColumn)),Array.isArray(r))i={items:r,isIncomplete:!1};else if(\"object\"==typeof r&&Array.isArray(r.items))i=r,o.incomplete=i.isIncomplete;else{if(!r)return;console.warn(\"INVALID result from completion provider. expected CompletionItem-array or CompletionList but got:\",r)}for(var u=0;u<i.items.length;u++){var l=i.items[u],c=e.from(l,n,s);c&&o.suggestions.push(c)}return o})},e.prototype.resolveCompletionItem=function(t,n,r,i){if(\"function\"!=typeof this._provider.resolveCompletionItem)return cn.b.as(r);var o=r._actual;return o?Ol(this._provider.resolveCompletionItem(o,i)).then(function(r){var i=n,o=t.getWordUntilPosition(n);return o&&(i=new ye(i.lineNumber,o.startColumn)),e.from(r,n,i)}):cn.b.as(r)},e}();var wj=function(){function e(e){cn.a.is(e)?this._winjsPromise=e:this._winjsPromise=new cn.a(function(t,n){var r=!0;e(function(e){r?we.h(function(){return t(e)}):t(e)},function(e){r?we.h(function(){return n(e)}):n(e)}),r=!1})}return e.all=function(t){return new e(cn.a.join(t).then(null,function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t]}))},e.race=function(t){return new e(cn.a.any(t).then(function(e){return e.value},function(e){return e.value}))},e.resolve=function(t){return new e(cn.a.wrap(t))},e.reject=function(t){return new e(cn.a.wrapError(t))},e.prototype.then=function(t,n){var r=!0,i=new e(this._winjsPromise.then(t&&function(e){r?we.h(function(){return t(e)}):t(e)},n&&function(e){r?we.h(function(){return n(e)}):n(e)}));return r=!1,i},e.prototype.catch=function(e){return this.then(null,e)},e}(),Dj=self;void 0===Dj.Promise&&(Dj.Promise=wj),ks.wrappingIndent=vs.None,ks.viewInfo.glyphMargin=!1,ks.autoIndent=!1;var Ej=MF();Ej.editor={create:rR,onDidCreateEditor:iR,createDiffEditor:oR,createDiffNavigator:sR,createModel:uR,setModelLanguage:lR,setModelMarkers:cR,getModelMarkers:hR,getModels:pR,getModel:dR,onDidCreateModel:fR,onWillDisposeModel:gR,onDidChangeModelLanguage:mR,createWebWorker:vR,colorizeElement:yR,colorize:bR,colorizeModelLine:_R,tokenize:wR,defineTheme:DR,setTheme:ER,ScrollbarVisibility:rs,WrappingIndent:vs,OverviewRulerLane:Ln,EndOfLinePreference:kn,DefaultEndOfLine:Tn,EndOfLineSequence:Fn,TrackedRangeStickiness:Pn,CursorChangeReason:La,MouseTargetType:ju,TextEditorCursorStyle:bs,TextEditorCursorBlinkingStyle:ys,ContentWidgetPositionPreference:Bu,OverlayWidgetPositionPreference:Ru,RenderMinimap:ms,ScrollType:XB,RenderLineNumbersType:JB,InternalEditorOptions:Cs,BareFontInfo:wp,FontInfo:Dp,TextModelResolvedOptions:Bn,FindMatch:Rn,EditorType:_e},Ej.languages={register:qR,getLanguages:QR,onLanguage:XR,setLanguageConfiguration:JR,setTokensProvider:tj,setMonarchTokensProvider:nj,registerReferenceProvider:rj,registerRenameProvider:ij,registerCompletionItemProvider:yj,registerSignatureHelpProvider:oj,registerHoverProvider:sj,registerDocumentSymbolProvider:aj,registerDocumentHighlightProvider:uj,registerDefinitionProvider:lj,registerImplementationProvider:cj,registerTypeDefinitionProvider:hj,registerCodeLensProvider:dj,registerCodeActionProvider:pj,registerDocumentFormattingEditProvider:fj,registerDocumentRangeFormattingEditProvider:gj,registerOnTypeFormattingEditProvider:mj,registerLinkProvider:vj,registerColorProvider:bj,registerFoldingRangeProvider:_j,DocumentHighlightKind:ei,CompletionItemKind:$R,SymbolKind:ti,IndentAction:To,SuggestTriggerKind:$r,FoldingRangeKind:oi};var Aj=Ej.CancellationTokenSource,Sj=Ej.Emitter,xj=Ej.KeyCode,Mj=Ej.KeyMod,Nj=Ej.Position,Ij=Ej.Range,Lj=Ej.Selection,kj=Ej.SelectionDirection,Tj=Ej.Severity,Fj=Ej.MarkerSeverity,Oj=Ej.Promise,Pj=Ej.Uri,Bj=Ej.Token,Rj=Ej.editor,jj=Ej.languages;Dj.monaco=Ej,void 0!==Dj.require&&\"function\"==typeof Dj.require.config&&Dj.require.config({ignoreDuplicateModules:[\"vscode-languageserver-types\",\"vscode-languageserver-types/main\",\"vscode-nls\",\"vscode-nls/vscode-nls\",\"jsonc-parser\",\"jsonc-parser/main\",\"vscode-uri\",\"vscode-uri/index\"]});var zj=monaco.Emitter,Wj=new(function(){function e(e,t){this._onDidChange=new zj,this._languageId=e,this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,\"onDidChange\",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"languageId\",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"diagnosticsOptions\",{get:function(){return this._diagnosticsOptions},enumerable:!0,configurable:!0}),e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e}())(\"json\",{validate:!0,allowComments:!0,schemas:[]});monaco.languages.json={jsonDefaults:Wj},monaco.languages.register({id:\"json\",extensions:[\".json\",\".bowerrc\",\".jshintrc\",\".jscsrc\",\".eslintrc\",\".babelrc\"],aliases:[\"JSON\",\"json\"],mimetypes:[\"application/json\"]}),monaco.languages.onLanguage(\"json\",function(){monaco.Promise.wrap(n.e(6).then(n.bind(null,541))).then(function(e){return e.setupMode(Wj)})});var Vj=\"undefined\"==typeof monaco?self.monaco:monaco,Hj={};var Uj={};function Yj(e){return Uj[e]||(Uj[e]=function(e){return(0,Hj[e].loader)().then(function(t){Vj.languages.setMonarchTokensProvider(e,t.language),Vj.languages.setLanguageConfiguration(e,t.conf)})}(e)),Uj[e]}var Zj,Gj,Kj=\"undefined\"==typeof monaco?self.monaco:monaco;Gj=(Zj={id:\"markdown\",extensions:[\".md\",\".markdown\",\".mdown\",\".mkdn\",\".mkd\",\".mdwn\",\".mdtxt\",\".mdtext\"],aliases:[\"Markdown\",\"markdown\"],loader:function(){return Kj.Promise.wrap(n.e(5).then(n.bind(null,540)))}}).id,Hj[Gj]=Zj,Vj.languages.register(Zj),Vj.languages.onLanguage(Gj,function(){Yj(Gj)});const qj=Pw,Qj={id:\"L1\",extensions:[\".l1\",\".L1\"]};jj.register(Qj),jj.setLanguageConfiguration(\"L1\",{comments:{lineComment:\";\"}}),Rj.defineTheme(\"L1\",{base:\"vs\",inherit:!0,rules:[{token:\"operator\",foreground:\"ff0000\"},{token:\"identifier\",foreground:\"3b8e23\"},{token:\"symbol\",foreground:\"327a1f\"},{token:\"type.identifier\",foreground:\"1459a9\"},{token:\"number\",foreground:\"b1871b\"},{token:\"string\",foreground:\"c225ca\"},{token:\"comment\",foreground:\"73c0e2\"}]}),jj.setMonarchTokensProvider(\"L1\",{brackets:[[\"{\",\"}\",\"delimiter.curly\"],[\"[\",\"]\",\"delimiter.square\"],[\"(\",\")\",\"delimiter.parenthesis\"],[\"<\",\">\",\"delimiter.angle\"]],tokenizer:{root:[[/-?[0-9][0-9_]*(\\.[0-9_]*)?/,\"number\"],[/(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])((?:[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD81B[\\uDE60-\\uDE7F]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43])|(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])|[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]|(?:[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0\\uDFE1])|(?:[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D])|[\\x2D0-9_])*/,\"type.identifier\"],[/#((?:[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD81B[\\uDE60-\\uDE7F]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43])|(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])|[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]|(?:[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0\\uDFE1])|(?:[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]))((?:[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD81B[\\uDE60-\\uDE7F]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43])|(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])|[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]|(?:[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0\\uDFE1])|(?:[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D])|[\\x2D0-9_])*/,\"symbol\"],[/((?:[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD81B[\\uDE60-\\uDE7F]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43])|(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])|[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]|(?:[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0\\uDFE1])|(?:[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]))((?:[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD81B[\\uDE60-\\uDE7F]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43])|(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])|[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]|(?:[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F]|\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0\\uDFE1])|(?:[\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D])|[\\x2D0-9_])*/,\"identifier\"],[/[{}()\\[\\]]/,\"@brackets\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string\"}],[/[;].*$/,\"comment\"],[/((?:[!-#%-'\\*,\\.\\/:;\\?@\\\\\\xA1\\xA7\\xB6\\xB7\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u166D\\u166E\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u1805\\u1807-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2016\\u2017\\u2020-\\u2027\\u2030-\\u2038\\u203B-\\u203E\\u2041-\\u2043\\u2047-\\u2051\\u2053\\u2055-\\u205E\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00\\u2E01\\u2E06-\\u2E08\\u2E0B\\u2E0E-\\u2E16\\u2E18\\u2E19\\u2E1B\\u2E1E\\u2E1F\\u2E2A-\\u2E2E\\u2E30-\\u2E39\\u2E3C-\\u2E3F\\u2E41\\u2E43-\\u2E4E\\u3001-\\u3003\\u303D\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFE10-\\uFE16\\uFE19\\uFE30\\uFE45\\uFE46\\uFE49-\\uFE4C\\uFE50-\\uFE52\\uFE54-\\uFE57\\uFE5F-\\uFE61\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF07\\uFF0A\\uFF0C\\uFF0E\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3C\\uFF61\\uFF64\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F])|(?:[\\+<->\\|~\\xAC\\xB1\\xD7\\xF7\\u03F6\\u0606-\\u0608\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u2118\\u2140-\\u2144\\u214B\\u2190-\\u2194\\u219A\\u219B\\u21A0\\u21A3\\u21A6\\u21AE\\u21CE\\u21CF\\u21D2\\u21D4\\u21F4-\\u22FF\\u2320\\u2321\\u237C\\u239B-\\u23B3\\u23DC-\\u23E1\\u25B7\\u25C1\\u25F8-\\u25FF\\u266F\\u27C0-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u27FF\\u2900-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2AFF\\u2B30-\\u2B44\\u2B47-\\u2B4C\\uFB29\\uFE62\\uFE64-\\uFE66\\uFF0B\\uFF1C-\\uFF1E\\uFF5C\\uFF5E\\uFFE2\\uFFE9-\\uFFEC]|\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD83B[\\uDEF0\\uDEF1])|[\\x2D\\^])/,\"operator\"]],string:[[/[^\\\\\"]+/,\"string\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]]}});const Xj=[\"Shape\",\"Rank\",\"Min\",\"Max\",\"RankUp\",\"Transpose\",\"RandomNormal\",\"RandomUniform\"];jj.registerCompletionItemProvider(\"L1\",{provideCompletionItems:()=>[...Xj.map(e=>({label:e,kind:jj.CompletionItemKind.Function,documentation:\"mu\"})),{label:\"ifelse\",kind:jj.CompletionItemKind.Snippet,insertText:{value:[\"if (${1:condition}) {\",\"\\t$0\",\"} else {\",\"\\t\",\"}\"].join(\"\\n\")},documentation:\"If-Else Statement\"}]});var Jj=i;class $j extends a.PureComponent{constructor(...e){super(...e),d()(this,\"container\",null),d()(this,\"editor\",null),d()(this,\"decorations\",[]),d()(this,\"viewZones\",[]),d()(this,\"markers\",[]),d()(this,\"issues\",new fe),d()(this,\"_forced\",!1),d()(this,\"_mount\",async e=>{if(this.container=e,this.container){new ce.a(\"Fira Code\").load().then(this.instantiateEditor,e=>{console.log(\"Could not load the font\")})}}),d()(this,\"instantiateEditor\",()=>{const e={value:this.props.content,language:this.props.language,theme:\"L1\",fontFamily:\"Fira Code\",fontSize:16,fontLigatures:!0,tabSize:this.props.tabSize,readOnly:this.props.readOnly,glyphMargin:!0,lineNumbersMinChars:2,lineDecorationsWidth:0,wordWrap:\"bounded\",wrappingIndent:\"indent\",autoIndent:!0,formatOnType:!0,minimap:{enabled:!1},scrollBeyondLastLine:!0,scrollbar:{useShadows:!0,verticalScrollbarSize:5,vertical:\"visible\",horizontalScrollbarSize:5,horizontal:\"hidden\"}};this.editor=Jj.editor.create(this.container,e),window.addEventListener(\"resize\",e=>{this.editor.layout()}),this.editor.onDidChangeModelContent(e=>{const t=this.props.onChange;if(ue(t)){const e=this.editor.getValue();this.issues.next(null),t.apply(null,[e,this.editor,this.issues,this._forced])}}),this.editor.addAction({id:\"executeCode\",label:\"Execute Code\",keybindings:[Jj.KeyMod.CtrlCmd|Jj.KeyCode.Enter],run:e=>{const t=this.props.onExecute;return ue(t)&&(this.issues.next(null),t.apply(null,[e,this.issues])),null}}),this.editor.addAction({id:\"save\",label:\"Save\",keybindings:[Jj.KeyMod.CtrlCmd|Jj.KeyCode.KEY_S],run:e=>{const t=this.props.onSave;return ue(t)&&t(),null}}),this.subscribeToIssues(),this.editor.getAction(\"executeCode\").run()}),d()(this,\"setDecorations\",e=>{const t=e.map(nz),n=e.map(rz);this.editor.changeViewZones(t=>{this.viewZones.forEach(e=>t.removeZone(e)),this.viewZones=e.map(e=>{const n=document.createElement(\"div\");return this.renderIssue(e,n),t.addZone({afterLineNumber:e.startLineNumber,heightInLines:0,domNode:n})})}),this.decorations=this.editor.deltaDecorations(this.decorations,n),Jj.editor.setModelMarkers(this.editor.getModel(),\"test\",t)})}subscribeToIssues(){this.issues.pipe(function(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new me(e,t,n))}}((e,t)=>null===t?[]:[...e,t],[])).subscribe(this.setDecorations)}renderIssue(e,t){s.a.render(u.a.createElement(ez,e),t)}setContent(e){this._forced=!0,this.editor.setValue(e),this._forced=!1}render(){return u.a.createElement(\"div\",{className:\"editor-container\"},u.a.createElement(\"div\",{style:{width:\"100%\",height:\"100%\"},ref:this._mount}))}}d()($j,\"defaultProps\",{onChange:()=>{},onExecute:()=>{},onSave:()=>{},defaultValue:\"\",language:\"L1\",readOnly:!1,tabSize:4});const ez=e=>u.a.createElement(\"div\",{className:`message ${e.severity}`},u.a.createElement(\"span\",null,e.message)),tz={error:Jj.Severity.Error,warning:Jj.Severity.Warning,info:Jj.Severity.Info},nz=e=>({startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.endLineNumber,endColumn:e.endColumn,message:e.message,severity:tz[e.severity]}),rz=e=>({range:new Jj.Range(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn),options:{isWholeLine:!0,className:`inlineDecoration ${e.severity}`,glyphMarginClassName:`glyphDecoration ${e.severity}`,glyphMarginHoverMessage:e.message}});var iz=n(50),oz=n.n(iz),sz=n(233),az=n.n(sz),uz=Object.prototype;var lz=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||uz)};var cz=function(e,t){return function(n){return e(t(n))}},hz=cz(Object.keys,Object),dz=Object.prototype.hasOwnProperty;var pz,fz=function(e){if(!lz(e))return hz(e);var t=[];for(var n in Object(e))dz.call(e,n)&&\"constructor\"!=n&&t.push(n);return t},gz=U.a[\"__core-js_shared__\"],mz=(pz=/[^.]+$/.exec(gz&&gz.keys&&gz.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+pz:\"\";var vz=function(e){return!!mz&&mz in e},yz=Function.prototype.toString;var bz=function(e){if(null!=e){try{return yz.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"},_z=/^\\[object .+?Constructor\\]$/,Cz=Function.prototype,wz=Object.prototype,Dz=Cz.toString,Ez=wz.hasOwnProperty,Az=RegExp(\"^\"+Dz.call(Ez).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");var Sz=function(e){return!(!re(e)||vz(e))&&(ue(e)?Az:_z).test(bz(e))};var xz=function(e,t){return null==e?void 0:e[t]};var Mz=function(e,t){var n=xz(e,t);return Sz(n)?n:void 0},Nz=Mz(U.a,\"DataView\"),Iz=Mz(U.a,\"Map\"),Lz=Mz(U.a,\"Promise\"),kz=Mz(U.a,\"Set\"),Tz=Mz(U.a,\"WeakMap\"),Fz=bz(Nz),Oz=bz(Iz),Pz=bz(Lz),Bz=bz(kz),Rz=bz(Tz),jz=ne;(Nz&&\"[object DataView]\"!=jz(new Nz(new ArrayBuffer(1)))||Iz&&\"[object Map]\"!=jz(new Iz)||Lz&&\"[object Promise]\"!=jz(Lz.resolve())||kz&&\"[object Set]\"!=jz(new kz)||Tz&&\"[object WeakMap]\"!=jz(new Tz))&&(jz=function(e){var t=ne(e),n=\"[object Object]\"==t?e.constructor:void 0,r=n?bz(n):\"\";if(r)switch(r){case Fz:return\"[object DataView]\";case Oz:return\"[object Map]\";case Pz:return\"[object Promise]\";case Bz:return\"[object Set]\";case Rz:return\"[object WeakMap]\"}return t});var zz=jz;var Wz=function(e){return null!=e&&\"object\"==typeof e},Vz=\"[object Arguments]\";var Hz=function(e){return Wz(e)&&ne(e)==Vz},Uz=Object.prototype,Yz=Uz.hasOwnProperty,Zz=Uz.propertyIsEnumerable,Gz=Hz(function(){return arguments}())?Hz:function(e){return Wz(e)&&Yz.call(e,\"callee\")&&!Zz.call(e,\"callee\")},Kz=Array.isArray,qz=9007199254740991;var Qz=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=qz};var Xz=function(e){return null!=e&&Qz(e.length)&&!ue(e)},Jz=n(38),$z={};$z[\"[object Float32Array]\"]=$z[\"[object Float64Array]\"]=$z[\"[object Int8Array]\"]=$z[\"[object Int16Array]\"]=$z[\"[object Int32Array]\"]=$z[\"[object Uint8Array]\"]=$z[\"[object Uint8ClampedArray]\"]=$z[\"[object Uint16Array]\"]=$z[\"[object Uint32Array]\"]=!0,$z[\"[object Arguments]\"]=$z[\"[object Array]\"]=$z[\"[object ArrayBuffer]\"]=$z[\"[object Boolean]\"]=$z[\"[object DataView]\"]=$z[\"[object Date]\"]=$z[\"[object Error]\"]=$z[\"[object Function]\"]=$z[\"[object Map]\"]=$z[\"[object Number]\"]=$z[\"[object Object]\"]=$z[\"[object RegExp]\"]=$z[\"[object Set]\"]=$z[\"[object String]\"]=$z[\"[object WeakMap]\"]=!1;var eW=function(e){return Wz(e)&&Qz(e.length)&&!!$z[ne(e)]};var tW=function(e){return function(t){return e(t)}},nW=n(174),rW=nW.a&&nW.a.isTypedArray,iW=rW?tW(rW):eW,oW=\"[object Map]\",sW=\"[object Set]\",aW=Object.prototype.hasOwnProperty;var uW=function(e){if(null==e)return!0;if(Xz(e)&&(Kz(e)||\"string\"==typeof e||\"function\"==typeof e.splice||Object(Jz.a)(e)||iW(e)||Gz(e)))return!e.length;var t=zz(e);if(t==oW||t==sW)return!e.size;if(lz(e))return!fz(e).length;for(var n in e)if(aW.call(e,n))return!1;return!0},lW=n(234),cW=n.n(lW);const hW={operation:\"eval\",actions:{Program:function(e){return c()({},fW(this.source),{type:\"Program\",value:e.eval()})},Assignment_normal:function(e,t,n,r,i){const o=\"_\"===e.sourceString,s=t.eval(),a=r.eval();return c()({},fW(this.source),{type:\"Assignment\",path:s,value:a,silent:o})},Assignment_import:function(e,t,n){const r=t.eval();return c()({},fW(this.source),{type:\"Assignment\",path:c()({},fW(this.source),{type:\"Path\",value:[r.value.slice(-1).pop()]}),value:c()({},fW(this.source),{type:\"Reference\",value:r})})},FunctionApplication:function(e,t){return t=t.eval(),e=e.eval(),uW(t)?e:c()({},fW(this.source),{type:\"FunctionApplication\",direction:\"backward\",function:e,argument:t[0]})},Pipeline_binary:function(e,t,n){let r=e.eval();return c()({},fW(this.source),{type:\"FunctionApplication\",direction:\"forward\",function:n.eval(),argument:r})},Path:function(e){return c()({},fW(this.source),{type:\"Path\",value:e.eval()})},Function:function(e,t,n){return c()({},fW(this.source),{type:\"Function\",argument:e.eval(),value:n.eval()})},Object:function(e,t,n){return c()({},fW(this.source),{type:\"Object\",value:t.eval()})},Matrix:function(e,t,n){return c()({},fW(this.source),{type:\"TensorLiteral\",rank:2,value:t.eval()})},Vector:function(e,t,n){return c()({},fW(this.source),{type:\"TensorLiteral\",rank:1,value:t.eval()})},Scalar:function(e){return c()({},fW(this.source),{type:\"TensorLiteral\",rank:0,value:e.eval()})},Addition_binary:function(e,t,n){return pW(e,t,n,this.source)},Multiplication_binary:function(e,t,n){return pW(e,t,n,this.source)},Exponentiation_binary:function(e,t,n){return pW(e,t,n,this.source)},Access_binary:function(e,t,n){return pW(e,t,n,this.source)},PrimitiveExpression_tensor:function(e){return c()({},fW(this.source),{type:\"Tensor\",value:e.eval()})},Addition_sum:function(e,t){return dW(e,t,this.source)},Addition_negative:function(e,t){return dW(e,t,this.source)},Multiplication_product:function(e,t){return dW(e,t,this.source)},Multiplication_reciprocal:function(e,t){return dW(e,t,this.source)},PrimitiveExpression_magic:function(e,t){return dW(e,t,this.source)},PrimitiveExpression_paren:function(e,t,n){return t.eval()},PrimitiveExpression_none1:function(e,t){return c()({},fW(this.source),gW)},PrimitiveExpression_none2:function(e){return c()({},fW(this.source),gW)},PrimitiveExpression_emptyTensor:function(e,t){return c()({},fW(this.source),{type:\"Tensor\",value:{type:\"TensorLiteral\",rank:0,value:[]}})},Reference:function(e){return c()({},fW(this.source),{type:\"Reference\",value:e.eval()})},row:function(e,t,n){return t.eval()},rows:function(e){return e.eval()},identifier:function(e,t){return this.sourceString},symbol:function(e,t){return Symbol.for(t.eval())},number:function(e,t,n,r){const i=this.sourceString.replace(/_/g,\"\");return parseFloat(i,10)},string:function(e,t,n){return c()({},fW(this.source),{type:\"String\",value:cW()(t.sourceString)})},nonemptyListOf:function(e,t,n){return[e.eval()].concat(n.eval())}}},dW=(e,t,n)=>c()({},fW(n),{type:\"Operation\",operator:e.sourceString,left:gW,right:t.eval()}),pW=(e,t,n,r)=>c()({},fW(r),{type:\"Operation\",operator:t.sourceString,left:e.eval(),right:n.eval()}),fW=e=>({_source:yW(e.sourceString,e.startIdx,e.endIdx)}),gW={type:\"None\"};var mW=hW;var vW=new class{constructor(){d()(this,\"grammar\",null),d()(this,\"semantics\",null),d()(this,\"parse\",(e,t)=>new Promise(n=>{n(this.parseSync(e,t))})),d()(this,\"parseSync\",(e,t)=>{const n=this.grammar.match(e);if(n.succeeded()){const e=this.semantics(n);return{result:e[mW.operation].call(e)}}{const r=c()({},yW(e,n.getRightmostFailurePosition()),{message:\"Expected \"+n.getExpectedText(),severity:\"error\"});return t.next(r),{result:null}}}),this.grammar=oz.a.grammar(az.a),this.semantics=this.grammar.createSemantics().addOperation(mW.operation,mW.actions)}};const yW=(e,t,n)=>{n=n||t;const r=bW(e,t),i=bW(e,n);return{startLineNumber:r.lineNum,startColumn:r.colNum,endLineNumber:i.lineNum,endColumn:i.colNum,_value:e.substring(t,n)}},bW=function(e,t){for(var n=1,r=1,i=0,o=0,s=null,a=null,u=-1;i<t;){var l=e.charAt(i++);\"\\n\"===l?(n++,r=1,u=o,o=i):\"\\r\"!==l&&r++}var c=e.indexOf(\"\\n\",o);if(-1===c)c=e.length;else{var h=e.indexOf(\"\\n\",c+1);s=(s=-1===h?e.slice(c):e.slice(c,h)).replace(/^\\r?\\n/,\"\").replace(/\\r$/,\"\")}return u>=0&&(a=e.slice(u,o).replace(/\\r?\\n$/,\"\")),{lineNum:n,colNum:r,line:e.slice(o,c).replace(/\\r$/,\"\"),prevLine:a,nextLine:s}};var _W=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t.prototype.notifyNext=function(e,t,n,r,i){this.destination.next(t)},t.prototype.notifyError=function(e,t){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.complete()},t}(L),CW=function(e){function t(t,n,r){var i=e.call(this)||this;return i.parent=t,i.outerValue=n,i.outerIndex=r,i.index=0,i}return g(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(L),wW=function(e){return function(t){return e.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,b),t}};var DW=function(){return\"function\"==typeof Symbol&&Symbol.iterator?Symbol.iterator:\"@@iterator\"}(),EW=function(e){return function(t){for(var n=e[DW]();;){var r=n.next();if(r.done){t.complete();break}if(t.next(r.value),t.closed)break}return\"function\"==typeof n.return&&t.add(function(){n.return&&n.return()}),t}},AW=function(e){return function(t){var n=e[T]();if(\"function\"!=typeof n.subscribe)throw new TypeError(\"Provided object does not correctly implement Symbol.observable\");return n.subscribe(t)}},SW=function(e){return e&&\"number\"==typeof e.length&&\"function\"!=typeof e};function xW(e){return e&&\"function\"!=typeof e.subscribe&&\"function\"==typeof e.then}var MW=function(e){if(e instanceof P)return function(t){return e._isScalar?(t.next(e.value),void t.complete()):e.subscribe(t)};if(e&&\"function\"==typeof e[T])return AW(e);if(SW(e))return R(e);if(xW(e))return wW(e);if(e&&\"function\"==typeof e[DW])return EW(e);var t=w(e)?\"an invalid object\":\"'\"+e+\"'\";throw new TypeError(\"You provided \"+t+\" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.\")};function NW(e,t,n,r){var i=new CW(e,n,r);return MW(t)(i)}var IW={};function LW(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=null,r=null;return p(e[e.length-1])&&(r=e.pop()),\"function\"==typeof e[e.length-1]&&(n=e.pop()),1===e.length&&C(e[0])&&(e=e[0]),j(e,r).lift(new kW(n))}var kW=function(){function e(e){this.resultSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new TW(e,this.resultSelector))},e}(),TW=function(e){function t(t,n){var r=e.call(this,t)||this;return r.resultSelector=n,r.active=0,r.values=[],r.observables=[],r}return g(t,e),t.prototype._next=function(e){this.values.push(IW),this.observables.push(e)},t.prototype._complete=function(){var e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(var n=0;n<t;n++){var r=e[n];this.add(NW(this,r,r,n))}}},t.prototype.notifyComplete=function(e){0==(this.active-=1)&&this.destination.complete()},t.prototype.notifyNext=function(e,t,n,r,i){var o=this.values,s=o[n],a=this.toRespond?s===IW?--this.toRespond:this.toRespond:0;o[n]=t,0===a&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))},t.prototype._tryResultSelector=function(e){var t;try{t=this.resultSelector.apply(this,e)}catch(e){return void this.destination.error(e)}this.destination.next(t)},t}(_W);function FW(e,t,n){return function(r){return r.lift(new OW(e,t,n))}}var OW=function(){function e(e,t,n){this.nextOrObserver=e,this.error=t,this.complete=n}return e.prototype.call=function(e,t){return t.subscribe(new PW(e,this.nextOrObserver,this.error,this.complete))},e}(),PW=function(e){function t(t,n,r,i){var o=e.call(this,t)||this;return o._tapNext=F,o._tapError=F,o._tapComplete=F,o._tapError=r||F,o._tapComplete=i||F,m(n)?(o._context=o,o._tapNext=n):n&&(o._context=n,o._tapNext=n.next||F,o._tapError=n.error||F,o._tapComplete=n.complete||F),o}return g(t,e),t.prototype._next=function(e){try{this._tapNext.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.next(e)},t.prototype._error=function(e){try{this._tapError.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.error(e)},t.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()},t}(L);function BW(e,t){return function(n){if(\"function\"!=typeof e)throw new TypeError(\"argument is not a function. Are you looking for `mapTo()`?\");return n.lift(new RW(e,t))}}var RW=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new jW(e,this.project,this.thisArg))},e}(),jW=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.project=n,i.count=0,i.thisArg=r||i,i}return g(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}this.destination.next(t)},t}(L),zW=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return g(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):t.flush(this)},t}(function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return g(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error(\"executing a cancelled action\");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(e){n=!0,r=!!e&&e||new Error(e)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(function(e){function t(t,n){return e.call(this)||this}return g(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(M))),WW=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}(),VW=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t}(function(e){function t(n,r){void 0===r&&(r=WW.now);var i=e.call(this,n,function(){return t.delegate&&t.delegate!==i?t.delegate.now():r()})||this;return i.actions=[],i.active=!1,i.scheduled=void 0,i}return g(t,e),t.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,i):e.prototype.schedule.call(this,n,r,i)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(WW)))(zW);function HW(e){var t=e.error;e.subscriber.error(t)}var UW=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue=\"N\"===e}return e.prototype.observe=function(e){switch(this.kind){case\"N\":return e.next&&e.next(this.value);case\"E\":return e.error&&e.error(this.error);case\"C\":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case\"N\":return e&&e(this.value);case\"E\":return t&&t(this.error);case\"C\":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&\"function\"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case\"N\":return V(this.value);case\"E\":return e=this.error,new P(t?function(n){return t.schedule(HW,0,{error:e,subscriber:n})}:function(t){return t.error(e)});case\"C\":return W()}throw new Error(\"unexpected notification kind value\")},e.createNext=function(t){return void 0!==t?new e(\"N\",t):e.undefinedValueNotification},e.createError=function(t){return new e(\"E\",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e(\"C\"),e.undefinedValueNotification=new e(\"N\",void 0),e}();var YW=function(e){function t(t,n,r){void 0===r&&(r=0);var i=e.call(this,t)||this;return i.scheduler=n,i.delay=r,i}return g(t,e),t.dispatch=function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()},t.prototype.scheduleMessage=function(e){this.add(this.scheduler.schedule(t.dispatch,this.delay,new ZW(e,this.destination)))},t.prototype._next=function(e){this.scheduleMessage(UW.createNext(e))},t.prototype._error=function(e){this.scheduleMessage(UW.createError(e))},t.prototype._complete=function(){this.scheduleMessage(UW.createComplete())},t}(L),ZW=function(){return function(e,t){this.notification=e,this.destination=t}}(),GW=function(e){function t(t,n,r){void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var i=e.call(this)||this;return i.scheduler=r,i._events=[],i._infiniteTimeWindow=!1,i._bufferSize=t<1?1:t,i._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(i._infiniteTimeWindow=!0,i.next=i.nextInfiniteTimeWindow):i.next=i.nextTimeWindow,i}return g(t,e),t.prototype.nextInfiniteTimeWindow=function(t){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift(),e.prototype.next.call(this,t)},t.prototype.nextTimeWindow=function(t){this._events.push(new KW(this._getNow(),t)),this._trimBufferThenGetEvents(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){var t,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,o=r.length;if(this.closed)throw new he;if(this.isStopped||this.hasError?t=M.EMPTY:(this.observers.push(e),t=new de(this,e)),i&&e.add(e=new YW(e,i)),n)for(var s=0;s<o&&!e.closed;s++)e.next(r[s]);else for(s=0;s<o&&!e.closed;s++)e.next(r[s].value);return this.hasError?e.error(this.thrownError):this.isStopped&&e.complete(),t},t.prototype._getNow=function(){return(this.scheduler||VW).now()},t.prototype._trimBufferThenGetEvents=function(){for(var e=this._getNow(),t=this._bufferSize,n=this._windowTime,r=this._events,i=r.length,o=0;o<i&&!(e-r[o].time<n);)o++;return i>t&&(o=Math.max(o,i-t)),o>0&&r.splice(0,o),r},t}(fe),KW=function(){return function(e,t){this.time=e,this.value=t}}();function qW(e,t,n){return function(r){return r.lift(function(e,t,n){var r,i,o=0,s=!1,a=!1;return function(u){o++,r&&!s||(s=!1,r=new GW(e,t,n),i=u.subscribe({next:function(e){r.next(e)},error:function(e){s=!0,r.error(e)},complete:function(){a=!0,r.complete()}}));var l=r.subscribe(this);return function(){o--,l.unsubscribe(),i&&0===o&&a&&i.unsubscribe()}}}(e,t,n))}}function QW(e){return function(t){var n=new XW(e),r=t.lift(n);return n.caught=r}}var XW=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new JW(e,this.selector,this.caught))},e}(),JW=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.selector=n,i.caught=r,i}return g(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(t){return void e.prototype.error.call(this,t)}this._unsubscribeAndRecycle(),this.add(NW(this,n))}},t}(_W);function $W(e,t){if(!t)return e instanceof P?e:new P(MW(e));if(null!=e){if(function(e){return e&&\"function\"==typeof e[T]}(e))return function(e,t){return new P(t?function(n){var r=new M;return r.add(t.schedule(function(){var i=e[T]();r.add(i.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r}:AW(e))}(e,t);if(xW(e))return function(e,t){return new P(t?function(n){var r=new M;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r}:wW(e))}(e,t);if(SW(e))return j(e,t);if(function(e){return e&&\"function\"==typeof e[DW]}(e)||\"string\"==typeof e)return function(e,t){if(!e)throw new Error(\"Iterable cannot be null\");return new P(t?function(n){var r,i=new M;return i.add(function(){r&&\"function\"==typeof r.return&&r.return()}),i.add(t.schedule(function(){r=e[DW](),i.add(t.schedule(function(){if(!n.closed){var e,t;try{var i=r.next();e=i.value,t=i.done}catch(e){return void n.error(e)}t?n.complete():(n.next(e),this.schedule())}}))})),i}:EW(e))}(e,t)}throw new TypeError((null!==e&&typeof e||e)+\" is not observable\")}var eV=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new tV(e,this.project))},e}(),tV=function(e){function t(t,n){var r=e.call(this,t)||this;return r.project=n,r.index=0,r}return g(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var r=this.innerSubscription;r&&r.unsubscribe(),this.add(this.innerSubscription=NW(this,e,t,n))},t.prototype._complete=function(){var t=this.innerSubscription;t&&!t.closed||e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,r,i){this.destination.next(t)},t}(_W);var nV=function(){this.__data__=[],this.size=0};var rV=function(e,t){return e===t||e!=e&&t!=t};var iV=function(e,t){for(var n=e.length;n--;)if(rV(e[n][0],t))return n;return-1},oV=Array.prototype.splice;var sV=function(e){var t=this.__data__,n=iV(t,e);return!(n<0||(n==t.length-1?t.pop():oV.call(t,n,1),--this.size,0))};var aV=function(e){var t=this.__data__,n=iV(t,e);return n<0?void 0:t[n][1]};var uV=function(e){return iV(this.__data__,e)>-1};var lV=function(e,t){var n=this.__data__,r=iV(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function cV(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}cV.prototype.clear=nV,cV.prototype.delete=sV,cV.prototype.get=aV,cV.prototype.has=uV,cV.prototype.set=lV;var hV=cV;var dV=function(){this.__data__=new hV,this.size=0};var pV=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};var fV=function(e){return this.__data__.get(e)};var gV=function(e){return this.__data__.has(e)},mV=Mz(Object,\"create\");var vV=function(){this.__data__=mV?mV(null):{},this.size=0};var yV=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},bV=\"__lodash_hash_undefined__\",_V=Object.prototype.hasOwnProperty;var CV=function(e){var t=this.__data__;if(mV){var n=t[e];return n===bV?void 0:n}return _V.call(t,e)?t[e]:void 0},wV=Object.prototype.hasOwnProperty;var DV=function(e){var t=this.__data__;return mV?void 0!==t[e]:wV.call(t,e)},EV=\"__lodash_hash_undefined__\";var AV=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=mV&&void 0===t?EV:t,this};function SV(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}SV.prototype.clear=vV,SV.prototype.delete=yV,SV.prototype.get=CV,SV.prototype.has=DV,SV.prototype.set=AV;var xV=SV;var MV=function(){this.size=0,this.__data__={hash:new xV,map:new(Iz||hV),string:new xV}};var NV=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e};var IV=function(e,t){var n=e.__data__;return NV(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map};var LV=function(e){var t=IV(this,e).delete(e);return this.size-=t?1:0,t};var kV=function(e){return IV(this,e).get(e)};var TV=function(e){return IV(this,e).has(e)};var FV=function(e,t){var n=IV(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function OV(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}OV.prototype.clear=MV,OV.prototype.delete=LV,OV.prototype.get=kV,OV.prototype.has=TV,OV.prototype.set=FV;var PV=OV,BV=200;var RV=function(e,t){var n=this.__data__;if(n instanceof hV){var r=n.__data__;if(!Iz||r.length<BV-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new PV(r)}return n.set(e,t),this.size=n.size,this};function jV(e){var t=this.__data__=new hV(e);this.size=t.size}jV.prototype.clear=dV,jV.prototype.delete=pV,jV.prototype.get=fV,jV.prototype.has=gV,jV.prototype.set=RV;var zV=jV,WV=function(){try{var e=Mz(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();var VV=function(e,t,n){\"__proto__\"==t&&WV?WV(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var HV=function(e,t,n){(void 0===n||rV(e[t],n))&&(void 0!==n||t in e)||VV(e,t,n)};var UV=function(e){return function(t,n,r){for(var i=-1,o=Object(t),s=r(t),a=s.length;a--;){var u=s[e?a:++i];if(!1===n(o[u],u,o))break}return t}}(),YV=n(256),ZV=U.a.Uint8Array;var GV=function(e){var t=new e.constructor(e.byteLength);return new ZV(t).set(new ZV(e)),t};var KV=function(e,t){var n=t?GV(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};var qV=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t},QV=Object.create,XV=function(){function e(){}return function(t){if(!re(t))return{};if(QV)return QV(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),JV=cz(Object.getPrototypeOf,Object);var $V=function(e){return\"function\"!=typeof e.constructor||lz(e)?{}:XV(JV(e))};var eH=function(e){return Wz(e)&&Xz(e)},tH=\"[object Object]\",nH=Function.prototype,rH=Object.prototype,iH=nH.toString,oH=rH.hasOwnProperty,sH=iH.call(Object);var aH=function(e){if(!Wz(e)||ne(e)!=tH)return!1;var t=JV(e);if(null===t)return!0;var n=oH.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&iH.call(n)==sH};var uH=function(e,t){return\"__proto__\"==t?void 0:e[t]},lH=Object.prototype.hasOwnProperty;var cH=function(e,t,n){var r=e[t];lH.call(e,t)&&rV(r,n)&&(void 0!==n||t in e)||VV(e,t,n)};var hH=function(e,t,n,r){var i=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var a=t[o],u=r?r(n[a],e[a],a,n,e):void 0;void 0===u&&(u=e[a]),i?VV(n,a,u):cH(n,a,u)}return n};var dH=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r},pH=9007199254740991,fH=/^(?:0|[1-9]\\d*)$/;var gH=function(e,t){var n=typeof e;return!!(t=null==t?pH:t)&&(\"number\"==n||\"symbol\"!=n&&fH.test(e))&&e>-1&&e%1==0&&e<t},mH=Object.prototype.hasOwnProperty;var vH=function(e,t){var n=Kz(e),r=!n&&Gz(e),i=!n&&!r&&Object(Jz.a)(e),o=!n&&!r&&!i&&iW(e),s=n||r||i||o,a=s?dH(e.length,String):[],u=a.length;for(var l in e)!t&&!mH.call(e,l)||s&&(\"length\"==l||i&&(\"offset\"==l||\"parent\"==l)||o&&(\"buffer\"==l||\"byteLength\"==l||\"byteOffset\"==l)||gH(l,u))||a.push(l);return a};var yH=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t},bH=Object.prototype.hasOwnProperty;var _H=function(e){if(!re(e))return yH(e);var t=lz(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&bH.call(e,r))&&n.push(r);return n};var CH=function(e){return Xz(e)?vH(e,!0):_H(e)};var wH=function(e){return hH(e,CH(e))};var DH=function(e,t,n,r,i,o,s){var a=uH(e,n),u=uH(t,n),l=s.get(u);if(l)HV(e,n,l);else{var c=o?o(a,u,n+\"\",e,t,s):void 0,h=void 0===c;if(h){var d=Kz(u),p=!d&&Object(Jz.a)(u),f=!d&&!p&&iW(u);c=u,d||p||f?Kz(a)?c=a:eH(a)?c=qV(a):p?(h=!1,c=Object(YV.a)(u,!0)):f?(h=!1,c=KV(u,!0)):c=[]:aH(u)||Gz(u)?(c=a,Gz(a)?c=wH(a):(!re(a)||r&&ue(a))&&(c=$V(u))):h=!1}h&&(s.set(u,c),i(c,u,r,o,s),s.delete(u)),HV(e,n,c)}};var EH=function e(t,n,r,i,o){t!==n&&UV(n,function(s,a){if(re(s))o||(o=new zV),DH(t,n,a,r,e,i,o);else{var u=i?i(uH(t,a),s,a+\"\",t,n,o):void 0;void 0===u&&(u=s),HV(t,a,u)}},CH)};var AH=function(e){return e};var SH=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)},xH=Math.max;var MH=function(e,t,n){return t=xH(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=xH(r.length-t,0),s=Array(o);++i<o;)s[i]=r[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=r[i];return a[t]=n(s),SH(e,this,a)}};var NH=function(e){return function(){return e}},IH=WV?function(e,t){return WV(e,\"toString\",{configurable:!0,enumerable:!1,value:NH(t),writable:!0})}:AH,LH=800,kH=16,TH=Date.now;var FH=function(e){var t=0,n=0;return function(){var r=TH(),i=kH-(r-n);if(n=r,i>0){if(++t>=LH)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(IH);var OH=function(e,t){return FH(MH(e,t,AH),e+\"\")};var PH=function(e,t,n){if(!re(n))return!1;var r=typeof t;return!!(\"number\"==r?Xz(n)&&gH(t,n.length):\"string\"==r&&t in n)&&rV(n[t],e)};var BH=function(e){return OH(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&\"function\"==typeof o?(i--,o):void 0,s&&PH(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r<i;){var a=n[r];a&&e(t,a,r,o)}return t})}(function(e,t,n){EH(e,t,n)}),RH=\"[object Symbol]\";var jH=function(e){return\"symbol\"==typeof e||Wz(e)&&ne(e)==RH},zH=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,WH=/^\\w*$/;var VH=function(e,t){if(Kz(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!jH(e))||WH.test(e)||!zH.test(e)||null!=t&&e in Object(t)},HH=\"Expected a function\";function UH(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(HH);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(UH.Cache||PV),n}UH.Cache=PV;var YH=UH,ZH=500;var GH=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,KH=/\\\\(\\\\)?/g,qH=function(e){var t=YH(e,function(e){return n.size===ZH&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(GH,function(e,n,r,i){t.push(r?i.replace(KH,\"$1\"):n||e)}),t});var QH=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i},XH=1/0,JH=Y?Y.prototype:void 0,$H=JH?JH.toString:void 0;var eU=function e(t){if(\"string\"==typeof t)return t;if(Kz(t))return QH(t,e)+\"\";if(jH(t))return $H?$H.call(t):\"\";var n=t+\"\";return\"0\"==n&&1/t==-XH?\"-0\":n};var tU=function(e){return null==e?\"\":eU(e)};var nU=function(e,t){return Kz(e)?e:VH(e,t)?[e]:qH(tU(e))},rU=1/0;var iU=function(e){if(\"string\"==typeof e||jH(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-rU?\"-0\":t};var oU=function(e,t,n,r){if(!re(e))return e;for(var i=-1,o=(t=nU(t,e)).length,s=o-1,a=e;null!=a&&++i<o;){var u=iU(t[i]),l=n;if(i!=s){var c=a[u];void 0===(l=r?r(c,u,a):void 0)&&(l=re(c)?c:gH(t[i+1])?[]:{})}cH(a,u,l),a=a[u]}return e};var sU=function(e,t,n){return null==e?e:oU(e,t,n)};var aU=function(e,t){return null!=e&&t in Object(e)};var uU=function(e,t,n){for(var r=-1,i=(t=nU(t,e)).length,o=!1;++r<i;){var s=iU(t[r]);if(!(o=null!=e&&n(e,s)))break;e=e[s]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Qz(i)&&gH(s,i)&&(Kz(e)||Gz(e))};var lU=function(e,t){return null!=e&&uU(e,t,aU)};var cU=function(e,t){for(var n=0,r=(t=nU(t,e)).length;null!=e&&n<r;)e=e[iU(t[n++])];return n&&n==r?e:void 0};var hU=function(e,t,n){var r=null==e?void 0:cU(e,t);return void 0===r?n:r};const dU=e=>Symbol.for(e);var pU={meta:dU(\"meta\"),doc:dU(\"doc\"),call:dU(\"call\"),true:dU(\"true\"),false:dU(\"false\")},fU=n(0);Object.prototype.toString;function gU(e,t,n,r){return m(n)&&(r=n,n=void 0),r?gU(e,t,n).pipe(BW(function(e){return C(e)?r.apply(void 0,e):r(e)})):new P(function(r){!function e(t,n,r,i,o){var s;if(function(e){return e&&\"function\"==typeof e.addEventListener&&\"function\"==typeof e.removeEventListener}(t)){var a=t;t.addEventListener(n,r,o),s=function(){return a.removeEventListener(n,r,o)}}else if(function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.off}(t)){var u=t;t.on(n,r),s=function(){return u.off(n,r)}}else if(function(e){return e&&\"function\"==typeof e.addListener&&\"function\"==typeof e.removeListener}(t)){var l=t;t.addListener(n,r),s=function(){return l.removeListener(n,r)}}else{if(!t||!t.length)throw new TypeError(\"Invalid event target\");for(var c=0,h=t.length;c<h;c++)e(t[c],n,r,i,o)}i.add(s)}(e,t,function(e){arguments.length>1?r.next(Array.prototype.slice.call(arguments)):r.next(e)},r,n)})}var mU={[pU.doc]:\"\\n# Mouse\\nProvides mouse coordinates (`x` and `y`) inside the window.\\n\\n```L1\\nx: Mouse.x\\ny: Mouse.y\\n```\\n\",x:gU(window,\"mousemove\").pipe(BW(e=>tf.scalar(e.x))),y:gU(window,\"mousemove\").pipe(BW(e=>tf.scalar(e.y)))},vU=n(236),yU=n.n(vU),bU={[Symbol.for(\"doc\")]:yU.a},_U=n(237),CU=n.n(_U);const wU=e=>Array.from(e.dataSync());var DU={RandomNormal:{[pU.doc]:CU.a,[pU.call]:e=>{let t=fU.scalar(1),n=fU.scalar(0),r=fU.scalar(1);if(void 0===e)return V(fU.scalar(wU(fU.randomNormal(wU(t),wU(n)[0],wU(r)[0]))[0]));if(e instanceof fU.Tensor)return t=e,V(fU.randomNormal(wU(t),wU(n)[0],wU(r)[0]));if(!re(e))throw Error(\"RandomNormal needs tensor or object\");if(!e.hasOwnProperty(\"shape\"))throw Error(\"RandomNormal { shape: ? }\");return t=e.shape,e.hasOwnProperty(\"mean\")&&(n=e.mean),e.hasOwnProperty(\"stdDev\")&&(r=e.stdDev),V(fU.randomNormal(wU(t),wU(n)[0],wU(r)[0]))}}},EU=n(238),AU=n.n(EU);const SU=e=>Array.from(e.dataSync());var xU={RandomUniform:{[pU.doc]:AU.a,[pU.call]:e=>{let t=fU.scalar(1),n=fU.scalar(0),r=fU.scalar(1);if(void 0===e)return V(fU.scalar(SU(fU.randomUniform(SU(t),SU(n)[0],SU(r)[0]))[0]));if(e instanceof fU.Tensor)return t=e,V(fU.randomUniform(SU(t),SU(n)[0],SU(r)[0]));if(!re(e))throw Error(\"RandomUniform needs tensor or object\");if(!e.hasOwnProperty(\"shape\"))throw Error(\"RandomUniform { shape: ? }\");return t=e.shape,e.hasOwnProperty(\"min\")&&(n=e.min),e.hasOwnProperty(\"max\")&&(r=e.max),V(fU.randomUniform(SU(t),SU(n)[0],SU(r)[0]))}}},MU=c()({},DU,xU);var NU={RectifiedLinearUnit:{[pU.doc]:\"# Rectified Linear Unit\\n\\nReplaces negative values with zero.\\n\\n```L1\\na: RectifiedLinearUnit [-1 0 1] ; [0 0 1]\\n```\\n\",[pU.call]:e=>V(fU.relu(e))},ExponentialLinearUnit:{[pU.doc]:\"# Exponential Linear Unit\",[pU.call]:e=>V(fU.elu(e))},ScaledExponentialLinearUnit:{[pU.doc]:\"# Scaled Exponential Linear Unit\",[pU.call]:e=>V(fU.selu(e))},Sigmoid:{[pU.doc]:\"# Sigmoid\",[pU.call]:e=>V(fU.sigmoid(e))},Softmax:{[pU.doc]:\"# Softmax\",[pU.call]:e=>V(fU.softmax(e))},Softplus:{[pU.doc]:\"# Softplus\",[pU.call]:e=>V(fU.softplus(e))}},IU={Sine:e=>V(fU.sin(e)),Cosine:e=>V(fU.cos(e)),Tangent:e=>V(fU.tan(e)),ArcusSine:e=>V(fU.asin(e)),ArcusCosine:e=>V(fU.acos(e)),ArcusTangent:e=>V(fU.atan(e))},LU=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};function kU(e,t){function n(){this.constructor=e}LU(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var TU=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};function FU(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})}function OU(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?\"return\":o[0]?\"throw\":\"next\"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var PU=1e-7;function BU(){return PU}var RU=0;function jU(){return RU++}var zU={};function WU(e){return void 0===e&&(e=\"\"),e in zU||(zU[e]=0),zU[e]+=1,e+zU[e].toString()}var VU={float32:{},int32:{}},HU=\"float32\";function UU(e,t){return void 0===t&&(t=HU),null==VU[t][e]&&(VU[t][e]=Object(fU.scalar)(e,t),Object(fU.keep)(VU[t][e])),VU[t][e]}var YU=function(e){function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}return kU(t,e),t}(Error),ZU=function(e){function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}return kU(t,e),t}(Error),GU=function(e){function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}return kU(t,e),t}(Error),KU=function(e){function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}return kU(t,e),t}(Error),qU=function(e){function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}return kU(t,e),t}(Error);!function(e){function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}kU(t,e)}(Error);function QU(e,t){if(Array.isArray(e)){for(var n=[],r=0;r<t;r++)n=n.concat(e);return n}return(n=new Array(t)).fill(e),n}function XU(e,t){if(!e)throw new qU(t)}function JU(e,t){for(var n=0,r=0,i=e;r<i.length;r++)i[r]===t&&n++;return n}function $U(e){return 1===e.length?e[0]:e}function eY(e){return Array.isArray(e)?e:[e]}function tY(e){var t=e.replace(/(.)([A-Z][a-z0-9]+)/g,\"$1_$2\").replace(/([a-z])([A-Z])/g,\"$1_$2\").toLowerCase();return\"_\"!==t[0]?t:\"private\"+t}var nY={};function rY(e){return null===e||void 0===e?null:{className:e.getClassName(),config:e.getConfig()}}function iY(e,t,n,r){if(void 0===t&&(t={}),void 0===n&&(n={}),void 0===r&&(r=\"object\"),\"string\"==typeof e){var i=e,o=void 0;if(i in n)o=n[i];else if(i in nY)o=nY[i];else if(null==(o=t[i]))throw new GU(\"Unknown \"+r+\": \"+e);return o}var s=e;if(null==s.className||null==s.config)throw new GU(r+\": Improper config format: \"+JSON.stringify(s)+\".\\n'className' and 'config' must set.\");var a,u,l,c=s.className,h=void 0,d=void 0;if(c in n?(h=(a=n.get(c))[0],d=a[1]):c in nY?(h=(u=nY.className)[0],d=u[1]):c in t&&(h=(l=t[c])[0],d=l[1]),null==h)throw new GU(\"Unknown \"+r+\": \"+c);if(null!=d){for(var p={},f=0,g=Object.keys(nY);f<g.length;f++)p[C=g[f]]=nY[C];for(var m=0,v=Object.keys(n);m<v.length;m++)p[C=v[m]]=n[C];s.config.customObjects=p;for(var y=TU({},nY),b=0,_=Object.keys(n);b<_.length;b++){var C=_[b];nY[C]=n[C]}var w=d(h,s.config);return nY=TU({},y),w}y=TU({},nY);for(var D=0,E=Object.keys(n);D<E.length;D++)C=E[D],nY[C]=n[C];return w=new h(s.config),nY=TU({},y),w}function oY(e,t){return-1*function(e,t){return e<t?-1:e>t?1:0}(e,t)}function sY(e){if(null==e)return e;for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];-1===t.indexOf(i)&&t.push(i)}return t}function aY(e){if(null==e)throw new GU(\"Invalid value in obj: \"+JSON.stringify(e));for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function uY(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new GU(n+\" is not a valid \"+t+\".  Valid values are \"+e+\" or null/undefined.\")}function lY(e,t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1/0),XU(n>=0),XU(r>=n),Array.isArray(e)&&e.length>=n&&e.length<=r&&e.every(function(e){return typeof e===t})}function cY(e,t){return Object(fU.tidy)(function(){return Object(fU.sqrt)(Object(fU.sum)(Object(fU.mulStrict)(e,e),t,!0))})}var hY=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.getConfig=function(){return{}},t}(fU.serialization.Serializable),dY=function(e){function t(t){var n=e.call(this)||this;return n.defaultMaxValue=2,n.defaultAxis=0,n.maxValue=null!=t.maxValue?t.maxValue:n.defaultMaxValue,n.axis=null!=t.axis?t.axis:n.defaultAxis,n}return kU(t,e),t.prototype.apply=function(e){var t=this;return Object(fU.tidy)(function(){var n=cY(e,t.axis),r=Object(fU.clipByValue)(n,0,t.maxValue);return Object(fU.mul)(e,Object(fU.div)(r,Object(fU.add)(UU(BU()),n)))})},t.prototype.getConfig=function(){return{maxValue:this.maxValue,axis:this.axis}},t.className=\"MaxNorm\",t}(hY);fU.serialization.SerializationMap.register(dY);var pY=function(e){function t(t){var n=e.call(this)||this;return n.defaultAxis=0,n.axis=null!=t.axis?t.axis:n.defaultAxis,n}return kU(t,e),t.prototype.apply=function(e){var t=this;return Object(fU.tidy)(function(){return Object(fU.div)(e,Object(fU.add)(UU(BU()),cY(e,t.axis)))})},t.prototype.getConfig=function(){return{axis:this.axis}},t.className=\"UnitNorm\",t}(hY);fU.serialization.SerializationMap.register(pY);var fY=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.relu)(e)},t.className=\"NonNeg\",t}(hY);fU.serialization.SerializationMap.register(fY);var gY=function(e){function t(t){var n=e.call(this)||this;return n.defaultMinValue=0,n.defaultMaxValue=1,n.defaultRate=1,n.defaultAxis=0,n.minValue=null!=t.minValue?t.minValue:n.defaultMinValue,n.maxValue=null!=t.maxValue?t.maxValue:n.defaultMaxValue,n.rate=null!=t.rate?t.rate:n.defaultRate,n.axis=null!=t.axis?t.axis:n.defaultAxis,n}return kU(t,e),t.prototype.apply=function(e){var t=this;return Object(fU.tidy)(function(){var n=cY(e,t.axis),r=Object(fU.add)(Object(fU.mul)(UU(t.rate),Object(fU.clipByValue)(n,t.minValue,t.maxValue)),Object(fU.mul)(UU(1-t.rate),n));return Object(fU.mul)(e,Object(fU.div)(r,Object(fU.add)(UU(BU()),n)))})},t.prototype.getConfig=function(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}},t.className=\"MinMaxNorm\",t}(hY);fU.serialization.SerializationMap.register(gY);var mY={maxNorm:\"MaxNorm\",minMaxNorm:\"MinMaxNorm\",nonNeg:\"NonNeg\",unitNorm:\"UnitNorm\"};function vY(e){return rY(e)}function yY(e,t){return void 0===t&&(t={}),iY(e,fU.serialization.SerializationMap.getMap().classNameMap,t,\"constraint\")}function bY(e){return null==e?null:\"string\"==typeof e?yY({className:e in mY?mY[e]:e,config:{}}):e instanceof hY?e:yY(e)}Object.freeze({maxNorm:function(e){return new dY(e)},unitNorm:function(e){return new pY(e)},nonNeg:function(){return new fY},minMaxNorm:function(e){return new gY(e)}});var _Y=new Map,CY=[\"channelsFirst\",\"channelsLast\"];function wY(e){uY(CY,\"DataFormat\",e)}var DY=[\"valid\",\"same\",\"causal\"];function EY(e){uY(DY,\"PaddingMode\",e)}var AY=[\"max\",\"avg\"];var SY=[],xY=\"/\";function MY(e,t){SY.push(e);try{var n=t();return SY.pop(),n}catch(e){throw SY.pop(),e}}function NY(e){if(!kY(e))throw new Error(\"Not a valid tensor name: '\"+e+\"'\");return(0===SY.length?\"\":SY.join(xY)+xY)+e}function IY(e){if(!kY(e))throw new Error(\"Not a valid tensor name: '\"+e+\"'\");_Y.has(e)||_Y.set(e,0);var t=_Y.get(e);if(_Y.set(e,_Y.get(e)+1),t>0){var n=e+\"_\"+t;return _Y.set(n,1),n}return e}var LY=new RegExp(/^[A-Za-z][A-Za-z0-9\\._\\/]*$/);function kY(e){return!!e.match(LY)}function TY(e){return e===parseInt(e.toString(),10)}function FY(e,t,n){null==t&&(t=0),null==n&&(n=e.length);for(var r=1,i=t;i<n;++i)r*=e[i];return r}function OY(e){return e=Array.isArray(e)?new Float32Array(e):e,Object(fU.tensor1d)(e)}function PY(e){return Object(fU.min)(OY(e)).dataSync()[0]}function BY(e){return Object(fU.max)(OY(e)).dataSync()[0]}function RY(e,t){if(t<e)throw new GU(\"end (\"+t+\") < begin (\"+e+\") is forbidden.\");for(var n=[],r=e;r<t;++r)n.push(r);return n}function jY(e,t){return e.asType(t)}function zY(e,t){void 0===t&&(t=-1);var n=e.shape.slice();return t<0&&(t=n.length+t+1),n.splice(t,0,1),e.reshape(n)}function WY(e,t,n){return Object(fU.tidy)(function(){switch(e.rank){case 1:return Object(fU.slice1d)(e,t,n);case 2:return Object(fU.slice2d)(e,[t,0],[n,e.shape[1]]);case 3:return Object(fU.slice3d)(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return Object(fU.slice4d)(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);default:throw new GU(\"sliceAlongFirstAxis() received an unsupported tensor rank: \"+e.rank)}})}function VY(e,t,n){return Object(fU.tidy)(function(){switch(e.rank){case 1:return Object(fU.slice1d)(e,t,n);case 2:return Object(fU.slice2d)(e,[0,t],[e.shape[0],n]);case 3:return Object(fU.slice3d)(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return Object(fU.slice4d)(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new GU(\"sliceAlongLastAxis() received an unsupported tensor rank: \"+e.rank)}})}function HY(e,t,n,r){return Object(fU.tidy)(function(){switch(e.rank){case 1:return Object(fU.slice1d)(e,t,n);case 2:switch(r){case 1:return WY(e,t,n);case 2:return VY(e,t,n);default:throw new GU(\"The axis is not within the rank of the tensor \"+r)}case 3:switch(r){case 1:return WY(e,t,n);case 2:return Object(fU.slice3d)(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return VY(e,t,n);default:throw new GU(\"The axis is not within the rank of the tensor \"+r)}case 4:switch(r){case 1:return WY(e,t,n);case 2:return Object(fU.slice4d)(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return Object(fU.slice4d)(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return VY(e,t,n);default:throw new GU(\"The axis is not within the rank of the tensor \"+r)}default:throw new GU(\"sliceAlongLastAxis() received an unsupported tensor rank: \"+e.rank)}})}function UY(e,t){var n;return void 0===t&&(t=-1),t<0&&(t=0!==(n=e[0].rank)?n:0),t===e[0].rank&&(t=-1),Object(fU.concat)(e,t)}function YY(e,t){switch(e.rank){case 1:return Object(fU.concat1d)([e,t]);case 2:return Object(fU.concat2d)([e,t],0);case 3:return Object(fU.concat3d)([e,t],0);case 4:return Object(fU.concat4d)([e,t],0);default:throw new GU(\"concatAlongFirstAxis() received an unsupported tensor rank: \"+e.rank)}}function ZY(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new GU(\"The length of input n (\"+t.length+\") does not match the number of dimensions in input x (\"+e.rank+\")\");return Object(fU.tile)(e,t)}function GY(e,t,n,r,i){return void 0===t&&(t=0),void 0===n&&(n=1),Object(fU.randomNormal)(e,t,n,r,i)}function KY(e,t){if(2!==t.rank)throw new KU(\"dot support for y other than rank 2 is not yet implemented: y shape = \"+t.shape);if(2===e.rank)return Object(fU.matMul)(e,t);if(3===e.rank){var n=e.shape[0],r=e.shape[1],i=e.shape[2];return e=e.reshape([n*r,i]),Object(fU.matMul)(e,t).reshape([n,r,t.shape[1]])}throw new KU(\"dot support for x of rank \"+e.rank+\" is not yet implemented: x shape = \"+e.shape)}function qY(e,t,n){return Object(fU.tidy)(function(){return t=Array.isArray(t)?Object(fU.tensor1d)(t,\"int32\"):t.toInt(),Object(fU.gather)(e,t,n)})}function QY(e){return Object(fU.mulStrict)(e,e)}function XY(e,t,n){return Object(fU.tidy)(function(){if(null==n&&(n=\"channelsLast\"),wY(n),1!==t.rank&&t.rank!==e.rank)throw new GU(\"Unexpected bias dimensions: \"+t.rank+\"; expected it to be 1 or \"+e.rank);var r,i=t.shape;if(5===e.rank)\"channelsFirst\"===n?r=1===i.length?e.add(t.reshape([1,i[0],1,1,1])):e.add(t.reshape([1,i[3],i[0],i[1],i[2]])):\"channelsLast\"===n&&(r=1===i.length?e.add(t.reshape([1,1,1,1,i[0]])):e.add(t.reshape([1].concat(i))));else if(4===e.rank)\"channelsFirst\"===n?r=1===i.length?e.add(t.reshape([1,i[0],1,1])):e.add(t.reshape([1,i[2],i[0],i[1]])):\"channelsLast\"===n&&(r=1===i.length?e.add(t.reshape([1,1,1,i[0]])):e.add(t.reshape([1].concat(i))));else if(3===e.rank)\"channelsFirst\"===n?r=1===i.length?e.add(t.reshape([1,i[0],1])):e.add(t.reshape([1,i[1],i[0]])):\"channelsLast\"===n&&(r=1===i.length?e.add(t.reshape([1,1,i[0]])):e.add(t.reshape([1].concat(i))));else{if(!(e.rank<3))throw new GU(\"Unsupported input rank by biasAdd: \"+e.rank);r=e.add(t)}return r})}function JY(e,t,n,r){return Object(fU.tidy)(function(){if(null!=n&&!fU.util.arraysEqual(e.shape,n))throw new KU(\"Non-default noise shape is not implemented yet: \"+JSON.stringify(n));if(null!=r)throw new KU(\"seed is not implemented for dropout yet.\");var i=Object(fU.step)(Object(fU.add)(Object(fU.neg)(t),Object(fU.randomUniform)(e.shape,0,1,\"float32\")));return i=Object(fU.mul)(Object(fU.div)(UU(1),Object(fU.sub)(UU(1),t)),i),Object(fU.mul)(e,i)})}function $Y(e,t,n){return void 0===n&&(n=!1),n?e():t()}var eZ=[\"fanIn\",\"fanOut\",\"fanAvg\"];var tZ=[\"normal\",\"uniform\"];var nZ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.fromConfigUsesCustomObjects=function(){return!1},t.prototype.getConfig=function(){return{}},t}(fU.serialization.Serializable),rZ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e,t){return Object(fU.zeros)(e,t)},t.className=\"Zeros\",t}(nZ);fU.serialization.SerializationMap.register(rZ);var iZ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e,t){return Object(fU.ones)(e,t)},t.className=\"Ones\",t}(nZ);fU.serialization.SerializationMap.register(iZ);var oZ=function(e){function t(t){var n=e.call(this)||this;if(\"object\"!=typeof t)throw new GU(\"Expected argument of type ConstantConfig but got \"+t);if(void 0===t.value)throw new GU(\"config must have value set but got \"+t);return n.value=t.value,n}return kU(t,e),t.prototype.apply=function(e,t){var n=this;return Object(fU.tidy)(function(){return Object(fU.mul)(Object(fU.scalar)(n.value),Object(fU.ones)(e,t))})},t.prototype.getConfig=function(){return{value:this.value}},t.className=\"Constant\",t}(nZ);fU.serialization.SerializationMap.register(oZ);var sZ=function(e){function t(t){var n=e.call(this)||this;return n.DEFAULT_MINVAL=-.05,n.DEFAULT_MAXVAL=.05,n.minval=t.minval||n.DEFAULT_MINVAL,n.maxval=t.maxval||n.DEFAULT_MAXVAL,n.seed=t.seed,n}return kU(t,e),t.prototype.apply=function(e,t){return Object(fU.randomUniform)(e,this.minval,this.maxval,t)},t.prototype.getConfig=function(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}},t.className=\"RandomUniform\",t}(nZ);fU.serialization.SerializationMap.register(sZ);var aZ=function(e){function t(t){var n=e.call(this)||this;return n.DEFAULT_MEAN=0,n.DEFAULT_STDDEV=.05,n.mean=t.mean||n.DEFAULT_MEAN,n.stddev=t.stddev||n.DEFAULT_STDDEV,n.seed=t.seed,n}return kU(t,e),t.prototype.apply=function(e,t){if(\"bool\"===t)throw new KU(\"randomNormal does not support dType bool.\");return GY(e,this.mean,this.stddev,t,this.seed)},t.prototype.getConfig=function(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}},t.className=\"RandomNormal\",t}(nZ);fU.serialization.SerializationMap.register(aZ);var uZ=function(e){function t(t){var n=e.call(this)||this;return n.DEFAULT_MEAN=0,n.DEFAULT_STDDEV=.05,n.mean=t.mean||n.DEFAULT_MEAN,n.stddev=t.stddev||n.DEFAULT_STDDEV,n.seed=t.seed,n}return kU(t,e),t.prototype.apply=function(e,t){if(\"bool\"===t)throw new KU(\"truncatedNormal does not support dType bool.\");return Object(fU.truncatedNormal)(e,this.mean,this.stddev,t,this.seed)},t.prototype.getConfig=function(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}},t.className=\"TruncatedNormal\",t}(nZ);fU.serialization.SerializationMap.register(uZ);var lZ=function(e){function t(t){var n=e.call(this)||this;return n.gain=null!=t.gain?Object(fU.scalar)(t.gain):UU(1),n}return kU(t,e),t.prototype.apply=function(e,t){var n=this;return Object(fU.tidy)(function(){if(2!==e.length||e[0]!==e[1])throw new GU(\"Identity matrix initializer can only be used for 2D square matrices.\");return Object(fU.mul)(n.gain,Object(fU.eye)(e[0]))})},t.prototype.getConfig=function(){return{gain:this.gain.get()}},t.className=\"Identity\",t}(nZ);fU.serialization.SerializationMap.register(lZ);var cZ=function(e){function t(t){var n=e.call(this)||this;if(t.scale<0)throw new GU(\"scale must be a positive float. Got: \"+t.scale);return n.scale=null==t.scale?1:t.scale,n.mode=t.mode,function(e){uY(eZ,\"FanMode\",e)}(n.mode),n.distribution=t.distribution,function(e){uY(tZ,\"Distribution\",e)}(n.distribution),n.seed=t.seed,n}return kU(t,e),t.prototype.apply=function(e,t){var n=function(e,t){var n,r;if(void 0===t&&(t=\"channelsLast\"),wY(t),2===e.length)n=e[0],r=e[1];else if(-1!==[3,4,5].indexOf(e.length))if(\"channelsFirst\"===t){var i=FY(e,2);n=e[1]*i,r=e[0]*i}else\"channelsLast\"===t&&(i=FY(e,0,e.length-2),n=e[e.length-2]*i,r=e[e.length-1]*i);else{var o=FY(e);n=Math.sqrt(o),r=Math.sqrt(o)}return[n,r]}(e),r=n[0],i=n[1],o=this.scale;if(\"fanIn\"===this.mode?o/=Math.max(1,r):\"fanOut\"===this.mode?o/=Math.max(1,i):o/=Math.max(1,(r+i)/2),\"normal\"===this.distribution){var s=Math.sqrt(o);if(\"bool\"===t)throw new KU(this.getClassName()+\" does not support dType bool.\");return Object(fU.truncatedNormal)(e,0,s,t,this.seed)}var a=Math.sqrt(3*o);return Object(fU.randomUniform)(e,-a,a,t)},t.prototype.getConfig=function(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}},t.className=\"VarianceScaling\",t}(nZ);fU.serialization.SerializationMap.register(cZ);var hZ=function(e){function t(t){return e.call(this,{scale:1,mode:\"fanAvg\",distribution:\"uniform\",seed:null==t?null:t.seed})||this}return kU(t,e),t.prototype.getClassName=function(){return cZ.className},t}(cZ),dZ=function(e){function t(t){return e.call(this,{scale:1,mode:\"fanAvg\",distribution:\"normal\",seed:null==t?null:t.seed})||this}return kU(t,e),t.prototype.getClassName=function(){return cZ.className},t}(cZ),pZ=function(e){function t(t){return e.call(this,{scale:2,mode:\"fanIn\",distribution:\"normal\",seed:null==t?null:t.seed})||this}return kU(t,e),t.prototype.getClassName=function(){return cZ.className},t}(cZ),fZ=function(e){function t(t){return e.call(this,{scale:1,mode:\"fanIn\",distribution:\"normal\",seed:null==t?null:t.seed})||this}return kU(t,e),t.prototype.getClassName=function(){return cZ.className},t}(cZ),gZ=function(e){function t(t){var n=e.call(this)||this;if(n.DEFAULT_GAIN=1,n.gain=null==t.gain?n.DEFAULT_GAIN:t.gain,n.seed=t.seed,null!=n.seed)throw new KU(\"Random seed is not implemented for Orthogonal Initializer yet.\");return n}return kU(t,e),t.prototype.apply=function(e,t){var n=this;return Object(fU.tidy)(function(){if(2!==e.length)throw new KU(\"The Orthogonal Initializer does not support non-2D shapes yet.\");e[0]*e[1]>2e3&&console.warn(\"Orthogonal initializer is being called on a matrix with more than 2000 (\"+e[0]*e[1]+\") elements: Slowness may result.\");var t=GY(e[0]>e[1]?[e[1],e[0]]:e,0,1,\"float32\"),r=fU.linalg.gramSchmidt(t);return e[0]>e[1]&&(r=r.transpose()),Object(fU.mul)(UU(n.gain),r)})},t.prototype.getConfig=function(){return{gain:this.gain,seed:this.seed}},t.className=\"Orthogonal\",t}(nZ);fU.serialization.SerializationMap.register(gZ);var mZ={constant:\"Constant\",glorotNormal:\"GlorotNormal\",glorotUniform:\"GlorotUniform\",heNormal:\"HeNormal\",identity:\"Identity\",leCunNormal:\"LeCunNormal\",ones:\"Ones\",orthogonal:\"Orthogonal\",randomNormal:\"RandomNormal\",randomUniform:\"RandomUniform\",truncatedNormal:\"TruncatedNormal\",varianceScaling:\"VarianceScaling\",zeros:\"Zeros\"};function vZ(e,t){return void 0===t&&(t={}),iY(e,fU.serialization.SerializationMap.getMap().classNameMap,t,\"initializer\")}function yZ(e){return rY(e)}function bZ(e){if(\"string\"==typeof e){var t=e in mZ?mZ[e]:e;return\"GlorotUniform\"===t?new hZ:\"GlorotNormal\"===t?new dZ:\"HeNormal\"===t?new pZ:\"LeCunNormal\"===t?new fZ:vZ({className:t,config:{}})}return e instanceof nZ?e:vZ(e)}Object.freeze({zeros:function(){return new rZ},ones:function(){return new iZ},constant:function(e){return new oZ(e)},randomUniform:function(e){return new sZ(e)},randomNormal:function(e){return new aZ(e)},truncatedNormal:function(e){return new uZ(e)},identity:function(e){return new lZ(e)},varianceScaling:function(e){return new cZ(e)},glorotUniform:function(e){return new hZ(e)},glorotNormal:function(e){return new dZ(e)},heNormal:function(e){return new pZ(e)},leCunNormal:function(e){return new fZ(e)},orthogonal:function(e){return new gZ(e)}});function _Z(e){return Array.isArray(e)&&Array.isArray(e[0])}function CZ(e){return 0===e.length?[]:Array.isArray(e[0])?e:[e]}function wZ(e){var t;if(Array.isArray(e)){if(1!==e.length)throw new GU(\"Expected Tensor length to be 1; got \"+e.length);t=e[0]}else t=e;return t}function DZ(e){if(Array.isArray(e)&&Array.isArray(e[0])){if(1===e.length)return(e=e)[0];throw new GU(\"Expected exactly 1 Shape; got \"+e.length)}return e}function EZ(e){for(var t=0,n=0,r=e;n<r.length;n++){var i=r[n];0===i.shape.length?t+=1:t+=i.shape.reduce(function(e,t){return e*t})}return t}var AZ=\"Variable\",SZ=function(){function e(e,t,n,r,i){void 0===t&&(t=\"float32\"),void 0===n&&(n=AZ),void 0===r&&(r=!0),void 0===i&&(i=null),this.dtype=null==t?\"float32\":t,this.shape=e.shape,this.id=jU(),n=null==n?AZ:n,this.originalName=NY(n),this.name=IY(this.originalName),this.trainable=r,this.constraint=i,this.val=Object(fU.variable)(e,this.trainable,this.name,this.dtype)}return e.prototype.read=function(){return this.val},e.prototype.write=function(e){return function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error(\"Shape mismatch: \"+JSON.stringify(e.shape)+\" vs. \"+JSON.stringify(t.shape))}(this.val,e),this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val)),this},e}();function xZ(e){return e.map(function(e){return e.read()})}function MZ(e){e.map(function(e){e[0].write(e[1])})}var NZ=function(e){this.dtype=e.dtype,this.shape=e.shape,null!=e.shape?this.ndim=e.shape.length:this.ndim=e.ndim,this.maxNDim=e.maxNDim,this.minNDim=e.minNDim,this.axes=e.axes||{}},IZ=function(e,t,n,r,i,o,s){this.dtype=e,this.shape=t,this.sourceLayer=n,this.inputs=r,this.callArgs=i,this.outputTensorIndex=s,this.id=jU(),null!=o&&(this.originalName=NY(o),this.name=IY(this.originalName)),this.rank=t.length},LZ=0,kZ=function(){function e(e,t){this.callArgs=t,this.id=LZ++,this.outboundLayer=e.outboundLayer,this.inboundLayers=e.inboundLayers,this.nodeIndices=e.nodeIndices,this.tensorIndices=e.tensorIndices,this.inputTensors=e.inputTensors,this.outputTensors=e.outputTensors,this.inputMasks=e.inputMasks,this.outputMasks=e.outputMasks,this.inputShapes=e.inputShapes,this.outputShapes=e.outputShapes;for(var n=0,r=e.inboundLayers;n<r.length;n++){var i=r[n];null!=i&&i.outboundNodes.push(this)}e.outboundLayer.inboundNodes.push(this)}return e.prototype.getConfig=function(){for(var e=[],t=0,n=this.inboundLayers;t<n.length;t++){var r=n[t];null!=r?e.push(r.name):e.push(null)}return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:e,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}},e}(),TZ=0,FZ=function(e){function t(t){var n=e.call(this)||this;n._callHook=null,n._addedWeightNames=[],n._stateful=!1,n.id=TZ++,n.activityRegularizer=null,n.inputSpec=null,n.supportsMasking=!1,n._trainableWeights=[],n._nonTrainableWeights=[],n._losses=[],n._updates=[],n._built=!1,n.inboundNodes=[],n.outboundNodes=[];var r=t.name;if(!r){var i=n.getClassName();r=tY(i)+\"_\"+WU(i)}if(n.name=r,n.trainable=null==t.trainable||t.trainable,n.updatable=null==t.updatable||t.updatable,null!=t.inputShape||null!=t.batchInputShape){var o=void 0;if(null!=t.batchInputShape)o=t.batchInputShape;else if(null!=t.inputShape){var s=null;null!=t.batchSize&&(s=t.batchSize),o=[s].concat(t.inputShape)}n.batchInputShape=o;var a=t.dtype;null==a&&(a=t.inputDType),null==a&&(a=\"float32\"),n.dtype=a}return null!=t.weights?n.initialWeights=t.weights:n.initialWeights=null,n}return kU(t,e),t.nodeKey=function(e,t){return e.name+\"_ib-\"+t.toString()},t.prototype.getNodeAtIndex=function(e,t){if(0===this.inboundNodes.length)throw new ZU(\"The layer has never been called and thus has no defined \"+t+\".\");if(this.inboundNodes.length<=e)throw new GU(\"Asked to get \"+t+\" at node \"+e+\", but the layer has only \"+this.inboundNodes.length+\" inbound nodes.\");return this.inboundNodes[e]},t.prototype.getInputAt=function(e){return $U(this.getNodeAtIndex(e,\"input\").inputTensors)},t.prototype.getOutputAt=function(e){return $U(this.getNodeAtIndex(e,\"output\").outputTensors)},Object.defineProperty(t.prototype,\"input\",{get:function(){if(this.inboundNodes.length>1)throw new YU(\"Layer \"+this.name+' has multiple inbound nodes, hence the notion of \"layer input\" is ill-defined. Use `getInputAt(nodeIndex)` instead.');if(0===this.inboundNodes.length)throw new YU(\"Layer \"+this.name+\" is not connected, no input to return.\");return $U(this.getNodeAtIndex(0,\"input\").inputTensors)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"output\",{get:function(){if(0===this.inboundNodes.length)throw new YU(\"Layer \"+this.name+\" has no inbound nodes.\");if(this.inboundNodes.length>1)throw new YU(\"Layer \"+this.name+' has multiple inbound nodes, hence the notion of \"layer output\" is ill-defined. Use `getOutputAt(nodeIndex)` instead.');return $U(this.getNodeAtIndex(0,\"output\").outputTensors)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"losses\",{get:function(){return this._losses},enumerable:!0,configurable:!0}),t.prototype.calculateLosses=function(){return this.losses.map(function(e){return e()})},Object.defineProperty(t.prototype,\"updates\",{get:function(){return this._updates},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"built\",{get:function(){return this._built},set:function(e){this._built=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"trainableWeights\",{get:function(){return this.trainable?this._trainableWeights:[]},set:function(e){this._trainableWeights=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"nonTrainableWeights\",{get:function(){return this.trainable?this._nonTrainableWeights:this._trainableWeights.concat(this._nonTrainableWeights)},set:function(e){this._nonTrainableWeights=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"weights\",{get:function(){return this.trainableWeights.concat(this.nonTrainableWeights)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"stateful\",{get:function(){return this._stateful},enumerable:!0,configurable:!0}),t.prototype.assertInputCompatibility=function(e){if(e=eY(e),null!=this.inputSpec&&0!==this.inputSpec.length){var t=eY(this.inputSpec);if(e.length!==t.length)throw new GU(\"Layer \"+this.name+\" expects \"+t.length+\" inputs, but it received \"+e.length+\" input tensors. Input received: \"+e);for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(null!=i){var o=r.rank;if(null!=i.ndim&&o!==i.ndim)throw new GU(\"Input \"+n+\" is incompatible with layer \"+this.name+\": expected ndim=\"+i.ndim+\", found ndim=\"+o);if(null!=i.maxNDim&&o>i.maxNDim)throw new GU(\"Input \"+n+\" is incompatible with layer \"+this.name+\": expected max_ndim=\"+i.maxNDim+\", found ndim=\"+o);if(null!=i.minNDim&&o<i.minNDim)throw new GU(\"Input \"+n+\" is incompatible with layer \"+this.name+\": expected min_ndim=\"+i.minNDim+\", found ndim=\"+o+\".\");if(null!=i.dtype&&r.dtype!==i.dtype)throw new GU(\"Input \"+n+\" is incompatible with layer \"+this.name+\" : expected dtype=\"+i.dtype+\", found dtype=\"+r.dtype+\".\");if(i.axes){var s=r.shape;for(var a in i.axes){var u=Number(a),l=i.axes[a],c=u>=0?s[u]:s[s.length+u];if(null!=l&&-1===[l,null].indexOf(c))throw new GU(\"Input \"+n+\" is incompatible with layer \"+this.name+\": expected axis \"+u+\" of input shape to have value \"+l+\" but got shape \"+s+\".\")}}if(null!=i.shape)for(var h=0;h<i.shape.length;++h){var d=i.shape[h],p=r.shape[h];if(null!=d&&null!=p&&d!==p)throw new GU(\"Input \"+n+\" is incompatible with layer \"+this.name+\": expected shape=\"+i.shape+\", found shape=${xShape}.\")}}}}},t.prototype.call=function(e,t){return e},t.prototype.invokeCallHook=function(e,t){null!=this._callHook&&this._callHook(e,t)},t.prototype.setCallHook=function(e){this._callHook=e},t.prototype.clearCallHook=function(){this._callHook=null},t.prototype.apply=function(e,t){var n=this;t=t||{};for(var r=eY(e),i=!0,o=0,s=r;o<s.length;o++)if(!(s[o]instanceof IZ)){i=!1;break}for(var a=!0,u=0,l=r;u<l.length;u++)if(l[u]instanceof IZ){a=!1;break}if(i===a)throw new GU(\"Arguments to apply() must be all SymbolicTensors or all Tensors\");return MY(this.name,function(){if(!n.built){n.assertInputCompatibility(e);for(var i=[],o=0,s=eY(e);o<s.length;o++){var u=s[o];i.push(u.shape)}n.build($U(i)),n.built=!0,n.initialWeights&&n.setWeights(n.initialWeights)}if(n.assertInputCompatibility(e),a){for(var l=[],c=0,h=eY(g=n.call(e,t));c<h.length;c++){var d=h[c];-1!==r.indexOf(d)&&(d=d.clone()),l.push(d)}if(g=$U(l),null!=n.activityRegularizer)throw new KU(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return g}var p=function(e){for(var t=[],n=0,r=e=eY(e);n<r.length;n++){var i=r[n];t.push(i.shape)}return $U(t)}(e),f=n.computeOutputShape(p),g=void 0,m=\"float32\";if(n.warnOnIncompatibleInputShape(Array.isArray(e)?p[0]:p),g=null!=f&&f.length>0&&Array.isArray(f[0])?f.map(function(r,i){return new IZ(m,r,n,eY(e),t,n.name,i)}):new IZ(m,f,n,eY(e),t,n.name),n.addInboundNode(e,g,null,null,p,f,t),null!=n.activityRegularizer)throw new KU(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return g})},t.prototype.warnOnIncompatibleInputShape=function(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(\"The rank of the input tensor provided (shape: \"+JSON.stringify(e)+\") does not match that of the batchInputShape (\"+JSON.stringify(this.batchInputShape)+\") of the layer \"+this.name);else{var t=!1;this.batchInputShape.forEach(function(n,r){null!=n&&null!=e[r]&&e[r]!==n&&(t=!0)}),t&&console.warn(\"The shape of the input tensor (\"+JSON.stringify(e)+\") does not match the expectation of layer \"+this.name+\": \"+JSON.stringify(this.batchInputShape))}},Object.defineProperty(t.prototype,\"outputShape\",{get:function(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new YU(\"The layer \"+this.name+\" has never been called and thus has no defined output shape.\");for(var e=[],t=0,n=this.inboundNodes;t<n.length;t++){var r=n[t],i=JSON.stringify(r.outputShapes);-1===e.indexOf(i)&&e.push(i)}if(1===e.length){var o=this.inboundNodes[0].outputShapes;return Array.isArray(o)&&Array.isArray(o[0])&&1===o.length?o[0]:o}throw new YU(\"The layer \"+this.name+' has multiple inbound nodes with different output shapes. Hence the notion of \"outut shape\" is ill-defined for the layer.')},enumerable:!0,configurable:!0}),t.prototype.countParams=function(){if(!this.built)throw new ZU(\"You tried to call countParams() on \"+this.name+\", but the layer is not built yet. Build it first by calling build(batchInputShape).\");return EZ(this.weights)},t.prototype.build=function(e){this.built=!0},t.prototype.getWeights=function(e){return void 0===e&&(e=!1),xZ(e?this.trainableWeights:this.weights)},t.prototype.setWeights=function(e){var t=this;Object(fU.tidy)(function(){var n=t.weights;if(n.length!==e.length)throw new GU('You called setWeights(weights) on layer \"'+t.name+'\" with a weight list of length '+e.length+\", but the layer was expecting \"+n.length+\" weights. Provided weights: \"+e+\"...\");if(0!==n.length){for(var r=[],i=xZ(n),o=0;o<i.length;++o){var s=i[o],a=n[o],u=e[o];if(!fU.util.arraysEqual(s.shape,u.shape))throw new GU(\"Layer weight shape \"+s.shape+\" not compatible with provided weight shape \"+u.shape);r.push([a,u])}MZ(r)}})},t.prototype.addWeight=function(e,t,n,r,i,o,s){if(-1!==this._addedWeightNames.indexOf(e))throw new GU(\"Duplicate weight name \"+e+\" for layer \"+this.name);this._addedWeightNames.push(e),null==n&&(n=\"float32\");var a=new SZ(r.apply(t,n),n,e,o,s);return null!=i&&this.addLoss(function(){return i.apply(a.read())}),null==o&&(o=!0),o?this._trainableWeights.push(a):this._nonTrainableWeights.push(a),a},t.prototype.addLoss=function(e){var t;null==e||Array.isArray(e)&&0===e.length||(e=eY(e),void 0!==this._losses&&null!==this._losses&&(t=this.losses).push.apply(t,e))},t.prototype.computeOutputShape=function(e){return e},t.prototype.computeMask=function(e,t){var n=this;if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(\"Layer \"+this.name+\" does not support masking,but was passed an inputMask.\");t.forEach(function(e){if(null!=e)throw new TypeError(\"Layer \"+n.name+\" does not support masking,but was passed an inputMask.\")})}return null}return t},t.prototype.addInboundNode=function(e,t,n,r,i,o,s){void 0===s&&(s=null);var a=eY(e);t=eY(t),n=eY(n),r=eY(r),i=CZ(i),o=CZ(o);for(var u=[],l=[],c=[],h=0,d=a;h<d.length;h++){var p=d[h];u.push(p.sourceLayer),l.push(p.nodeIndex),c.push(p.tensorIndex)}new kZ({outboundLayer:this,inboundLayers:u,nodeIndices:l,tensorIndices:c,inputTensors:a,outputTensors:t,inputMasks:n,outputMasks:r,inputShapes:i,outputShapes:o},s);for(var f=0;f<t.length;f++)t[f].sourceLayer=this,t[f].nodeIndex=this.inboundNodes.length-1,t[f].tensorIndex=f},t.prototype.getConfig=function(){var e={name:this.name,trainable:this.trainable};return null!=this.batchInputShape&&(e.batchInputShape=this.batchInputShape),null!=this.dtype&&(e.dtype=this.dtype),e},t}(fU.serialization.Serializable);var OZ=function(e){function t(t){var n=e.call(this,{dtype:t.dtype,name:null!=t.name?t.name:WU(\"input\").toString()})||this;if(null==t.batchSize&&(t.batchSize=null),null==t.sparse&&(t.sparse=!1),n.trainable=!1,n.built=!0,n.sparse=t.sparse,null!=t.inputShape&&null!=t.batchInputShape)throw new GU(\"Only provide the inputShape OR batchInputShape argument to inputLayer, not both at the same time.\");var r=t.batchInputShape;if(null==r){if(null==t.inputShape)throw new GU(\"An InputLayer should be passed either a `batchInputShape` or an `inputShape`.\");r=[t.batchSize].concat(t.inputShape)}else if(null!=t.batchSize)throw new GU(\"Cannot specify batchSize if batchInputShape isspecified when creating an InputLayer.\");var i=t.dtype||\"float32\";n.batchInputShape=r,n.dtype=i,n.inputSpec=[{shape:r}];var o=new IZ(n.dtype,n.batchInputShape,n,[],{},n.name);return o.nodeIndex=0,o.tensorIndex=0,new kZ({outboundLayer:n,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:[o],outputTensors:[o],inputMasks:[null],outputMasks:[null],inputShapes:[r],outputShapes:[r]}),n}return kU(t,e),t.prototype.apply=function(e,t){throw new GU(\"Cannot pass any input to an InputLayer's apply() method. InputLayer name: \"+this.name)},t.prototype.getConfig=function(){return{batchInputShape:this.batchInputShape,dtype:this.dtype,sparse:this.sparse,name:this.name}},t.className=\"InputLayer\",t}(FZ);function PZ(e){if(null==e.batchShape&&null==e.shape)throw new Error(\"Please provide to Input either a `shape` or a `batchShape` argument. Note that `shape` does not include the batch dimension.\");if(null!=e.batchShape&&null!=e.shape)throw new GU(\"Please provide either a `shape` or `batchShape` argument to Input, but not both.\");var t=e.batchShape;null!=e.shape&&null==t&&(t=[null].concat(e.shape));var n=e.dtype;return null==n&&(n=\"float32\"),new OZ({batchInputShape:t,name:e.name,dtype:n,sparse:e.sparse}).inboundNodes[0].outputTensors[0]}function BZ(e){return FU(this,void 0,void 0,function(){var t,n,r,i,o,s,a,u;return OU(this,function(l){switch(l.label){case 0:if(null==e)return[2];for(i in t=[],n=[],r=[],e)\"number\"!=typeof(o=e[i])&&(s=o,t.push(s.data()),n.push(i),r.push(s));return[4,Promise.all(t)];case 1:for(a=l.sent(),u=0;u<a.length;++u)e[n[u]]=a[u][0];return Object(fU.dispose)(r),[2]}})})}fU.serialization.SerializationMap.register(OZ);var RZ=function(){function e(){this.validationData=null}return e.prototype.setParams=function(e){this.params=e},e.prototype.onEpochBegin=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(e){return[2]})})},e.prototype.onEpochEnd=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(e){return[2]})})},e.prototype.onBatchBegin=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(e){return[2]})})},e.prototype.onBatchEnd=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(e){return[2]})})},e.prototype.onTrainBegin=function(e){return FU(this,void 0,void 0,function(){return OU(this,function(e){return[2]})})},e.prototype.onTrainEnd=function(e){return FU(this,void 0,void 0,function(){return OU(this,function(e){return[2]})})},e.prototype.setModel=function(e){},e}(),jZ=function(){function e(e,t){void 0===t&&(t=10),null==e&&(e=[]),this.callbacks=e,this.queueLength=t}return e.prototype.append=function(e){this.callbacks.push(e)},e.prototype.setParams=function(e){for(var t=0,n=this.callbacks;t<n.length;t++)n[t].setParams(e)},e.prototype.setModel=function(e){for(var t=0,n=this.callbacks;t<n.length;t++)n[t].setModel(e)},e.prototype.onEpochBegin=function(e,t){return FU(this,void 0,void 0,function(){var n,r;return OU(this,function(i){switch(i.label){case 0:null==t&&(t={}),n=0,r=this.callbacks,i.label=1;case 1:return n<r.length?[4,r[n].onEpochBegin(e,t)]:[3,4];case 2:i.sent(),i.label=3;case 3:return n++,[3,1];case 4:return[2]}})})},e.prototype.onEpochEnd=function(e,t){return FU(this,void 0,void 0,function(){var n,r;return OU(this,function(i){switch(i.label){case 0:null==t&&(t={}),n=0,r=this.callbacks,i.label=1;case 1:return n<r.length?[4,r[n].onEpochEnd(e,t)]:[3,4];case 2:i.sent(),i.label=3;case 3:return n++,[3,1];case 4:return[2]}})})},e.prototype.onBatchBegin=function(e,t){return FU(this,void 0,void 0,function(){var n,r;return OU(this,function(i){switch(i.label){case 0:null==t&&(t={}),n=0,r=this.callbacks,i.label=1;case 1:return n<r.length?[4,r[n].onBatchBegin(e,t)]:[3,4];case 2:i.sent(),i.label=3;case 3:return n++,[3,1];case 4:return[2]}})})},e.prototype.onBatchEnd=function(e,t){return FU(this,void 0,void 0,function(){var n,r;return OU(this,function(i){switch(i.label){case 0:null==t&&(t={}),n=0,r=this.callbacks,i.label=1;case 1:return n<r.length?[4,r[n].onBatchEnd(e,t)]:[3,4];case 2:i.sent(),i.label=3;case 3:return n++,[3,1];case 4:return[2]}})})},e.prototype.onTrainBegin=function(e){return FU(this,void 0,void 0,function(){var t,n;return OU(this,function(r){switch(r.label){case 0:null==e&&(e={}),t=0,n=this.callbacks,r.label=1;case 1:return t<n.length?[4,n[t].onTrainBegin(e)]:[3,4];case 2:r.sent(),r.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},e.prototype.onTrainEnd=function(e){return FU(this,void 0,void 0,function(){var t,n;return OU(this,function(r){switch(r.label){case 0:null==e&&(e={}),t=0,n=this.callbacks,r.label=1;case 1:return t<n.length?[4,n[t].onTrainEnd(e)]:[3,4];case 2:r.sent(),r.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},e}(),zZ=function(e){function t(){return e.call(this)||this}return kU(t,e),t.prototype.onEpochBegin=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(e){return this.seen=0,this.totals={},[2]})})},t.prototype.onBatchEnd=function(e,t){return FU(this,void 0,void 0,function(){var e,n,r,i,o=this;return OU(this,function(s){for(i in null==t&&(t={}),e=null==t.size?0:t.size,this.seen+=e,n=function(n){var i=t[n];if(\"number\"==typeof i)r.totals.hasOwnProperty(n)||(r.totals[n]=0),r.totals[n]=r.totals[n]+i*e;else{var s=void 0;n in r.totals?s=r.totals[n]:r.totals[n]=UU(0),r.totals[n]=Object(fU.tidy)(function(){return Object(fU.add)(o.totals[n],Object(fU.mul)(i,UU(e)))}),null!=s&&s.dispose()}},r=this,t)n(i);return[2]})})},t.prototype.onEpochEnd=function(e,t){return FU(this,void 0,void 0,function(){var e,n,r,i,o,s=this;return OU(this,function(a){if(null!=t)for(e=function(e){if(null==n.totals[e])return\"continue\";\"number\"==typeof n.totals[e]?t[e]=n.totals[e]/n.seen:Object(fU.tidy)(function(){t[e]=Object(fU.mul)(Object(fU.div)(UU(1),UU(s.seen)),s.totals[e]),s.totals[e].dispose(),Object(fU.keep)(t[e])})},n=this,r=0,i=this.params.metrics;r<i.length;r++)o=i[r],e(o);return[2]})})},t}(RZ),WZ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.onTrainBegin=function(e){return FU(this,void 0,void 0,function(){return OU(this,function(e){return this.epoch=[],this.history={},[2]})})},t.prototype.onEpochEnd=function(e,t){return FU(this,void 0,void 0,function(){var n;return OU(this,function(r){for(n in null==t&&(t={}),this.epoch.push(e),t)null==this.history[n]&&(this.history[n]=[]),this.history[n].push(t[n]);return[2]})})},t.prototype.syncData=function(){return FU(this,void 0,void 0,function(){var e,t,n,r,i,o,s,a,u;return OU(this,function(l){switch(l.label){case 0:for(r in e=[],t=[],n=[],this.history)for(i=this.history[r],o=0;o<i.length;++o)\"number\"!=typeof i[o]&&(s=i[o],e.push(s.data()),t.push(r),n.push(o));return[4,Promise.all(e)];case 1:for(a=l.sent(),u=0;u<a.length;++u)this.history[t[u]][n[u]].dispose(),this.history[t[u]][n[u]]=a[u][0];return[2]}})})},t}(RZ),VZ=function(e){function t(t){var n=e.call(this)||this;return n.trainBegin=t.onTrainBegin,n.trainEnd=t.onTrainEnd,n.epochBegin=t.onEpochBegin,n.epochEnd=t.onEpochEnd,n.batchBegin=t.onBatchBegin,n.batchEnd=t.onBatchEnd,n}return kU(t,e),t.prototype.onEpochBegin=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(n){switch(n.label){case 0:return null==this.epochBegin?[3,3]:[4,BZ(t)];case 1:return n.sent(),[4,this.epochBegin(e,t)];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.onEpochEnd=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(n){switch(n.label){case 0:return null==this.epochEnd?[3,3]:[4,BZ(t)];case 1:return n.sent(),[4,this.epochEnd(e,t)];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.onBatchBegin=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(n){switch(n.label){case 0:return null==this.batchBegin?[3,3]:[4,BZ(t)];case 1:return n.sent(),[4,this.batchBegin(e,t)];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.onBatchEnd=function(e,t){return FU(this,void 0,void 0,function(){return OU(this,function(n){switch(n.label){case 0:return null==this.batchEnd?[3,3]:[4,BZ(t)];case 1:return n.sent(),[4,this.batchEnd(e,t)];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.onTrainBegin=function(e){return FU(this,void 0,void 0,function(){return OU(this,function(t){switch(t.label){case 0:return null==this.trainBegin?[3,3]:[4,BZ(e)];case 1:return t.sent(),[4,this.trainBegin(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},t.prototype.onTrainEnd=function(e){return FU(this,void 0,void 0,function(){return OU(this,function(t){switch(t.label){case 0:return null==this.trainEnd?[3,3]:[4,BZ(e)];case 1:return t.sent(),[4,this.trainEnd(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},t}(RZ);function HZ(e,t){return Object(fU.tidy)(function(){var n=Object(fU.sum)(QY(e),t,!0),r=Object(fU.mul)(Object(fU.scalar)(BU()),Object(fU.onesLike)(e)),i=Object(fU.sqrt)(Object(fU.maximum)(n,r));return Object(fU.div)(e,i)})}function UZ(e,t){return Object(fU.tidy)(function(){return Object(fU.mean)(QY(Object(fU.sub)(t,e)),-1)})}function YZ(e,t){return Object(fU.tidy)(function(){return Object(fU.mean)(Object(fU.abs)(Object(fU.sub)(t,e)),-1)})}function ZZ(e,t){return Object(fU.tidy)(function(){var n=Object(fU.sub)(e,t),r=Object(fU.clipByValue)(Object(fU.abs)(e),BU(),Number.MAX_VALUE),i=Object(fU.abs)(Object(fU.div)(n,r));return Object(fU.mul)(UU(100),Object(fU.mean)(i,-1))})}function GZ(e,t){return Object(fU.tidy)(function(){var n=UU(1),r=Object(fU.clipByValue)(t,BU(),Number.MAX_VALUE),i=Object(fU.log)(Object(fU.add)(n,r)),o=Object(fU.clipByValue)(e,BU(),Number.MAX_VALUE),s=Object(fU.log)(Object(fU.add)(n,o));return Object(fU.mean)(QY(Object(fU.sub)(i,s)),-1)})}function KZ(e,t){return Object(fU.tidy)(function(){var n=UU(0),r=UU(1),i=Object(fU.maximum)(n,Object(fU.sub)(r,Object(fU.mul)(e,t)));return Object(fU.mean)(QY(i),-1)})}function qZ(e,t){return Object(fU.tidy)(function(){var n=UU(0),r=UU(1),i=Object(fU.maximum)(n,Object(fU.sub)(r,Object(fU.mul)(e,t)));return Object(fU.mean)(i,-1)})}function QZ(e,t){return Object(fU.tidy)(function(){var n=UU(0),r=UU(1),i=Object(fU.sum)(Object(fU.mul)(e,t),-1),o=Object(fU.max)(Object(fU.mul)(Object(fU.sub)(r,e),t),-1);return Object(fU.maximum)(n,Object(fU.add)(r,Object(fU.sub)(o,i)))})}function XZ(e,t){return Object(fU.tidy)(function(){var n=UU(Math.log(2)),r=Object(fU.sub)(t,e),i=Object(fU.sub)(Object(fU.add)(r,Object(fU.softplus)(Object(fU.mul)(UU(-2),r))),n);return Object(fU.mean)(i,-1)})}function JZ(e,t,n){return void 0===n&&(n=!1),Object(fU.tidy)(function(){if(n)t=Object(fU.softmax)(t);else{var r=Object(fU.sum)(t,t.shape.length-1,!0);t=Object(fU.div)(t,r)}return t=Object(fU.clipByValue)(t,BU(),1-BU()),Object(fU.neg)(Object(fU.sum)(Object(fU.mul)(e.toFloat(),Object(fU.log)(t)),t.shape.length-1))})}function $Z(e,t,n){return void 0===n&&(n=!1),Object(fU.tidy)(function(){var r=Object(fU.floor)(function(e){var t=[FY(e.shape)];return e.reshape(t)}(e)).toInt(),i=t.shape;return JZ(Object(fU.oneHot)(r,i[i.length-1]).reshape(i),t,n)})}function eG(e,t){return Object(fU.tidy)(function(){var n;return n=Object(fU.clipByValue)(t,BU(),1-BU()),n=Object(fU.log)(Object(fU.div)(n,Object(fU.sub)(Object(fU.onesLike)(n),n))),Object(fU.mean)(function(e,t){return Object(fU.tidy)(function(){var n=Object(fU.maximum)(t,Object(fU.zerosLike)(t)),r=Object(fU.mul)(t,e),i=Object(fU.log)(Object(fU.add)(UU(1),Object(fU.exp)(Object(fU.neg)(Object(fU.abs)(t)))));return Object(fU.add)(Object(fU.sub)(n,r),i)})}(e,n),-1)})}function tG(e,t){return Object(fU.tidy)(function(){var n=Object(fU.clipByValue)(e,BU(),1),r=Object(fU.clipByValue)(t,BU(),1);return Object(fU.sum)(Object(fU.mul)(e,Object(fU.log)(Object(fU.div)(n,r))),-1)})}function nG(e,t){return Object(fU.tidy)(function(){var n=Object(fU.log)(Object(fU.add)(UU(BU()),t));return Object(fU.mean)(Object(fU.sub)(t,Object(fU.mul)(e,n)),-1)})}function rG(e,t){return Object(fU.tidy)(function(){var n=HZ(e,-1),r=HZ(t,-1),i=Object(fU.mul)(n,r);return Object(fU.neg)(Object(fU.sum)(i,-1))})}function iG(e){var t={meanSquaredError:UZ,meanAbsoluteError:YZ,meanAbsolutePercentageError:ZZ,meanSquaredLogarithmicError:GZ,squaredHinge:KZ,hinge:qZ,categoricalHinge:QZ,logcosh:XZ,categoricalCrossentropy:JZ,sparseCategoricalCrossentropy:$Z,binaryCrossentropy:eG,kullbackLeiblerDivergence:tG,poisson:nG,cosineProximity:rG};if(\"string\"==typeof e){if(e in t)return t[e];throw new GU(\"Unknown loss \"+e)}return e}function oG(e,t){return Object(fU.tidy)(function(){var n=Object(fU.mul)(UU(.5),Object(fU.onesLike)(t)),r=jY(Object(fU.greater)(t,n),e.dtype);return Object(fU.mean)(Object(fU.equal)(e,r),-1)})}function sG(e,t){return Object(fU.tidy)(function(){return jY(Object(fU.equal)(Object(fU.argMax)(e,-1),Object(fU.argMax)(t,-1)),\"float32\")})}function aG(e,t){return eG(e,t)}function uG(e,t){throw new KU}var lG=UZ,cG=UZ,hG=YZ,dG=YZ,pG=ZZ,fG=ZZ,gG=JZ,mG=rG,vG=$Z;function yG(e,t,n){void 0===n&&(n=console.log);for(var r=\"\",i=0;i<e.length;++i)i>0&&(r=r.slice(0,r.length-1)+\" \"),r=(r+=e[i]).slice(0,t[i]),r+=\" \".repeat(t[i]-r.length);n(r)}function bG(e,t,n){var r;try{r=JSON.stringify(e.outputShape)}catch(e){r=\"multiple\"}yG([e.name+\" (\"+e.getClassName()+\")\",r,e.countParams().toString()],t,n)}function _G(e,t,n,r){var i;try{i=JSON.stringify(e.outputShape)}catch(e){i=\"multiple\"}for(var o=[],s=0,a=e.inboundNodes;s<a.length;s++){var u=a[s];if(!(null!=n&&n.length>0&&-1===n.indexOf(u)))for(var l=0;l<u.inboundLayers.length;++l){var c=u.inboundLayers[l].name,h=u.nodeIndices[l],d=u.tensorIndices[l];o.push(c+\"[\"+h+\"][\"+d+\"]\")}}var p=e.name,f=e.getClassName(),g=0===o.length?\"\":o[0];for(yG([p+\" (\"+f+\")\",i,e.countParams().toString(),g],t,r),l=1;l<o.length;++l)yG([\"\",\"\",\"\",o[l]],t,r)}function CG(e,t){return void 0===t&&(t={}),iY(e,fU.serialization.SerializationMap.getMap().classNameMap,t,\"layer\")}function wG(e,t,n){return(\"inboundNodes\"===e||\"outputLayers\"===e||\"inputLayers\"===e)&&0===t&&\"string\"==typeof n}function DG(e,t,n,r){if(!n.startsWith(\"2.\"))throw new GU(\"Unsupported Keras version in weights being loaded: \"+n);return t}function EG(e,t,n){var r=function(e){switch(e){case\"float32\":return\"float32\";default:throw new GU(\"Invalid dtype: \"+e)}}(e);return fU.Tensor.make(t,{values:0===t.length?n:fU.util.flatten(n)},r)}var AG=function(e){function t(n){var r=e.call(this,{})||this;if(r.containerNodes=new Set,r.name=n.name,null==r.name){var i=r.getClassName().toLowerCase();r.name=WU(i)}if(r.supportsMasking=!1,r.trainable=!0,r.updatable=!0,Array.isArray(n.inputs)?r.inputs=n.inputs.slice():r.inputs=[n.inputs],Array.isArray(n.outputs)?r.outputs=n.outputs.slice():r.outputs=[n.outputs],sY(r.inputs).length!==r.inputs.length)throw new GU(\"The list of inputs passed to the model is redundant. All inputs should only appear once. Found: \"+r.inputs.map(function(e){return e.name}));sY(r.outputs).length!==r.outputs.length&&console.warn(\"The list of outputs passed to the model is redundant. All outputs should only appear once. Found: \"+r.outputs.map(function(e){return e.name})),r.inputLayers=[],r.inputLayersNodeIndices=[],r.inputLayersTensorIndices=[],r.outputLayers=[],r.outputLayersNodeIndices=[],r.outputLayersTensorIndices=[],r.layers=[];for(var o=0,s=r.outputs;o<s.length;o++){var a=(S=s[o]).sourceLayer,u=S.nodeIndex,l=S.tensorIndex;r.outputLayers.push(a),r.outputLayersNodeIndices.push(u),r.outputLayersTensorIndices.push(l)}for(var c=0,h=r.inputs;c<h.length;c++)a=(S=h[c]).sourceLayer,u=S.nodeIndex,l=S.tensorIndex,XU(0===u,\"input layer has >1 nodes\"),XU(0===l,\"input layer has >1 tensors\"),r.inputLayers.push(a),r.inputLayersNodeIndices.push(u),r.inputLayersTensorIndices.push(l);r.inputNames=[],r.outputNames=[],r.feedInputShapes=[],r.feedInputNames=[],r.feedOutputNames=[];for(var d=0;d<r.inputLayers.length;d++){if(!((a=r.inputLayers[d])instanceof OZ))throw new TypeError(\"Input layers to a Model must be InputLayer objects. Received inputs: \"+n.inputs+\". Input \"+d+\" (0-based) originates from layer type \"+a.getClassName()+\".\");r.inputNames.push(a.name),r.feedInputShapes.push(a.batchInputShape),r.feedInputNames.push(a.name)}for(var p=0,f=r.outputLayers;p<f.length;p++)a=f[p],r.outputNames.push(a.name);r.internalInputShapes=r.inputs.map(function(e){return e.shape}),r.internalOutputShapes=r.outputs.map(function(e){return e.shape});for(var g={},m={},v={},y={},b={},_=[],C=function(e,n,i,o,s,a){null!=o&&null!=s&&null!=a||(o=e.sourceLayer,s=e.nodeIndex,a=e.tensorIndex);var u=o.inboundNodes[s];if(-1!==i.indexOf(u))throw new ZU(\"The tensor \"+e.name+' at layer \"'+o.name+'\" is part of a cycle.');if(-1===n.indexOf(u)){r.containerNodes.add(t.nodeKey(o,s)),o.id in b||(b[o.id]=Object.keys(b).length),-1===i.indexOf(u)&&i.push(u);for(var l=u.inboundLayers.length,c=0;c<l;c++){var h=u.inputTensors[c],d=u.inboundLayers[c],p=u.nodeIndices[c],f=u.tensorIndices[c];C(h,n,i,d,p,f)}for(n.push(u);i.indexOf(u)>=0;)i.splice(i.indexOf(u),1);_.push(u)}},w=[],D=[],E=0,A=r.outputs;E<A.length;E++){var S=A[E];C(S,w,D)}for(var x=0,M=_.slice().reverse();x<M.length;x++){m[(Q=M[x]).id]=Q,Q.id in g||(g[Q.id]=0);var N=g[Q.id],I=null==v[Q.outboundLayer.id]?0:v[Q.outboundLayer.id];for(N=Math.max(N,I),v[Q.outboundLayer.id]=N,y[Q.outboundLayer.id]=Q.outboundLayer,g[Q.id]=N,d=0;d<Q.inboundLayers.length;d++){var L=Q.inboundLayers[d],k=(u=Q.nodeIndices[d],L.inboundNodes[u]),T=null==g[k.id]?0:g[k.id];g[k.id]=Math.max(N+1,T),m[k.id]=k}}var F={};for(var O in g)(N=g[O])in F||(F[N]=[]),F[N].push(m[O]);var P={};for(var B in v)(N=v[B])in P||(P[N]=[]),P[N].push(y[B]);var R=Object.keys(P).map(function(e){return parseInt(e,10)}).sort(oY);r.layers=[];for(var j=0,z=R;j<z.length;j++){var W=P[N=z[j]];W.sort(function(e,t){var n=b[e.id],r=b[t.id];return n<r?-1:n>r?1:0});for(var V=0,H=W;V<H.length;V++)a=H[V],r.layers.push(a)}r.layersByDepth=P,R=Object.keys(F).map(function(e){return parseInt(e,10)}).sort(oY);for(var U=r.inputs.slice(),Y=[],Z=0,G=R;Z<G.length;Z++)for(var K=0,q=F[N=G[Z]];K<q.length;K++){var Q;if(null!=(a=(Q=q[K]).outboundLayer)){for(var X=0,J=Q.inputTensors;X<J.length;X++)if(S=J[X],-1===U.indexOf(S))throw new ZU(\"Graph disconnected: cannot obtain value for tensor \"+S+' at layer \"'+a.name+'\". The following previous layers were accessed without issue: '+Y);for(var $=0,ee=Q.outputTensors;$<ee.length;$++)S=ee[$],U.push(S);Y.push(a.name)}}r.nodesByDepth=F;for(var te=r.layers.map(function(e){return e.name}),ne=function(e){var t=te.filter(function(t){return t===e}).length;if(1!==t)throw new ZU('The name \"'+e+'\" is used '+t+\" times in the model. All layer names should be unique. Layer names: \"+JSON.stringify(te))},re=0,ie=te;re<ie.length;re++)ne(ie[re]);return r.outboundNodes=[],r.inboundNodes=[],new kZ({outboundLayer:r,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:r.inputs,outputTensors:r.outputs,inputMasks:r.inputs.map(function(e){return null}),outputMasks:r.outputs.map(function(e){return null}),inputShapes:r.inputs.map(function(e){return e.shape}),outputShapes:r.outputs.map(function(e){return e.shape})}),r.built=!0,r}return kU(t,e),Object.defineProperty(t.prototype,\"trainableWeights\",{get:function(){if(this._trainableWeights.length>0)throw new GU(\"Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.\");if(!this.trainable)return[];for(var e=[],t=0,n=this.layers;t<n.length;t++){var r=n[t];e=e.concat(r.trainableWeights)}return e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"nonTrainableWeights\",{get:function(){for(var e=[],t=0,n=this.layers;t<n.length;t++){var r=n[t];e.push.apply(e,r.nonTrainableWeights)}if(!this.trainable){for(var i=[],o=0,s=this.layers;o<s.length;o++)r=s[o],i.push.apply(i,r.trainableWeights);return i.concat(e)}return e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"weights\",{get:function(){return this.trainableWeights.concat(this.nonTrainableWeights)},enumerable:!0,configurable:!0}),t.prototype.loadWeights=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1),n?function(e,t){for(var n={},r=0,i=0,o=t;i<o.length;i++)for(var s=0,a=o[i].weights;s<a.length;s++){var u=a[s];if(null!=n[u.originalName])throw new GU(\"Duplicate weight name: \"+u.originalName);n[u.originalName]=u,r++}var l=[];for(var c in e)l.push([n[c],e[c]]),delete n[c];var h=[];for(var d in n)h.push(d);if(h.length>0)throw new GU(h.length+\" of \"+r+\" weights are not set: \"+h);MZ(l)}(e,this.layers):function(e,t,n){void 0===n&&(n=!1);for(var r=e.keras_version,i=(e.backend,t.map(function(e){return e.name})),o={},s=0,a=t;s<a.length;s++)null!=(y=a[s]).name&&(null==o[y.name]&&(o[y.name]=[]),o[y.name].push(y));for(var u=e.weights,l=[],c=0;c<i.length;++c){var h=i[c],d=u[h];null==d&&(d=[]);for(var p=[],f=0;f<d.length;++f){var g=d[f];p.push(new SZ(EG(g.dtype,g.shape,g.value)))}for(var m=0,v=o[h];m<v.length;m++){var y,b=(y=v[m]).weights;if((p=DG(0,p,r)).length!==b.length){if(!n)throw new GU(\"Layer #\"+c+' (named \"'+y.name+'\") expects '+b.length+\" weight(s), but the saved weights have \"+p.length+\" element(s).\");console.warn(\"Skipping loading of weights of layer \"+y.name+\" due to mismatch in number of weights: (\"+p.length+\" vs \"+b.length+\").\")}for(var _=0;_<p.length;++_)!n||fU.util.arraysEqual(b[_].shape,p[_].shape)?l.push([b[_],p[_].read()]):console.warn(\"Skipping loading of weights for layer \"+y.name+\" due to mismatch in shape (\"+b[_].shape+\" vs \"+p[_].shape+\")\")}}MZ(l)}(e,this.layers,t)},t.prototype.updatedConfig=function(){var e=this.getConfig();return{className:this.getClassName(),config:e,kerasVersion:\"tfjs-layers 0.7.2\",backend:\"TensorFlow.js\"}},t.prototype.toJSON=function(e,t){void 0===t&&(t=!0);var n=function e(t,n){if(null===t||void 0===t)return null;if(\"string\"==typeof t)return tY(t);if(\"number\"==typeof t||\"boolean\"==typeof t)return t;if(t instanceof Array){for(var r=[],i=t.length,o=0;o<i;++o){var s=t[o];wG(n,o,s)?r.push(s):r.push(e(s,n))}return r}for(var a={},u=0,l=Object.keys(t);u<l.length;u++){var c=l[u],h=t[c];a[tY(c)]=\"name\"!==c&&\"className\"!==c||\"string\"!=typeof h?e(h,c):h}return a}(this.updatedConfig());return t?JSON.stringify(n):n},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var r;return e=eY(e),r=\"mask\"in t?eY(t.mask):QU(null,e.length),n.runInternalGraph(e,r)[0]})},t.prototype.computeMask=function(e,t){var n=this;return Object(fU.tidy)(function(){var r;return e=eY(e),r=null==t?QU(null,e.length):eY(t),n.runInternalGraph(e,r)[1]})},t.prototype.computeOutputShape=function(e){var t=CZ(e);if(t.length!==this.inputLayers.length)throw new GU(\"Invalid inputShape argument \"+e+\": model has \"+this.inputLayers.length+\" tensor inputs.\");for(var n={},r=0;r<t.length;r++){var i=this.inputLayers[r],o=t[r];n[D=i.name+\"_0_0\"]=o}var s=Object.keys(this.nodesByDepth).map(function(e){return parseInt(e,10)}).sort(oY);if(s.length>1)for(var a=0,u=s;a<u.length;a++)for(var l=u[a],c=0,h=this.nodesByDepth[l];c<h.length;c++){var d=h[c];if(i=d.outboundLayer,-1===this.inputLayers.map(function(e){return e.id}).indexOf(i.id)){for(var p=[],f=0;f<d.inboundLayers.length;f++){var g=d.inboundLayers[f],m=d.nodeIndices[f],v=d.tensorIndices[f],y=n[D=g.name+\"_\"+m+\"_\"+v];p.push(y)}var b=CZ(i.computeOutputShape($U(p))),_=i.inboundNodes.indexOf(d);for(f=0;f<b.length;f++)n[D=i.name+\"_\"+_+\"_\"+f]=b[f]}}var C=[],w=[];for(r=0;r<this.outputLayers.length;r++){i=this.outputLayers[r],_=this.outputLayersNodeIndices[r],v=this.outputLayersTensorIndices[r];var D=i.name+\"_\"+_+\"_\"+v;w.push(D)}for(r=0;r<w.length;r++){var E=w[r];XU(E in n),C.push(n[E])}return $U(C)},t.prototype.runInternalGraph=function(e,t){null==t&&(t=QU(null,e.length));for(var n={},r=0;r<this.inputs.length;++r){var i=this.inputs[r],o=e[r],s=t[r];n[i.id]=[o,s]}for(var a=0,u=Object.keys(this.nodesByDepth).map(function(e){return parseInt(e,10)}).sort(oY);a<u.length;a++)for(var l=u[a],c=0,h=this.nodesByDepth[l];c<h.length;c++){for(var d=h[c],p=d.outboundLayer,f=d.inputTensors,g=d.outputTensors,m=new Array,v=0,y=f;v<y.length;v++)(i=y[v]).id in n&&m.push(n[i.id]);if(m.length===f.length){var b={},_=void 0,C=void 0,w=void 0,D=void 0;if(null!=d.callArgs&&(b=d.callArgs),1===m.length){var E=m[0],A=E[0],S=E[1];null==b.mask&&(b.mask=S),w=eY(p.call(A,b)),D=eY(p.computeMask(A,S)),_=[A],C=[S]}else _=m.map(function(e){return e[0]}),C=m.map(function(e){return e[1]}),null==b.mask&&(b.mask=C),w=eY(p.call(_,b)),D=eY(p.computeMask(_,C));if(p.activityRegularizer)throw new KU(\"Model invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.\");for(r=0;r<g.length;++r)i=g[r],o=w[r],s=D[r],n[i.id]=[o,s]}}for(var x=[],M=[],N=[],I=0,L=this.outputs;I<L.length;I++){XU((i=L[I]).id in n,\"Could not compute output \"+i.name+\" : \"+i.id);var k=n[i.id],T=k[0];s=k[1],N.push(T.shape),x.push(T),M.push(s)}return[x,M,N]},t.prototype.buildNodeConversionMap=function(e){for(var n,r={},i=0,o=this.layers;i<o.length;i++){var s=o[i];n=s instanceof t?1:0;for(var a=0;a<s.inboundNodes.length;a++){var u=t.nodeKey(s,a);u in this.containerNodes&&(r[u]=n,n+=1)}}return r},t.prototype.getLayer=function(e,t){if(null!=t){if(this.layers.length<=t)throw new GU(\"Was asked to retrieve layer at index \"+t+\", but model only has \"+this.layers.length+\" layer(s).\");return this.layers[t]}if(null==e)throw new GU(\"Provide either a layer name or layer index\");for(var n=0,r=this.layers;n<r.length;n++){var i=r[n];if(i.name===e)return i}throw new GU(\"No such layer: \"+e)},t.prototype.calculateLosses=function(){var e=this;return Object(fU.tidy)(function(){for(var n=[],r=0,i=e.layers;r<i.length;r++)for(var o=i[r],s=0;s<o.inboundNodes.length;++s){var a=t.nodeKey(o,s);e.containerNodes.has(a)&&n.push.apply(n,o.calculateLosses())}return n})},t.prototype.getConfig=function(){for(var e={name:this.name},n=this.buildNodeConversionMap(this.layers),r=[],i=0,o=this.layers;i<o.length;i++){for(var s=(b=o[i]).getClassName(),a=b.getConfig(),u=[],l=0;l<b.inboundNodes.length;l++){var c=b.inboundNodes[l],h=t.nodeKey(b,l),d={};if(this.containerNodes.has(h)){if(c.callArgs)try{JSON.stringify(c.callArgs),d=c.callArgs}catch(e){console.warn(\"Layer \"+b.name+\" was passed non-serializable keyword arguments: \"+c.callArgs+\". They will not be included in the serialized model (and thus will be missing at deserialization time).\"),d={}}if(c.inboundLayers.length>0){for(var p=[],f=0;f<c.inboundLayers.length;f++){var g=c.inboundLayers[f],m=c.nodeIndices[f],v=c.tensorIndices[f];null!==(C=n[t.nodeKey(g,m)])&&void 0!==C||(C=0),p.push([g.name,C,v,d])}u.push(p)}}}r.push({name:b.name,className:s,config:a,inboundNodes:u})}e.layers=r;var y=[];for(f=0;f<this.inputLayers.length;f++){var b=this.inputLayers[f];m=this.inputLayersNodeIndices[f],h=t.nodeKey(b,m),this.containerNodes.has(h)&&(null!==(C=n[h])&&void 0!==C||(C=0),v=this.inputLayersTensorIndices[f],y.push([b.name,C,v]))}e.inputLayers=y;var _=[];for(f=0;f<this.outputLayers.length;f++){var C;if(b=this.outputLayers[f],m=this.outputLayersNodeIndices[f],h=t.nodeKey(b,m),this.containerNodes.has(h))null!==(C=n[h])&&void 0!==C||(C=0),v=this.outputLayersTensorIndices[f],_.push([b.name,C,v])}return e.outputLayers=_,e},t.fromConfig=function(e,t){var n={},r={};function i(e,t){e.name in r?r[e.name].push(t):r[e.name]=[t]}function o(e,t){for(var r,o=[],s=0,a=t;s<a.length;s++){var u=a[s],l=u[0],c=u[1],h=u[2];if(3===u.length)r={};else{if(4!==u.length)throw new GU(\"Improperly formatted model config for layer \"+JSON.stringify(e)+\": \"+JSON.stringify(u));r=u[3]}if(!(l in n))return void i(e,t);var d=n[l];if(d.inboundNodes.length<=c)return void i(e,t);var p=d.inboundNodes[c];o.push(p.outputTensors[h])}o.length>0&&e.apply($U(o),r)}function s(e){var r=e.name,o=CG(e,null!=t.customObjects?t.customObjects:{});n[r]=o;for(var s=0,a=e.inboundNodes;s<a.length;s++){var u=a[s];if(!(u instanceof Array))throw new GU(\"Corrupted configuration, expected array for nodeData: \"+u);i(o,u)}}for(var a=t.name,u=t.layers,l=0,c=u;l<c.length;l++)s(p=c[l]);for(;!aY(r);)for(var h=0,d=u;h<d.length;h++){var p=d[h];if((S=n[p.name]).name in r){for(var f=0,g=r[S.name];f<g.length;f++)o(S,g[f]);delete r[S.name]}}for(var m=[],v=[],y=0,b=t.inputLayers;y<b.length;y++){var _=(p=b[y])[0],C=p[1],w=p[2];XU(_ in n);var D=(S=n[_]).inboundNodes[C].outputTensors;m.push(D[w])}for(var E=0,A=t.outputLayers;E<A.length;E++){var S;_=(p=A[E])[0],C=p[1],w=p[2],XU(_ in n),D=(S=n[_]).inboundNodes[C].outputTensors,v.push(D[w])}return new e({inputs:m,outputs:v,name:a})},Object.defineProperty(t.prototype,\"stateful\",{get:function(){if(this._stateful)throw new GU(\"Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.\");for(var e=0,t=this.layers;e<t.length;e++)if(t[e].stateful)return!0;return!1},enumerable:!0,configurable:!0}),t}(FZ);var SG,xG,MG=function(){function e(t){if(this.id2Value={},t instanceof e)for(var n in t.id2Value)this.id2Value[n]=t.id2Value[n];else{if(null==t)return;for(var r=0,i=t;r<i.length;r++){var o=i[r];this.add(o.key,o.value)}}}return e.prototype.add=function(e,t){if(null!=this.id2Value[e.id])throw new GU(\"Duplicate key: name=\"+e.name+\", id=\"+e.id);return this.id2Value[e.id]=function(e,t){if(null!=e.shape){if(e.shape.length!==t.shape.length)throw new GU(\"The rank of feed (\"+t.shape.length+\") does not match the rank of the key (\"+e.shape.length+\").\");for(var n=0;n<e.shape.length;++n)if(null!=e.shape[n]&&e.shape[n]!==t.shape[n])throw new GU(\"The \"+n+\"-th dimension of the feed (\"+t.shape[n]+\") is incompatible with that of the key (\"+e.shape[n]+\").\")}if(null==e.dtype||e.dtype===t.dtype)return t;try{return Object(fU.cast)(t,e.dtype)}catch(n){throw new GU(\"The dtype of the feed (\"+t.dtype+\") can not be cast to the dtype of the key '\"+e.name+\"' (\"+e.dtype+\").\")}}(e,t),this},e.prototype.addFeed=function(e){this.add(e.key,e.value)},e.prototype.hasKey=function(e){return null!=this.id2Value[e.id]},e.prototype.getValue=function(e){if(null==this.id2Value[e.id])throw new GU(\"Nonexistent key: \"+JSON.stringify(e));return this.id2Value[e.id]},e}();function NG(e,t,n){for(var r=Array.isArray(e),i=r?e:[e],o=[],s=new MG(t),a=0,u=i;a<u.length;a++){var l=u[a];o.push(IG(l,s,n))}return r?o:o[0]}function IG(e,t,n){if(t.hasKey(e))return t.getValue(e);if(e.sourceLayer instanceof OZ)throw new GU(\"Missing a feed value for SymbolicTensor from InputLayer '\"+OZ.name+\"'\");for(var r=[],i=0,o=e.inputs;i<o.length;i++){var s=IG(o[i],t,n);r.push(s)}var a=e.sourceLayer.apply(r,n);Array.isArray(a)||(a=[a]);for(var u=function(e){var t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{for(var n=null,r=0;r<e.sourceLayer.inboundNodes.length;++r)for(var i=0,o=e.sourceLayer.inboundNodes[r].outputTensors;i<o.length;i++)if(o[i].id===e.id){n=r;break}t=e.sourceLayer.getOutputAt(n)}return t}(e),l=Array.isArray(u)?u:[u],c=0;c<l.length;++c)t.add(l[c],a[c]);return 1===a.length?a[0]:a[e.outputTensorIndex]}function LG(e){return Array.isArray(e)}function kG(e){return!function(e){return e instanceof fU.Tensor}(e)&&!LG(e)}function TG(e,t,n,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=\"\"),null==t||0===t.length){if(null!=e){var o=!1;if(LG(e)&&e.length>0)o=!0;else if(kG(e)){for(var s in e)if(e.hasOwnProperty(s)){o=!0;break}}else o=!0;if(o)throw new GU(\"Error when checking model \"+i+\" expected no data, but got \"+e)}return[]}if(null==e)return t.map(function(e){return null});var a;if(kG(e)){e=e,a=[];for(var u=0,l=t;u<l.length;u++){var c=l[u];if(null==e[c])throw new GU('No data provided for \"'+c+'\". Need data for each key in: '+t);a.push(e[c])}}else if(LG(e)){if((e=e).length!==t.length)throw new GU(\"Error when checking model \"+i+\": the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see \"+t.length+\" Tensor(s), but instead got the following list of Tensor(s): \"+e);a=e}else{if(e=e,t.length>1)throw new GU(\"The model \"+i+\" expects \"+t.length+\" Tensor(s), but only received one Tensor. Found: Tensor with shape \"+e.shape);a=[e]}for(var h=0;h<t.length;++h)1===(d=a[h]).shape.length&&(a[h]=zY(d,1));if(null!=n)for(h=0;h<t.length;++h)if(null!=n[h]){var d;if((d=a[h]).shape.length!==n[h].length)throw new GU(\"Error when checking \"+i+\": expected \"+t[h]+\" to have \"+n[h].length+\" dimension(s). but got array with shape \"+d.shape);for(var p=0;p<n[h].length;++p)if(0!==p||r){var f=d.shape[p],g=n[h][p];if(null!=g&&g>=0&&f!==g)throw new GU(\"Error when checking \"+i+\": expected \"+t[h]+\" to have shape [\"+n[h]+\"], but got array with shape [\"+d.shape+\"].\")}}return a}function FG(e,t){for(var n=[],r=0,i=null;r<e;)(i=r+t)>=e&&(i=e),n.push([r,i]),r=i;return n}function OG(e,t,n){return null==e?[null]:Array.isArray(e)?e.map(function(e){return WY(e,t,n-t)}):WY(e,t,n-t)}function PG(e,t){return Object(fU.tidy)(function(){return null==e?null:Array.isArray(e)?e.map(function(e){return PG(e,t)}):qY(e,\"int32\"===t.dtype?t:t.toInt())})}function BG(e,t,n,r,i){var o;if(void 0===r&&(r=!0),void 0===i&&(i=\"\"),Array.isArray(e)){if(e.length!==t.length)throw new GU(\"Error when checking model \"+i+\": the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see \"+t.length+\" Tensor(s), but instead got \"+e.length+\" Tensors(s).\");o=e}else{if(t.length>1)throw new GU(\"The model expects \"+t.length+\" \"+i+\" Tensors, but only received one Tensor. Found: array with shape \"+JSON.stringify(e.shape)+\".\");o=[e]}if(null!=n)for(var s=0;s<t.length;++s)if(null!=n[s]){var a=o[s];if(a.shape.length!==n[s].length)throw new GU(\"Error when checking \"+i+\": expected \"+t[s]+\" to have \"+n[s].length+\" dimension(s), but got array with shape \"+JSON.stringify(a.shape));for(var u=0;u<n[s].length;++u)if(0!==u||r){var l=a.shape[u],c=n[s][u];if(null!=c&&c!==l)throw new GU(\"Error when checking \"+i+\": expected \"+t[s]+\" to have shape \"+JSON.stringify(n[s])+\" but got array with shape \"+JSON.stringify(a.shape)+\".\")}}}(xG=SG||(SG={}))[xG.SILENT=0]=\"SILENT\",xG[xG.VERBOSE=1]=\"VERBOSE\";var RG=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.summary=function(e,t,n){if(void 0===n&&(n=console.log),!this.built)throw new GU(\"This model has never been called, thus its weights have not been created yet. So no summary can be displayed. Build the model first (e.g., by calling it on some test data).\");!function(e,t,n,r){void 0===r&&(r=console.log);var i,o=function(e){var t=!0,n=[],r=[];for(var i in e.nodesByDepth)n.push(e.nodesByDepth[i]);for(var o=0,s=n;o<s.length;o++){var a=s[o];if(a.length>1||1===a.length&&a[0].inboundLayers.length>1){t=!1;break}r.push.apply(r,a)}if(t)for(var u=0,l=e.layers;u<l.length;u++){for(var c=!1,h=0,d=l[u].inboundNodes;h<d.length;h++){var p=d[h];if(-1!==r.indexOf(p)){if(c){t=!1;break}c=!0}}if(!t)break}return t}(e),s=[\"Layer (type)\",\"Output shape\",\"Param #\"];if(o?(t=t||65,n=n||[.45,.85,1]):(t=t||98,n=n||[.33,.55,.67,1]),n[n.length-1]<=1&&(n=n.map(function(e){return Math.floor(t*e)})),!o)for(var a in s.push(\"Receives inputs\"),i=[],e.nodesByDepth)i.push.apply(i,e.nodesByDepth[a]);r(\"_\".repeat(t)),yG(s,n,r),r(\"=\".repeat(t));for(var u,l=e.layers,c=0;c<l.length;++c)o?bG(l[c],n,r):_G(l[c],n,i,r),r((c===l.length-1?\"=\":\"_\").repeat(t));e.checkTrainableWeightsConsistency(),u=null!=e.collectedTrainableWeights?EZ(e.collectedTrainableWeights):EZ(e.trainableWeights);var h=EZ(e.nonTrainableWeights);r(\"Total params: \"+(u+h)),r(\"Trainable params: \"+u),r(\"Non-trainable params: \"+h),r(\"_\".repeat(t))}(this,e,t,n)},t.prototype.compile=function(e){var t=this;if(null==e.loss&&(e.loss=[]),this.loss=e.loss,\"string\"==typeof e.optimizer)this.optimizer=function(e){var t={Adagrad:function(){return fU.train.adagrad(.01)},Adadelta:function(){return fU.train.adadelta(1,.95,BU())},Adam:function(){return fU.train.adam(.001,.9,.999,BU())},Adamax:function(){return fU.train.adamax(.002,.9,.999,BU(),0)},RMSProp:function(){return fU.train.rmsprop(.001,.9,0,BU())},SGD:function(){return fU.train.sgd(.01)}};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new GU(\"Unknown Optimizer \"+e)}(e.optimizer);else{if(!(e.optimizer instanceof fU.Optimizer))throw new GU(\"User-defined optimizer must be an instance of tf.Optimizer.\");this.optimizer=e.optimizer}var n=[];if(Array.isArray(e.loss)||\"string\"==typeof e.loss||\"function\"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new GU(\"When passing an Array as loss, it should have one entry per model output. The model has \"+this.outputs.length+\" output(s), but you passed loss=\"+e.loss+\".\");var r=e.loss;n=r.map(function(e){return iG(e)})}else{var i=iG(e.loss);this.outputs.map(function(e){n.push(i)})}else{for(var o in e.loss=e.loss,e.loss)if(-1===this.outputNames.indexOf(o))throw new GU('Unknown entry in loss dictionary: \"'+o+'\". Only expect the following keys: '+this.outputNames);for(var s in this.outputNames)null==e.loss[s]&&console.warn('Output \"'+s+'\" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to '+s+\" during training\"),n.push(iG(e.loss[s]))}this.lossFunctions=n,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(var a=0;a<this.outputs.length;++a){var u=this.internalOutputShapes[a],l=this.outputNames[a];this.feedOutputNames.push(l),this.feedOutputShapes.push(u),this.feedLossFns.push(this.lossFunctions[a])}var c=[];this.metrics=e.metrics,this.metricsNames=[\"loss\"],this.metricsTensors=[],MY(\"loss\",function(){for(var e=0;e<t.outputs.length;++e)if(-1===c.indexOf(e)){var n=t.lossFunctions[e];t.outputs.length>1&&(t.metricsTensors.push([n,e]),t.metricsNames.push(t.outputNames[e]+\"_loss\"))}});var h=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map(function(e){return[]});if(Array.isArray(e))return t.map(function(t){return e});if(null!=e){for(var n=[],r=0,i=t;r<i.length;r++){var o=i[r],s=e.hasOwnProperty(o)?e[o]:[];Array.isArray(s)||(s=[s]),n.push(s)}return n}throw new TypeError(\"Type of metrics argument not understood. Expected an Array or Object, found: \"+e)}(e.metrics,this.outputNames);MY(\"metric\",function(){for(var e=function(e){if(-1!==c.indexOf(e))return\"continue\";!function(n){for(var r,i,o,s=function(n){if(-1!==[\"accuracy\",\"acc\",\"crossentropy\",\"ce\"].indexOf(n)){var s=t.internalOutputShapes[e];1===s[s.length-1]||t.lossFunctions[e]===eG?-1!==[\"accuracy\",\"acc\"].indexOf(n)?i=oG:-1!==[\"crossentropy\",\"ce\"].indexOf(n)&&(i=aG):t.lossFunctions[e]===$Z?-1!==[\"accuracy\",\"acc\"].indexOf(n)?i=uG:-1!==[\"crossentropy\",\"ce\"].indexOf(n)&&(i=vG):-1!==[\"accuracy\",\"acc\"].indexOf(n)?i=sG:-1!==[\"crossentropy\",\"ce\"].indexOf(n)&&(i=gG);var a=void 0;-1!==[\"accuracy\",\"acc\"].indexOf(n)?a=\"acc\":-1!==[\"crossentropy\",\"ce\"].indexOf(n)&&(a=\"ce\"),o=i,r=\"\"+a}else{var u=function(e){var t={binaryAccuracy:oG,categoricalAccuracy:sG,categoricalCrossentropy:gG,sparseCategoricalCrossentropy:vG,mse:lG,MSE:cG,mae:hG,MAE:dG,mape:pG,MAPE:fG,cosine:mG};if(\"string\"==typeof e&&e in t)return t[e];if(\"string\"!=typeof e&&null!=e)return e;throw new GU(\"Unknown metric \"+e)}(n);o=u,r=\"\"+n}var l;MY(r,function(){l=o}),function(e,n,r){t.outputNames.length>1&&(n=t.outputNames[e]+\"_\"+n),t.metricsNames.push(n),t.metricsTensors.push([r,e])}(e,r,l)},a=0,u=h[e];a<u.length;a++)s(u[a])}()},n=0;n<t.outputs.length;++n)e(n)}),this.collectedTrainableWeights=this.trainableWeights},t.prototype.checkTrainableWeightsConsistency=function(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn(\"Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?\")},t.prototype.evaluate=function(e,t,n){void 0===n&&(n={});var r=null==n.batchSize?32:n.batchSize,i=this.standardizeUserData(e,t,!0,r),o=i[0].concat(i[1]);this.makeTestFunction();var s=this.testFunction;return $U(this.testLoop(s,o,r,n.verbose,n.steps))},t.prototype.checkNumSamples=function(e,t,n,r){var i;if(void 0===r&&(r=\"steps\"),null!=n){if(i=null,null!=t)throw new GU(\"If \"+r+\" is set, batchSize must be null or undefined.Got batchSize = \"+t)}else{if(null==e)throw new GU(\"Either the input data should have a defined shape, or \"+r+\" shoud be specified.\");i=Array.isArray(e)?e[0].shape[0]:e.shape[0]}return i},t.prototype.execute=function(e,t){if(Array.isArray(t)&&0===t.length)throw new GU(\"`outputs` is an empty Array, which is not allowed.\");var n=Array.isArray(t),r=n?t:[t],i=this.retrieveSymbolicTensors(r),o=new MG;if(e instanceof fU.Tensor&&(e=[e]),Array.isArray(e)){if(e.length!==this.inputs.length)throw new GU(\"The number of inputs provided (\"+e.length+\") does not match the number of inputs of this model (\"+this.inputs.length+\").\");for(var s=0;s<this.inputs.length;++s)o.add(this.inputs[s],e[s])}else for(var a=0,u=this.inputs;a<u.length;a++){var l=u[a],c=e[l.name];if(null==c)throw new GU(\"No value is provided for the model's input \"+l.name);o.add(l,c)}var h=NG(i,o);return n?h:h[0]},t.prototype.retrieveSymbolicTensors=function(e){for(var t=QU(null,e.length),n=e.length,r=0,i=this.layers;r<i.length;r++){for(var o=i[r],s=Array.isArray(o.output)?o.output:[o.output],a=s.map(function(e){return e.name}),u=0;u<e.length;++u){var l=a.indexOf(e[u]);if(-1!==l&&(t[u]=s[l],n--),0===n)break}if(0===n)break}if(n>0){var c=[];throw t.forEach(function(t,n){null==t&&c.push(e[n])}),new GU(\"Cannot find SymbolicTensors for output name(s): \"+JSON.stringify(c))}return t},t.prototype.predictLoop=function(e,t,n){var r=this;return void 0===t&&(t=32),void 0===n&&(n=!1),Object(fU.tidy)(function(){var i=r.checkNumSamples(e);if(n)throw new KU(\"Verbose predictLoop() is not implemented yet.\");for(var o=FG(i,t),s=[],a=function(t){var n=Object(fU.tidy)(function(){var n=o[t][0],i=o[t][1],s=OG(e,n,i),a=[];if(Array.isArray(s))for(var u=0;u<s.length;++u)a.push({key:r.inputs[u],value:s[u]});else a.push({key:r.inputs[0],value:s});var l=new MG(a);return NG(r.outputs,l)});if(0===t)for(var i=0,a=n;i<a.length;i++){var u=a[i];s.push(u)}else for(var l=0;l<n.length;++l)s[l]=YY(s[l],n[l])},u=0;u<o.length;++u)a(u);return $U(s)})},t.prototype.predict=function(e,t){void 0===t&&(t={}),BG(e,this.inputNames,this.feedInputShapes,!1);var n=null==t.batchSize?32:t.batchSize;return this.predictLoop(e,n)},t.prototype.predictOnBatch=function(e){return BG(e,this.inputNames,this.feedInputShapes,!0),this.predictLoop(e,e.shape[0])},t.prototype.standardizeUserData=function(e,t,n,r){if(void 0===n&&(n=!0),null==this.optimizer)throw new ZU(\"You must compile a model before training/testing. Use Model.compile(modelCompileConfig).\");for(var i=[],o=0;o<this.feedOutputShapes.length;++o){var s=this.feedOutputShapes[o];this.feedLossFns[o]===$Z?i.push(s.slice(0,s.length-1).concat([1])):i.push(s)}if(function(e,t,n){var r=sY(e.map(function(e){return e.shape[0]}));r.sort();var i=sY(t.map(function(e){return e.shape[0]}));if(i.sort(),r.length>1)throw new GU(\"All input Tensors (x) should have the same number of samples. Got array shapes: \"+JSON.stringify(e.map(function(e){return e.shape})));if(i.length>1)throw new GU(\"All target Tensors (y) should have the same number of samples. Got array shapes: \"+JSON.stringify(t.map(function(e){return e.shape})));if(r.length>0&&i.length>0&&!fU.util.arraysEqual(r,i))throw new GU(\"Input Tensors should have the same number of samples as target Tensors. Found \"+r[0]+\" input sample(s) and \"+i[0]+\" target sample(s).\")}(e=TG(e,this.feedInputNames,this.feedInputShapes,!1,\"input\"),t=TG(t,this.feedOutputNames,i,!1,\"target\")),function(e,t,n){for(var r=[UZ,eG,JZ],i=0;i<e.length;++i){var o=e[i],s=t[i],a=n[i];if(null!=s){if(s===JZ&&1===o.shape[o.shape.length-1])throw new GU(\"You are passing a target array of shape \"+o.shape+\" while using a loss 'categorical_crossentropy'. 'categorical_crossentropy'expects targets to be binary matrices (1s and 0s) of shape [samples, classes].\");if(-1!==r.indexOf(s))for(var u=o.shape.slice(1),l=a.slice(1),c=0;c<u.length;++c){var h=u[c],d=l[c];if(null!=d&&h!==d)throw new GU(\"A target Tensor with shape \"+o.shape+\" was passed for an output of shape \"+a+\", while using a loss function that expects targets to have the same shape as the output.\")}}}}(t,this.feedLossFns,this.feedOutputShapes),this.stateful&&null!=r&&r>0&&e[0].shape[0]%r!=0)throw new GU(\"In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size \"+r+\". Found: \"+e[0].shape[0]+\" sample(s).\");return[e,t,null]},t.prototype.fitLoop=function(e,t,n,r,i,o,s,a,u,l,c,h,d,p){return FU(this,void 0,void 0,function(){var f,g,m,v,y,b,_,C=this;return OU(this,function(w){switch(w.label){case 0:if(null==r&&(r=32),null==i&&(i=1),null==l&&(l=!0),null==h&&(h=0),f=!1,null!=a&&null!=u&&(f=!0),null!=p&&(f=!0,null==d))throw new GU(\"Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.\");if(null!=(g=this.checkNumSamples(t,r,d,\"steps_per_epoch\"))&&(m=RY(0,g)),this.history=new WZ,s=(s=null==s?[new zZ]:[new zZ].concat(s)).concat([this.history]),o>0)throw new KU(\"Verbose mode is not implemented yet.\");return(v=new jZ(s)).setModel(this),v.setParams({epochs:i,initialEpoch:h,steps:d,verbose:o,doValidation:f,metrics:c}),[4,v.onTrainBegin()];case 1:w.sent(),this.stopTraining=!1,y=function(i){var o,s,c,h,p;return OU(this,function(y){switch(y.label){case 0:return[4,v.onEpochBegin(i)];case 1:if(y.sent(),o={},null==d)return[3,2];throw new KU(\"stepsPerEpoch mode is not implemented yet.\");case 2:if(\"batch\"===l)throw new KU(\"batch shuffling is not implemneted yet\");l&&fU.util.shuffle(m),s=Object(fU.tensor1d)(m),c=FG(g,r),h=function(i){var l;return OU(this,function(h){switch(h.label){case 0:return l={},[4,v.onBatchBegin(i,l)];case 1:return h.sent(),Object(fU.tidy)(function(){var h=c[i][0],d=c[i][1],p=WY(s,h,d-h);l.batch=i,l.size=d-h;for(var g=PG(t,p),m=e(g),v=0;v<n.length;++v){var y=n[v],b=m[v];l[y]=b,Object(fU.keep)(b)}if(i===c.length-1&&f){var _=C.testLoop(a,u,r);for(v=0;v<n.length;++v)y=n[v],b=_[v],Object(fU.keep)(b),o[\"val_\"+y]=b}}),[4,v.onBatchEnd(i,l)];case 2:return h.sent(),function(e){if(null!=e)for(var t in e){var n=e[t];\"number\"!=typeof n&&n.dispose()}}(l),b.stopTraining?[2,\"break\"]:[2]}})},p=0,y.label=3;case 3:return p<c.length?[5,h(p)]:[3,6];case 4:if(\"break\"===y.sent())return[3,6];y.label=5;case 5:return++p,[3,3];case 6:s.dispose(),y.label=7;case 7:return[4,v.onEpochEnd(i,o)];case 8:return y.sent(),b.stopTraining?[2,\"break\"]:[2]}})},b=this,_=h,w.label=2;case 2:return _<i?[5,y(_)]:[3,5];case 3:if(\"break\"===w.sent())return[3,5];w.label=4;case 4:return++_,[3,2];case 5:return[4,v.onTrainEnd()];case 6:return w.sent(),[4,this.history.syncData()];case 7:return w.sent(),[2,this.history]}})})},t.prototype.testLoop=function(e,t,n,r,i){var o=this;return void 0===r&&(r=0),Object(fU.tidy)(function(){var s=o.checkNumSamples(t,n,i,\"steps\"),a=[];if(1===r)throw new KU(\"Verbose mode is not implemented yet.\");if(null!=i)throw new KU(\"steps mode in testLoop() is not implemented yet\");for(var u=FG(s,n),l=Object(fU.tensor1d)(RY(0,s)),c=0;c<u.length;++c){var h=u[c][0],d=u[c][1],p=WY(l,h,d-h),f=PG(t,p),g=e(f);if(0===c)for(var m=0;m<g.length;++m)a.push(UU(0));for(m=0;m<g.length;++m){var v=g[m];a[m]=Object(fU.add)(a[m],Object(fU.mul)(UU(d-h),v))}}for(m=0;m<a.length;++m)a[m]=Object(fU.div)(a[m],UU(s));return a})},t.prototype.getDedupedMetricsNames=function(){for(var e=this.metricsNames,t=[],n=0;n<e.length;++n){var r=e[n],i=r;JU(e,r)>1&&(i+=\"_\"+JU(e.slice(0,n),r)),t.push(i)}return t},t.prototype.makeTestFunction=function(){var e=this;this.testFunction=function(t){return Object(fU.tidy)(function(){for(var n,r=[],i=t.slice(0,e.inputs.length),o=t.slice(e.inputs.length,e.inputs.length+e.outputs.length),s=[],a=0;a<e.inputs.length;++a)s.push({key:e.inputs[a],value:i[a]});var u=new MG(s),l=NG(e.outputs,u);for(a=0;a<e.lossFunctions.length;++a){var c=e.lossFunctions[a],h=Object(fU.mean)(c(o[a],l[a]));n=0===a?h:Object(fU.add)(n,h),r.push(n)}for(a=0;a<e.metricsTensors.length;++a){var d=e.metricsTensors[a][0],p=e.metricsTensors[a][1],f=Object(fU.mean)(d(o[p],l[p]));r.push(f)}return r})}},t.prototype.fit=function(e,t,n){return void 0===n&&(n={}),FU(this,void 0,void 0,function(){var r,i,o,s,a,u,l,c,h,d,p,f,g,m,v,y,b,_,C,w=this;return OU(this,function(D){switch(D.label){case 0:if(r=null==n.batchSize?32:n.batchSize,i=this.standardizeUserData(e,t,!1,r),o=i[0],s=i[1],a=!1,h=!1,null!=n.validationData&&n.validationData.length>0){if(a=!0,2!==n.validationData.length)throw 3===n.validationData.length?new KU(\"validationData including sample weights is not supported yet.\"):new GU(\"When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; \"+n.validationData+\" is invalid.\");u=n.validationData[0],l=n.validationData[1],d=this.standardizeUserData(u,l,!0,r),u=d[0],l=d[1],c=u.concat(l)}else null!=n.validationSplit&&n.validationSplit>0&&n.validationSplit<1?(a=!0,p=Math.floor(o[0].shape[0]*(1-n.validationSplit)),f=o[0].shape[0],u=OG(o,p,f),o=OG(o,0,p),l=OG(s,p,f),s=OG(s,0,p),h=!0,c=u.concat(l)):null!=n.validationSteps&&(a=!0);return g=o.concat(s),this.checkTrainableWeightsConsistency(),m=function(e){var t=e.slice(0,w.inputs.length),n=e.slice(w.inputs.length,w.inputs.length+w.outputs.length),r=[],i=w.collectedTrainableWeights.map(function(e){return e.read()});return[w.optimizer.minimize(function(){for(var e=[],i=0;i<w.inputs.length;++i)e.push({key:w.inputs[i],value:t[i]});var o,s=new MG(e),a=NG(w.outputs,s,{training:!0});for(i=0;i<w.lossFunctions.length;++i){var u=(0,w.lossFunctions[i])(n[i],a[i]);Object(fU.mean)(u),o=0===i?u:Object(fU.add)(o,u)}for(i=0;i<w.metricsTensors.length;++i){var l=w.metricsTensors[i][0],c=w.metricsTensors[i][1],h=Object(fU.mean)(l(n[c],a[c]));Object(fU.keep)(h),r.push(h)}return o=Object(fU.mean)(o),w.calculateLosses().forEach(function(e){o=Object(fU.add)(o,e)}),o},!0,i)].concat(r)},v=this.getDedupedMetricsNames(),a?(this.makeTestFunction(),y=this.testFunction,b=v.slice().concat(v.map(function(e){return\"val_\"+e}))):(y=null,c=[],b=v.slice()),_=function(e){return null==e?null:e instanceof RZ?[e]:Array.isArray(e)&&e[0]instanceof RZ?e:eY(e).map(function(e){return new VZ(e)})}(n.callbacks),[4,this.fitLoop(m,g,v,r,n.epochs,n.verbose,_,y,c,n.shuffle,b,n.initialEpoch,null,null)];case 1:return C=D.sent(),h&&(c.forEach(function(e){return e.dispose()}),o.forEach(function(e){return e.dispose()}),s.forEach(function(e){return e.dispose()})),[2,C]}})})},t.prototype.getNamedWeights=function(e){for(var t={},n=null!=e&&e.trainableOnly,r=n?this.trainableWeights:this.weights,i=this.getWeights(n),o=0;o<r.length;++o)n&&!r[o].trainable||(t[r[o].originalName]=i[o]);return t},t.prototype.save=function(e,t){return FU(this,void 0,void 0,function(){var n,r,i,o,s;return OU(this,function(a){switch(a.label){case 0:if(\"string\"==typeof e){if(0===(n=fU.io.getSaveHandlers(e)).length)throw new GU(\"Cannot find any save handlers for URL '\"+e+\"'\");if(n.length>1)throw new GU(\"Found more than one (\"+n.length+\") save handlers for URL '\"+e+\"'\");e=n[0]}if(null==e.save)throw new GU(\"Model.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return[4,fU.io.encodeWeights(this.getNamedWeights(t))];case 1:return r=a.sent(),i=!1,o=null,s=this.toJSON(o,i),[2,e.save({modelTopology:s,weightData:r.data,weightSpecs:r.specs})]}})})},t.className=\"Model\",t}(AG);fU.serialization.SerializationMap.register(RG);var jG=function(e){function t(t){var n=e.call(this,{inputs:[],outputs:[]})||this;if(t=t||{},n.trainable=!0,n._updatable=!0,n.built=!1,n.name=null!=t.name?t.name:WU(\"sequential_\"),null!=t.layers)for(var r=0,i=t.layers;r<i.length;r++){var o=i[r];n.add(o)}return n}return kU(t,e),t.prototype.add=function(e){var n,r=e instanceof t||e instanceof RG;if(r){if(1!==(n=e).outputs.length)throw new GU(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");if(1!==n.inputs.length)throw new GU(\"All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.\")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new GU(\"The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.\");var i=PZ({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+\"_input\"});e.apply(i)}if(r)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new GU(\"A layer added to a Sequential model must not already be connected somewhere else. Model received layer \"+e.name+\" which has \"+e.inboundNodes.length+\" pre-existing inbound connections.\");if(1!==e.inboundNodes[0].outputTensors.length)throw new GU(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=function e(t,n,r){if((null==n||null!=r&&r>0)&&(n=t.sourceLayer,r=t.nodeIndex),0===n.inboundNodes.length)return[t];var i=n.inboundNodes[r];if(0===i.inboundLayers.length)return i.inputTensors;for(var o=[],s=0;s<i.inboundLayers.length;s++)for(var a=0,u=e(i.inputTensors[s],i.inboundLayers[s],i.nodeIndices[s]);a<u.length;a++){var l=u[a];-1===o.indexOf(l)&&o.push(l)}return o}(this.outputs[0])}this.inboundNodes=[],new kZ({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:QU(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(function(e){return e.shape}),outputShapes:this.outputs[0].shape})}else{var o=e.apply(this.outputs[0]);if(Array.isArray(o))throw new TypeError(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.outputs=[o],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1},t.prototype.pop=function(){if(0===this.layers.length)throw new TypeError(\"There are no layers in the model.\");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{var e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}},t.prototype.call=function(e,t){return null==this.model&&this.build(),this.model.call(e,t)},t.prototype.build=function(e){if(DZ(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError(\"Sequential model cannot be built: model is empty. Add some layers first.\");this.model=new RG({inputs:this.inputs,outputs:this.outputs[0],name:this.name+\"_model\"}),this.model.trainable=this.trainable,this.model.updatable=this.updatable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0},t.prototype.countParams=function(){return this.built||this.build(),e.prototype.countParams.call(this)},t.prototype.summary=function(t,n,r){void 0===r&&(r=console.log),this.built||this.build(),e.prototype.summary.call(this,t,n,r)},t.prototype.setWeights=function(e){null==this.model&&this.build(),this.model.setWeights(e)},Object.defineProperty(t.prototype,\"updatable\",{get:function(){return this._updatable},set:function(e){this.built&&(this.model.updatable=e),this._updatable=e},enumerable:!0,configurable:!0}),t.prototype.evaluate=function(e,t,n){if(void 0===n&&(n={}),!this.built)throw new ZU(\"The model needs to be compiled before being used.\");return this.model.evaluate(e,t,n)},t.prototype.predict=function(e,t){return void 0===t&&(t={}),null==this.model&&this.build(),this.model.predict(e,t)},t.prototype.predictOnBatch=function(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)},t.prototype.compile=function(e){this.build(),this.model.compile(e),this.optimizer=this.model.optimizer,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames},t.prototype.fit=function(e,t,n){return void 0===n&&(n={}),FU(this,void 0,void 0,function(){return OU(this,function(r){if(!this.built)throw new ZU(\"The model needs to be compiled before being used.\");return[2,this.model.fit(e,t,n)]})})},t.fromConfig=function(e,n){var r=new e({});if(!(r instanceof t))throw new GU(\"Sequential.fromConfig called on non-Sequential input: \"+r);if(!(n instanceof Array))throw new GU(\"Sequential.fromConfig called without an array of configs\");if(null==n[0].className||\"Merge\"===n[0].className)throw new GU(\"Legacy serialization format not supported yet.\");for(var i=0,o=n;i<o.length;i++){var s=CG(o[i]);r.add(s)}return r},t.prototype.getConfig=function(){for(var e=[],t=0,n=this.layers;t<n.length;t++){var r=n[t];e.push({className:r.getClassName(),config:r.getConfig()})}return e},t.className=\"Sequential\",t}(RG);fU.serialization.SerializationMap.register(jG);var zG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.getConfig=function(){return{}},t}(fU.serialization.Serializable),WG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e,t){return void 0===t&&(t=1),function(e,t){if(void 0===t&&(t=1),1!==t)throw new KU(\"Support for alpha values other than 1 (\"+t+\") is not implemented yet.\");return Object(fU.elu)(e)}(e,t)},t.className=\"elu\",t}(zG);fU.serialization.SerializationMap.register(WG);var VG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.selu)(e)},t.className=\"selu\",t}(zG);fU.serialization.SerializationMap.register(VG);var HG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.relu)(e)},t.className=\"relu\",t}(zG);fU.serialization.SerializationMap.register(HG);var UG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.tidy)(function(){return Object(fU.minimum)(UU(6),Object(fU.relu)(e))})},t.className=\"relu6\",t}(zG);fU.serialization.SerializationMap.register(UG);var YG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return e},t.className=\"linear\",t}(zG);fU.serialization.SerializationMap.register(YG);var ZG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.sigmoid)(e)},t.className=\"sigmoid\",t}(zG);fU.serialization.SerializationMap.register(ZG);var GG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return function(e){return Object(fU.tidy)(function(){var t=Object(fU.add)(UU(.5),Object(fU.mul)(UU(.2),e));return Object(fU.clipByValue)(t,0,1)})}(e)},t.className=\"hardSigmoid\",t}(zG);fU.serialization.SerializationMap.register(GG);var KG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.softplus)(e)},t.className=\"softplus\",t}(zG);fU.serialization.SerializationMap.register(KG);var qG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return function(e){return Object(fU.tidy)(function(){return Object(fU.div)(e,Object(fU.add)(UU(1),Object(fU.abs)(e)))})}(e)},t.className=\"softsign\",t}(zG);fU.serialization.SerializationMap.register(qG);var QG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e){return Object(fU.tanh)(e)},t.className=\"tanh\",t}(zG);fU.serialization.SerializationMap.register(QG);var XG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e,t){return void 0===t&&(t=-1),Object(fU.softmax)(e,t)},t.className=\"softmax\",t}(zG);function JG(e){return e.getClassName()}function $G(e,t){return void 0===t&&(t={}),iY(e,fU.serialization.SerializationMap.getMap().classNameMap,t,\"activation\")}function eK(e){return null==e?$G({className:\"linear\",config:{}}):\"string\"==typeof e?$G({className:e,config:{}}):e instanceof zG?e:$G(e)}fU.serialization.SerializationMap.register(XG);var tK=function(e){function t(t){var n=e.call(this,null==t?{}:t)||this;return n.DEFAULT_ALPHA=.3,null==t&&(t={}),n.alpha=null==t.alpha?n.DEFAULT_ALPHA:t.alpha,n}return kU(t,e),t.prototype.call=function(e,t){var n=wZ(e);return Object(fU.leakyRelu)(n,this.alpha)},t.prototype.computeOutputShape=function(e){return e},t.prototype.getConfig=function(){var t={alpha:this.alpha},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"LeakyReLU\",t}(FZ);fU.serialization.SerializationMap.register(tK);var nK=function(e){function t(t){var n=e.call(this,null==t?{}:t)||this;if(n.DEFAULT_ALPHA=1,null==t&&(t={}),null!=t.alpha&&t.alpha!==n.DEFAULT_ALPHA)throw new KU(\"Non-default alpha value (\"+t.alpha+\") is not supported by the ELU layer yet.\");return n.alpha=null==t.alpha?n.DEFAULT_ALPHA:t.alpha,n}return kU(t,e),t.prototype.call=function(e,t){var n=wZ(e);return Object(fU.elu)(n)},t.prototype.computeOutputShape=function(e){return e},t.prototype.getConfig=function(){var t={alpha:this.alpha},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"ELU\",t}(FZ);fU.serialization.SerializationMap.register(nK);var rK=function(e){function t(t){var n=e.call(this,null==t?{}:t)||this;return n.DEFAULT_THETA=1,null==t&&(t={}),n.theta=null==t.theta?n.DEFAULT_THETA:t.theta,n.thetaTensor=UU(n.theta),n}return kU(t,e),t.prototype.call=function(e,t){var n=wZ(e);return n.mul(jY(n.greater(this.thetaTensor),\"float32\"))},t.prototype.computeOutputShape=function(e){return e},t.prototype.getConfig=function(){var t={theta:this.theta},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"ThresholdedReLU\",t}(FZ);fU.serialization.SerializationMap.register(rK);var iK=function(e){function t(t){var n=e.call(this,null==t?{}:t)||this;return n.DEFAULT_AXIS=1,null==t&&(t={}),n.softmax=(new XG).apply,n.axis=null==t.axis?n.DEFAULT_AXIS:t.axis,n}return kU(t,e),t.prototype.call=function(e,t){var n=wZ(e);return this.softmax(n,this.axis)},t.prototype.computeOutputShape=function(e){return e},t.prototype.getConfig=function(){var t={axis:this.axis},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Softmax\",t}(FZ);fU.serialization.SerializationMap.register(iK);var oK=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t}(fU.serialization.Serializable),sK=function(e){function t(t){var n=e.call(this)||this,r=null==t||null==t.l1?.01:t.l1,i=null==t||null==t.l2?.01:t.l2;return n.hasL1=0!==r,n.hasL2=0!==i,n.l1=UU(r),n.l2=UU(i),n}return kU(t,e),t.prototype.apply=function(e){var t=this;return Object(fU.tidy)(function(){var n=Object(fU.zeros)([1]);return t.hasL1&&(n=Object(fU.add)(n,Object(fU.sum)(Object(fU.mul)(t.l1,Object(fU.abs)(e))))),t.hasL2&&(n=Object(fU.add)(n,Object(fU.sum)(Object(fU.mul)(t.l2,QY(e))))),n.asScalar()})},t.prototype.getConfig=function(){return{l1:this.l1.dataSync()[0],l2:this.l2.dataSync()[0]}},t.fromConfig=function(e,t){return new e({l1:t.l1,l2:t.l2})},t.className=\"L1L2\",t}(oK);fU.serialization.SerializationMap.register(sK);var aK={l1l2:\"L1L2\"};function uK(e){return rY(e)}function lK(e,t){return void 0===t&&(t={}),iY(e,fU.serialization.SerializationMap.getMap().classNameMap,t,\"regularizer\")}function cK(e){return null==e?null:\"string\"==typeof e?lK({className:e in aK?aK[e]:e,config:{}}):e instanceof oK?e:lK(e)}function hK(e,t,n){if(\"number\"==typeof e)return QU(e,t);if(e.length!==t)throw new GU(\"The \"+n+\" argument must be a tuple of \"+t+\" integers. Received: \"+e.length+\" elements.\");for(var r=0;r<t;++r){var i=e[r];if(!TY(i))throw new GU(\"The \"+n+\" argument must be a tuple of \"+t+\" integers. Received: \"+JSON.stringify(e)+\" including a non-integer number \"+i)}return e}function dK(e,t,n,r,i){return void 0===i&&(i=1),null==e?e:(o=\"same\"===n?e:e-(t+(t-1)*(i-1))+1,Math.floor((o+r-1)/r));var o}function pK(e,t,n,r){if(null==e)return null;if(\"valid\"===r)e=e*t+BY([n-t,0]);else{if(\"same\"!==r)throw new GU(\"Unsupport padding mode: \"+r+\".\");e*=t}return e}function fK(e,t){return Object(fU.tidy)(function(){return wY(t),\"channelsFirst\"===t?Object(fU.transpose)(e,[0,2,3,1]):e})}var gK=function(e){function t(n,r){var i=e.call(this,r)||this;if(i.bias=null,i.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",i.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.verifyConfig(r),i.rank=n,1!==i.rank&&2!==i.rank)throw new KU(\"Convolution layer for rank other than 1 or 2 (\"+i.rank+\") is not implemented yet.\");if(i.kernelSize=hK(r.kernelSize,n,\"kernelSize\"),i.strides=hK(null==r.strides?1:r.strides,n,\"strides\"),i.padding=null==r.padding?\"valid\":r.padding,EY(i.padding),i.dataFormat=null==r.dataFormat?\"channelsLast\":r.dataFormat,wY(i.dataFormat),i.activation=eK(r.activation),i.useBias=null==r.useBias||r.useBias,i.biasInitializer=bZ(r.biasInitializer||i.DEFAULT_BIAS_INITIALIZER),i.biasConstraint=bY(r.biasConstraint),i.biasRegularizer=cK(r.biasRegularizer),i.activityRegularizer=cK(r.activityRegularizer),i.dilationRate=hK(null==r.dilationRate?1:r.dilationRate,n,\"dilationRate\"),1===i.rank&&Array.isArray(i.dilationRate)&&1!==i.dilationRate.length)throw new GU(\"dilationRate must be a number or an array of a single number for 1D convolution, but received \"+JSON.stringify(i.dilationRate));if(2===i.rank)if(\"number\"==typeof i.dilationRate)i.dilationRate=[i.dilationRate,i.dilationRate];else if(2!==i.dilationRate.length)throw new GU(\"dilationRate must be a number or array of two numbers for 2D convolution, but received \"+JSON.stringify(i.dilationRate));return i}return kU(t,e),t.verifyConfig=function(e){if(XU(\"kernelSize\"in e,\"required key 'kernelSize' not in config\"),\"number\"!=typeof e.kernelSize&&!lY(e.kernelSize,\"number\",1,2))throw new GU(\"BaseConv expects config.kernelSize to be number or number[] with length 1 or 2, but received \"+JSON.stringify(e.kernelSize)+\".\")},t.prototype.getConfig=function(){var t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:JG(this.activation),useBias:this.useBias,biasInitializer:yZ(this.biasInitializer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),biasConstraint:vY(this.biasConstraint)},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t}(FZ),mK=function(e){function t(n,r){var i=e.call(this,n,r)||this;return i.kernel=null,t.verifyConfig(r),i.filters=r.filters,i.kernelInitializer=bZ(r.kernelInitializer||i.DEFAULT_KERNEL_INITIALIZER),i.kernelConstraint=bY(r.kernelConstraint),i.kernelRegularizer=cK(r.kernelRegularizer),i}return kU(t,e),t.prototype.build=function(e){e=DZ(e);var t=\"channelsFirst\"===this.dataFormat?1:e.length-1;if(null==e[t])throw new GU(\"The channel dimension of the input should be defined. Found \"+e[t]);var n,r=e[t],i=this.kernelSize.concat([r,this.filters]);this.kernel=this.addWeight(\"kernel\",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:(n={},n[t]=r,n)}],this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t;e=wZ(e);var r=null==n.bias?null:n.bias.read();if(1===n.rank)t=function(e,t,n,r,i,o,s){return void 0===r&&(r=1),void 0===i&&(i=\"valid\"),void 0===s&&(s=1),Object(fU.tidy)(function(){if(null==o&&(o=\"channelsLast\"),wY(o),3!==e.shape.length)throw new GU(\"The input of a conv1dWithBias operation should be 3, but is \"+e.shape.length+\" instead.\");if(3!==t.shape.length)throw new GU(\"The kernel for a conv1dWithBias operation should be 3, but is \"+t.shape.length+\" instead\");if(null!=n&&1!==n.shape.length)throw new GU(\"The bias for a conv1dWithBias operation should be 1, but is \"+t.shape.length+\" instead\");if(\"channelsFirst\"===o&&(e=Object(fU.transpose)(e,[0,2,1])),\"causal\"===i)throw new KU(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");var a=Object(fU.conv1d)(e,t,r,\"same\"===i?\"same\":\"valid\",\"NWC\",s);return null!=n&&(a=XY(a,n)),a})}(e,n.kernel.read(),r,n.strides[0],n.padding,n.dataFormat,n.dilationRate[0]);else if(2===n.rank)t=function(e,t,n,r,i,o,s){return void 0===r&&(r=[1,1]),void 0===i&&(i=\"valid\"),Object(fU.tidy)(function(){if(null==o&&(o=\"channelsLast\"),wY(o),3!==e.rank&&4!==e.rank)throw new GU(\"conv2dWithBias expects input to be of rank 3 or 4, but received \"+e.rank+\".\");if(3!==t.rank&&4!==t.rank)throw new GU(\"conv2dWithBias expects kernel to be of rank 3 or 4, but received \"+e.rank+\".\");var a=fK(e,o);if(\"causal\"===i)throw new KU(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");return a=Object(fU.conv2d)(a,t,r,\"same\"===i?\"same\":\"valid\",\"NHWC\",s),null!=n&&(a=XY(a,n)),\"channelsFirst\"===o&&(a=Object(fU.transpose)(a,[0,3,1,2])),a})}(e,n.kernel.read(),r,n.strides,n.padding,n.dataFormat,n.dilationRate);else if(3===n.rank)throw new KU(\"3D convolution is not implemented yet.\");return null!=n.activation&&(t=n.activation.apply(t)),t})},t.prototype.computeOutputShape=function(e){e=DZ(e);for(var t=[],n=\"channelsLast\"===this.dataFormat?e.slice(1,e.length-1):e.slice(2),r=0;r<n.length;++r){var i=dK(n[r],this.kernelSize[r],this.padding,this.strides[r],\"number\"==typeof this.dilationRate?this.dilationRate:this.dilationRate[r]);t.push(i)}var o=[e[0]];return\"channelsLast\"===this.dataFormat?(o=o.concat(t)).push(this.filters):(o.push(this.filters),o=o.concat(t)),o},t.prototype.getConfig=function(){var t={filters:this.filters,kernelInitializer:yZ(this.kernelInitializer),kernelRegularizer:uK(this.kernelRegularizer),kernelConstraint:vY(this.kernelConstraint)},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.verifyConfig=function(e){if(!(\"filters\"in e)||\"number\"!=typeof e.filters||e.filters<1)throw new GU(\"Convolution layer expected config.filters to be a 'number' > 0 but got \"+JSON.stringify(e.filters))},t}(gK),vK=function(e){function t(n){var r=e.call(this,2,n)||this;return t.verifyConfig(n),r}return kU(t,e),t.prototype.getConfig=function(){var t=e.prototype.getConfig.call(this);return delete t.rank,t},t.verifyConfig=function(e){if(\"number\"!=typeof e.kernelSize&&!lY(e.kernelSize,\"number\",1,2))throw new GU(\"Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received \"+JSON.stringify(e.kernelSize)+\".\")},t.className=\"Conv2D\",t}(mK);fU.serialization.SerializationMap.register(vK);var yK=function(e){function t(t){var n=e.call(this,t)||this;if(n.inputSpec=[new NZ({ndim:4})],\"same\"!==n.padding&&\"valid\"!==n.padding)throw new GU(\"Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode \"+n.padding);return n}return kU(t,e),t.prototype.build=function(e){if(4!==(e=DZ(e)).length)throw new GU(\"Input should have rank 4; Received input shape: \"+JSON.stringify(e));var t=\"channelsFirst\"===this.dataFormat?1:e.length-1;if(null==e[t])throw new GU(\"The channel dimension of the inputs should be defined. Found `None`.\");var n,r=e[t],i=this.kernelSize.concat([this.filters,r]);this.kernel=this.addWeight(\"kernel\",i,\"float32\",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],\"float32\",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new NZ({ndim:4,axes:(n={},n[t]=r,n)})],this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t=wZ(e);if(4!==t.shape.length)throw new GU(\"Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-\"+t.shape.length);var r,i,o=t.shape,s=o[0];\"channelsFirst\"===n.dataFormat?(r=2,i=3):(r=1,i=2);var a=o[r],u=o[i],l=n.kernelSize[0],c=n.kernelSize[1],h=n.strides[0],d=n.strides[1],p=[s,pK(a,h,l,n.padding),pK(u,d,c,n.padding),n.filters];\"channelsLast\"!==n.dataFormat&&(t=Object(fU.transpose)(t,[0,2,3,1]));var f=Object(fU.conv2dTranspose)(t,n.kernel.read(),p,n.strides,n.padding);return\"channelsLast\"!==n.dataFormat&&(f=Object(fU.transpose)(f,[0,3,1,2])),null!=n.bias&&(f=XY(f,n.bias.read(),n.dataFormat)),null!=n.activation&&(f=n.activation.apply(f)),f})},t.prototype.computeOutputShape=function(e){var t,n,r,i=(e=DZ(e)).slice();\"channelsFirst\"===this.dataFormat?(t=1,n=2,r=3):(t=3,n=1,r=2);var o=this.kernelSize[0],s=this.kernelSize[1],a=this.strides[0],u=this.strides[1];return i[t]=this.filters,i[n]=pK(i[n],a,o,this.padding),i[r]=pK(i[r],u,s,this.padding),i},t.prototype.getConfig=function(){var t=e.prototype.getConfig.call(this);return delete t.dilationRate,t},t.className=\"Conv2DTranspose\",t}(vK);fU.serialization.SerializationMap.register(yK);var bK=function(e){function t(t){return e.call(this,2,t)||this}return kU(t,e),t.className=\"SeparableConv2D\",t}(function(e){function t(t,n){var r=e.call(this,t,n)||this;if(r.DEFAULT_DEPTHWISE_INITIALIZER=\"glorotUniform\",r.DEFAULT_POINTWISE_INITIALIZER=\"glorotUniform\",r.depthwiseKernel=null,r.pointwiseKernel=null,null==n.filters)throw new GU(\"The `filters` configuration field is required by SeparableConv, but is unspecified.\");if(null!=n.kernelInitializer||null!=n.kernelRegularizer||null!=n.kernelConstraint)throw new GU(\"Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.\");if(null!=n.padding&&\"same\"!==n.padding&&\"valid\"!==n.padding)throw new GU(\"SeparableConv\"+r.rank+\"D supports only padding modes: 'same' and 'valid', but received \"+JSON.stringify(n.padding));return r.depthMultiplier=null==n.depthMultiplier?1:n.depthMultiplier,r.depthwiseInitializer=bZ(n.depthwiseInitializer||r.DEFAULT_DEPTHWISE_INITIALIZER),r.depthwiseRegularizer=cK(n.depthwiseRegularizer),r.depthwiseConstraint=bY(n.depthwiseConstraint),r.pointwiseInitializer=bZ(n.depthwiseInitializer||r.DEFAULT_POINTWISE_INITIALIZER),r.pointwiseRegularizer=cK(n.pointwiseRegularizer),r.pointwiseConstraint=bY(n.pointwiseConstraint),r}return kU(t,e),t.prototype.build=function(e){if((e=DZ(e)).length<this.rank+2)throw new GU(\"Inputs to SeparableConv\"+this.rank+\"D should have rank \"+(this.rank+2)+\", but received input shape: \"+JSON.stringify(e));var t,n=\"channelsFirst\"===this.dataFormat?1:e.length-1;if(null==e[n]||e[n]<0)throw new GU(\"The channel dimension of the inputs should be defined, but found \"+JSON.stringify(e[n]));for(var r=e[n],i=this.kernelSize.concat([r,this.depthMultiplier]),o=[],s=0;s<this.rank;++s)o.push(1);o.push(r*this.depthMultiplier,this.filters),this.depthwiseKernel=this.addWeight(\"depthwise_kernel\",i,\"float32\",this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.pointwiseKernel=this.addWeight(\"pointwise_kernel\",o,\"float32\",this.pointwiseInitializer,this.pointwiseRegularizer,!0,this.pointwiseConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[this.filters],\"float32\",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.inputSpec=[new NZ({ndim:this.rank+2,axes:(t={},t[n]=r,t)})],this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t;if(e=wZ(e),1===n.rank)throw new KU(\"1D separable convolution is not implemented yet.\");return 2===n.rank&&(\"channelsFirst\"===n.dataFormat&&(e=Object(fU.transpose)(e,[0,2,3,1])),t=Object(fU.separableConv2d)(e,n.depthwiseKernel.read(),n.pointwiseKernel.read(),n.strides,n.padding,n.dilationRate,\"NHWC\")),n.useBias&&(t=XY(t,n.bias.read(),n.dataFormat)),null!=n.activation&&(t=n.activation.apply(t)),\"channelsFirst\"===n.dataFormat&&(t=Object(fU.transpose)(t,[0,3,1,2])),t})},t.prototype.getConfig=function(){var t=e.prototype.getConfig.call(this);return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=yZ(this.depthwiseInitializer),t.pointwiseInitializer=yZ(this.pointwiseInitializer),t.depthwiseRegularizer=uK(this.depthwiseRegularizer),t.pointwiseRegularizer=uK(this.pointwiseRegularizer),t.depthwiseConstraint=vY(this.depthwiseConstraint),t.pointwiseConstraint=vY(this.pointwiseConstraint),t},t.className=\"SeparableConv\",t}(mK));fU.serialization.SerializationMap.register(bK);var _K=function(e){function t(n){var r=e.call(this,1,n)||this;return t.verifyConfig(n),r.inputSpec=[{ndim:3}],r}return kU(t,e),t.prototype.getConfig=function(){var t=e.prototype.getConfig.call(this);return delete t.rank,delete t.dataFormat,t},t.verifyConfig=function(e){if(\"number\"!=typeof e.kernelSize&&!lY(e.kernelSize,\"number\",1,1))throw new GU(\"Conv1D expects config.kernelSize to be number or number[] with length 1, but received \"+JSON.stringify(e.kernelSize)+\".\")},t.className=\"Conv1D\",t}(mK);fU.serialization.SerializationMap.register(_K);var CK=function(e){function t(t){var n=e.call(this,t)||this;return\"number\"==typeof t.cropping?n.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:\"number\"==typeof t.cropping[0]?n.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:n.cropping=t.cropping,n.dataFormat=void 0===t.dataFormat?\"channelsLast\":t.dataFormat,n.inputSpec=[{ndim:4}],n}return kU(t,e),t.prototype.computeOutputShape=function(e){return\"channelsFirst\"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){return e=wZ(e),\"channelsLast\"===n.dataFormat?HY(HY(e,n.cropping[0][0],e.shape[1]-n.cropping[0][0]-n.cropping[0][1],2),n.cropping[1][0],e.shape[2]-n.cropping[1][1]-n.cropping[1][0],3):HY(HY(e,n.cropping[0][0],e.shape[2]-n.cropping[0][0]-n.cropping[0][1],3),n.cropping[1][0],e.shape[3]-n.cropping[1][1]-n.cropping[1][0],4)})},t.prototype.getConfig=function(){var t={cropping:this.cropping,dataFormat:this.dataFormat},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Cropping2D\",t}(FZ);fU.serialization.SerializationMap.register(CK);var wK=function(e){function t(t){var n=e.call(this,t)||this;return n.DEFAULT_SIZE=[2,2],n.inputSpec=[{ndim:4}],n.size=null==t.size?n.DEFAULT_SIZE:t.size,n.dataFormat=null==t.dataFormat?\"channelsLast\":t.dataFormat,n}return kU(t,e),t.prototype.computeOutputShape=function(e){if(\"channelsFirst\"===this.dataFormat){var t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}return t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2],[e[0],t,n,e[3]]},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t=wZ(e),r=t.shape;if(\"channelsFirst\"===n.dataFormat){t=Object(fU.transpose)(t,[0,2,3,1]);var i=n.size[0]*r[2],o=n.size[1]*r[3],s=t.resizeNearestNeighbor([i,o]);return Object(fU.transpose)(s,[0,3,1,2])}return i=n.size[0]*r[1],o=n.size[1]*r[2],t.resizeNearestNeighbor([i,o])})},t.prototype.getConfig=function(){var t={size:this.size,dataFormat:this.dataFormat},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"UpSampling2D\",t}(FZ);fU.serialization.SerializationMap.register(wK);var DK=function(e){function t(t){var n=e.call(this,2,t)||this;return n.depthwiseKernel=null,n.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,n.depthwiseInitializer=bZ(t.depthwiseInitializer||n.DEFAULT_KERNEL_INITIALIZER),n.depthwiseConstraint=bY(t.depthwiseConstraint),n.depthwiseRegularizer=cK(t.depthwiseRegularizer),n}return kU(t,e),t.prototype.build=function(e){if((e=DZ(e)).length<4)throw new GU(\"Inputs to DepthwiseConv2D should have rank 4. Received input shape: \"+JSON.stringify(e)+\".\");var t=\"channelsFirst\"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new GU(\"The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (\"+e[t]+\").\");var n=e[t],r=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight(\"depthwise_kernel\",r,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t=function(e,t,n,r,i,o){return void 0===n&&(n=[1,1]),void 0===r&&(r=\"valid\"),Object(fU.tidy)(function(){null==i&&(i=\"channelsLast\"),wY(i);var s=fK(e,i);if(4!==e.rank)throw new GU(\"Input for depthwiseConv2d is required to be 4-D, but is instead \"+e.rank+\"-D\");if(4!==t.rank)throw new GU(\"depthwiseKernel is required to be 4-D, but is instead \"+t.rank+\"-D\");return s=Object(fU.depthwiseConv2d)(s,t,n,\"same\"===r?\"same\":\"valid\",\"NHWC\",o),\"channelsFirst\"===i&&(s=Object(fU.transpose)(s,[0,3,1,2])),s})}(e=wZ(e),n.depthwiseKernel.read(),n.strides,n.padding,n.dataFormat,null);return n.useBias&&(t=XY(t,n.bias.read(),n.dataFormat)),null!=n.activation&&(t=n.activation.apply(t)),t})},t.prototype.computeOutputShape=function(e){e=DZ(e);var t=\"channelsFirst\"===this.dataFormat?e[2]:e[1],n=\"channelsFirst\"===this.dataFormat?e[3]:e[2],r=\"channelsFirst\"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,i=dK(t,this.kernelSize[0],this.padding,this.strides[0]),o=dK(n,this.kernelSize[1],this.padding,this.strides[1]);return\"channelsFirst\"===this.dataFormat?[e[0],r,i,o]:[e[0],i,o,r]},t.prototype.getConfig=function(){var t=e.prototype.getConfig.call(this);return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=yZ(this.depthwiseInitializer),t.depthwiseRegularizer=uK(this.depthwiseRegularizer),t.depthwiseConstraint=vY(this.depthwiseRegularizer),t},t.className=\"DepthwiseConv2D\",t}(gK);fU.serialization.SerializationMap.register(DK);var EK=function(e){function t(t){var n=e.call(this,t)||this;if(n.rate=Math.max(Math.min(t.rate,1),0),n.rateScalar=UU(n.rate),n.noiseShape=t.noiseShape,n.seed=t.seed,null!=n.seed)throw new KU(\"Non-default seed is not implemented in Dropout layer yet: \"+n.seed);return n.supportsMasking=!0,n}return kU(t,e),t.prototype.getNoiseShape=function(e){if(null==this.noiseShape)return this.noiseShape;for(var t=e.shape,n=[],r=0;r<this.noiseShape.length;++r)n.push(null==this.noiseShape[r]?t[r]:this.noiseShape[r]);return n},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){n.invokeCallHook(e,t);var r=wZ(e);if(null!=n.noiseShape&&!fU.util.arraysEqual(r.shape,n.noiseShape))throw new KU(\"Non-default noise shape is not implemented in Dropout layer yet: \"+JSON.stringify(n.noiseShape));if(0<n.rate&&n.rate<1){var i=null!=t.training&&t.training,o=n.getNoiseShape(r);return $Y(function(){return JY(r,n.rateScalar,o,n.seed)},function(){return r},i)}return e})},t.prototype.getConfig=function(){var t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Dropout\",t}(FZ);fU.serialization.SerializationMap.register(EK);var AK=function(e){function t(t){var n=e.call(this,t)||this;if(n.activation=null,n.useBias=!0,n.kernel=null,n.bias=null,n.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",n.DEFAULT_BIAS_INITIALIZER=\"zeros\",null==t.batchInputShape&&null==t.inputShape&&null!=t.inputDim){var r=null;null!=t.batchSize&&(r=t.batchSize),n.batchInputShape=[r,t.inputDim]}return n.units=t.units,n.activation=eK(t.activation),null!=t.useBias&&(n.useBias=t.useBias),n.kernelInitializer=bZ(t.kernelInitializer||n.DEFAULT_KERNEL_INITIALIZER),n.biasInitializer=bZ(t.biasInitializer||n.DEFAULT_BIAS_INITIALIZER),n.kernelConstraint=bY(t.kernelConstraint),n.biasConstraint=bY(t.biasConstraint),n.kernelRegularizer=cK(t.kernelRegularizer),n.biasRegularizer=cK(t.biasRegularizer),n.activityRegularizer=cK(t.activityRegularizer),n.inputSpec=[{minNDim:2}],n}return kU(t,e),t.prototype.build=function(e){var t,n=(e=DZ(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight(\"kernel\",[n,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:(t={},t[-1]=n,t)}],this.built=!0},t.prototype.computeOutputShape=function(e){var t=(e=DZ(e)).slice();return t[t.length-1]=this.units,t},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){n.invokeCallHook(e,t);var r=KY(wZ(e),n.kernel.read());return null!=n.bias&&(r=XY(r,n.bias.read())),null!=n.activation&&(r=n.activation.apply(r)),r})},t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),biasInitializer:yZ(this.biasInitializer),kernelRegularizer:uK(this.kernelRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),biasConstraint:vY(this.biasConstraint)},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Dense\",t}(FZ);fU.serialization.SerializationMap.register(AK);var SK=function(e){function t(t){var n=e.call(this,t||{})||this;return n.inputSpec=[{minNDim:3}],n}return kU(t,e),t.prototype.computeOutputShape=function(e){for(var t=0,n=(e=DZ(e)).slice(1);t<n.length;t++)if(null==n[t])throw new GU('The shape of the input to \"Flatten\" is not fully defined (got '+e.slice(1)+'). Make sure to pass a complete \"input_shape\" or \"batch_input_shape\" argument to the first layer in your model.');return[e[0],FY(e,1)]},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){return n.invokeCallHook(e,t),function(e){if(e.rank<=1)throw new GU(\"batchFlatten requires a minimum rank of 2. Got rank: \"+e.rank+\".\");var t=[e.shape[0],FY(e.shape,1)];return e.reshape(t)}(wZ(e))})},t.className=\"Flatten\",t}(FZ);fU.serialization.SerializationMap.register(SK);var xK=function(e){function t(t){var n=e.call(this,t)||this;return n.supportsMasking=!0,n.activation=eK(t.activation),n}return kU(t,e),t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){n.invokeCallHook(e,t);var r=wZ(e);return n.activation.apply(r)})},t.prototype.getConfig=function(){var t={activation:JG(this.activation)},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Activation\",t}(FZ);fU.serialization.SerializationMap.register(xK);var MK=function(e){function t(t){var n=e.call(this,t)||this;return n.n=t.n,n.inputSpec=[{ndim:2}],n}return kU(t,e),t.prototype.computeOutputShape=function(e){return[e[0],this.n,e[1]]},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){return function(e,t){return Object(fU.tidy)(function(){if(2!==e.shape.length)throw new GU(\"repeat() expects a rank-2 tensor, but received a rank-\"+e.shape.length+\" tensor.\");return ZY(zY(e,1),[1,t,1])})}(e=wZ(e),n.n)})},t.prototype.getConfig=function(){var t={n:this.n},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"RepeatVector\",t}(FZ);fU.serialization.SerializationMap.register(MK);var NK=function(e){function t(t){var n=e.call(this,t)||this;n.targetShape=t.targetShape;for(var r=0;r<n.targetShape.length;++r)n.isUnknown(n.targetShape[r])&&(n.targetShape[r]=null);return n}return kU(t,e),t.prototype.isUnknown=function(e){return e<0||null==e},t.prototype.fixUnknownDimension=function(e,t){for(var n=\"Total size of new array must be unchanged.\",r=t.slice(),i=1,o=null,s=0;s<r.length;++s){var a=r[s];if(this.isUnknown(a)){if(null!==o)throw new GU(\"Can only specifiy one unknown dimension.\");o=s}else i*=a}var u=FY(e);if(null!==o){if(0===i||u%i!=0)throw new GU(n);r[o]=u/i}else if(u!==i)throw new GU(n);return r},t.prototype.computeOutputShape=function(e){for(var t=!1,n=0;n<e.length;++n)if(this.isUnknown(e[n])){t=!0;break}return t?e.slice(0,1).concat(this.targetShape):e.slice(0,1).concat(this.fixUnknownDimension(e.slice(1),this.targetShape))},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){n.invokeCallHook(e,t);var r=wZ(e),i=r.shape,o=i.slice(0,1).concat(n.fixUnknownDimension(i.slice(1),n.targetShape));return r.reshape(o)})},t.prototype.getConfig=function(){var t={targetShape:this.targetShape},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Reshape\",t}(FZ);fU.serialization.SerializationMap.register(NK);var IK=function(e){function t(t){var n=e.call(this,t)||this;if(n.embeddings=null,n.DEFAULT_EMBEDDINGS_INITIALIZER=\"randomUniform\",null==t.batchInputShape&&null==t.inputShape){var r=null;null!=t.batchSize&&(r=t.batchSize),null==t.inputLength?n.batchInputShape=[r,null]:n.batchInputShape=[r].concat(eY(t.inputLength))}return n.inputDim=t.inputDim,n.outputDim=t.outputDim,n.embeddingsInitializer=bZ(t.embeddingsInitializer||n.DEFAULT_EMBEDDINGS_INITIALIZER),n.embeddingsRegularizer=cK(t.embeddingsRegularizer),n.activityRegularizer=cK(t.activityRegularizer),n.embeddingsConstraint=bY(t.embeddingsConstraint),n.maskZero=t.maskZero,n.inputLength=t.inputLength,n}return kU(t,e),t.prototype.build=function(e){this.embeddings=this.addWeight(\"embeddings\",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0},t.prototype.warnOnIncompatibleInputShape=function(e){},t.prototype.computeMask=function(e,t){throw new KU(\"computeMask has not been implemented for Embedding yet\")},t.prototype.computeOutputShape=function(e){if(e=DZ(e),null==this.inputLength)return e.concat([this.outputDim]);var t=eY(this.inputLength);if(t.length!==e.length-1)throw new GU('\"inputLength\" is '+this.inputLength+\", but received input shape has shape \"+e);for(var n=0,r=0;r<t.length;++r){var i=t[r],o=e[r+1];if(null!=i&&null!=o&&i!==o)throw new GU('\"inputLength\" is '+this.inputLength+\", but received input shape has shape \"+e);null==i&&(t[n]=o),n++}return[e[0]].concat(t,[this.outputDim])},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){n.invokeCallHook(e,t);var r=wZ(e);return\"int32\"!==r.dtype&&(r=jY(r,\"int32\")),qY(n.embeddings.read(),r.as1D()).reshape(DZ(n.computeOutputShape(r.shape)))})},t.prototype.getConfig=function(){var t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:yZ(this.embeddingsInitializer),embeddingsRegularizer:uK(this.embeddingsRegularizer),activityRegularizer:uK(this.activityRegularizer),embeddingsConstraint:vY(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Embedding\",t}(FZ);fU.serialization.SerializationMap.register(IK);var LK=function(e){function t(t){var n=e.call(this,t||{})||this;return n.supportsMasking=!0,n}return kU(t,e),t.prototype.mergeFunction=function(e){throw new KU},t.prototype.computeElementwiseOpOutputShape=function(e,t){if(null==e||null==t)return null;if(e.length<t.length)return this.computeElementwiseOpOutputShape(t,e);if(0===t.length)return e;for(var n=e.slice(0,e.length-t.length),r=0;r<t.length;++r){var i=e[e.length-t.length+r],o=t[r];if(null==i||null==o||i<0||o<0)n.push(null);else if(1===i)n.push(o);else if(1===o)n.push(i);else{if(i!==o)throw new GU(\"Operands could not be broadcast together with shapes \"+JSON.stringify(e)+\" \"+JSON.stringify(t));n.push(i)}}return n},t.prototype.build=function(e){if(Array.isArray(e)&&!Array.isArray(e[0])&&(e=[DZ(e)]),(e=e).length<2)throw new GU(\"A merge layer should be called on an Array of at least 2 inputs. Got \"+e.length+\" input(s).\");for(var t=[],n=0,r=e;n<r.length;n++)null!=(s=r[n])&&null!==s[0]&&t.push(s[0]);if((t=sY(t)).length>1)throw new GU(\"Can not merge tensors with different batch sizes. Got tensors with shapes: \"+JSON.stringify(e)+\".\");for(var i=null==e[0]?null:e[0].slice(1),o=1;o<e.length;++o){var s=null==e[o]?null:e[o].slice(1);i=this.computeElementwiseOpOutputShape(i,s)}var a=e.map(function(e){return e.length});-1===e.indexOf(null)&&1===sY(a).length?this.reshapeRequired=!1:this.reshapeRequired=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){if(e=e,n.reshapeRequired){var t=[],r=e.map(function(e){return e.rank});if(-1===r.indexOf(null)){for(var i=BY(r),o=0,s=e;o<s.length;o++){for(var a=(d=s[o]).rank,u=0;u<i-a;++u)d=zY(d,1);t.push(d)}return n.mergeFunction(t)}for(var l=!1,c=0,h=e;c<h.length;c++){var d;if(null==(a=(d=h[c]).rank)){var p=d.shape,f=p[0],g=p.slice(1).concat([f]),m=d.reshape([f].concat(FY(p.slice(1))));m=(m=Object(fU.transpose)(m,[1,0])).reshape(g),t.push(m),l=!0}else if(a>1){var v=RY(1,a).concat([0]);t.push(Object(fU.transpose)(d,v)),l=!0}else t.push(d)}var y=n.mergeFunction(t),b=y.rank;if(l)if(null==b){var _=y.shape;g=[f=_[_.length-1]].concat(_.slice(0,_.length-1)),y=Object(fU.transpose)(y.reshape([-1,f]),[1,0]).reshape(g)}else b>1&&(v=[b-1].concat(RY(0,b-1)),y=Object(fU.transpose)(y,v));return y}return n.mergeFunction(e)})},t.prototype.computeOutputShape=function(e){var t;t=null==(e=e)[0]?null:e[0].slice(1);for(var n=1;n<e.length;++n){var r=null==e[n]?null:e[n].slice(1);t=this.computeElementwiseOpOutputShape(t,r)}for(var i=[],o=0,s=e;o<s.length;o++)null!=(r=s[o])&&null!==r[0]&&i.push(r[0]);return 1===(i=sY(i)).length?i.concat(t):[null].concat(t)},t}(FZ),kK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.mergeFunction=function(e){return Object(fU.tidy)(function(){for(var t=Object(fU.zeros)(e[0].shape),n=0,r=e;n<r.length;n++){var i=r[n];t=Object(fU.add)(t,i)}return t})},t.className=\"Add\",t}(LK);fU.serialization.SerializationMap.register(kK);var TK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.mergeFunction=function(e){return Object(fU.tidy)(function(){for(var t=Object(fU.ones)(e[0].shape),n=0,r=e;n<r.length;n++){var i=r[n];t=Object(fU.mul)(t,i)}return t})},t.className=\"Multiply\",t}(LK);fU.serialization.SerializationMap.register(TK);var FK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.mergeFunction=function(e){return Object(fU.tidy)(function(){for(var t=Object(fU.zeros)(e[0].shape),n=0,r=e;n<r.length;n++){var i=r[n];t=Object(fU.add)(t,i)}return Object(fU.mul)(UU(1/e.length),t)})},t.className=\"Average\",t}(LK);fU.serialization.SerializationMap.register(FK);var OK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.mergeFunction=function(e){return Object(fU.tidy)(function(){for(var t=e[0],n=1;n<e.length;++n)t=Object(fU.maximum)(t,e[n]);return t})},t.className=\"Maximum\",t}(LK);fU.serialization.SerializationMap.register(OK);var PK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.mergeFunction=function(e){return Object(fU.tidy)(function(){for(var t=e[0],n=1;n<e.length;++n)t=Object(fU.minimum)(t,e[n]);return t})},t.className=\"Minimum\",t}(LK);fU.serialization.SerializationMap.register(PK);var BK=function(e){function t(t){var n=e.call(this,t)||this;return n.DEFAULT_AXIS=-1,null==t&&(t={}),n.axis=null==t.axis?n.DEFAULT_AXIS:t.axis,n.supportsMasking=!0,n.reshapeRequired=!1,n}return kU(t,e),t.prototype.build=function(e){if(!Array.isArray(e)||!Array.isArray(e[0])||1===e.length)throw new GU(\"A `Concatenate` layer should be called on a list of at least 2 inputs\");for(var t=!0,n=0,r=e=e;n<r.length;n++)if(null!=(c=r[n])){t=!1;break}if(!t){for(var i=[],o=0;o<e.length;++o){var s=e[o].slice();s.splice(this.axis,1);for(var a=!1,u=0,l=i;u<l.length;u++){var c=l[u];if(fU.util.arraysEqual(c,s)){a=!0;break}}a||i.push(s)}if(i.length>1)throw new GU(\"A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: \"+JSON.stringify(e))}},t.prototype.mergeFunction=function(e){var t=this;return Object(fU.tidy)(function(){return UY(e,t.axis)})},t.prototype.computeOutputShape=function(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new GU(\"A `Concatenate` layer should be called on a list of inputs.\");for(var t=e,n=t[0].slice(),r=this.axis<0?n.length+this.axis:this.axis,i=0,o=t.slice(1);i<o.length;i++){var s=o[i];if(null==n[r]||null==s[r]){n[r]=null;break}n[r]+=s[r]}return n},t.prototype.getConfig=function(){var t={axis:this.axis},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"Concatenate\",t}(LK);function RK(e,t,n,r,i,o){var s;if(void 0===o&&(o=.001),2===e.rank)s=Object(fU.batchNormalization2d)(e,t,n,o,i,r);else if(3===e.rank)s=Object(fU.batchNormalization3d)(e,t,n,o,i,r);else{if(4!==e.rank)throw new KU(\"batchNormalization is not implememnted for array of rank \"+e.rank+\" yet\");s=Object(fU.batchNormalization4d)(e,t,n,o,i,r)}return s}function jK(e,t,n,r,i){return void 0===i&&(i=.001),fU.util.arraysEqual(r.slice().sort(),RY(0,e.rank-1))?function(e,t,n,r,i){return void 0===i&&(i=.001),Object(fU.tidy)(function(){var o=Object(fU.moments)(e,r),s=o.mean,a=o.variance;return[RK(e,s,a,n,t,i),s,a]})}(e,t,n,r,i):function(e,t,n,r,i){return void 0===i&&(i=.001),Object(fU.tidy)(function(){for(var o=Object(fU.moments)(e,r),s=o.mean,a=o.variance,u=[],l=0,c=RY(0,e.rank);l<c.length;l++){var h=c[l];-1!==r.indexOf(h)?u.push(1):u.push(e.shape[h])}var d=s.reshape(u),p=a.reshape(u),f=null==t?null:t.reshape(u),g=null==n?null:n.reshape(u);return[RK(e,d,p,g,f,i),s,a]})}(e,t,n,r,i)}fU.serialization.SerializationMap.register(BK);var zK=function(e){function t(t){var n=e.call(this,t)||this;return n.supportsMasking=!0,n.axis=null==t.axis?-1:t.axis,n.momentum=null==t.momentum?.99:t.momentum,n.epsilon=null==t.epsilon?.001:t.epsilon,n.center=null==t.center||t.center,n.scale=null==t.scale||t.scale,n.betaInitializer=bZ(t.betaInitializer||\"zeros\"),n.gammaInitializer=bZ(t.gammaInitializer||\"ones\"),n.movingMeanInitializer=bZ(t.movingMeanInitializer||\"zeros\"),n.movingVarianceInitializer=bZ(t.movingVarianceInitializer||\"ones\"),n.betaConstraint=bY(t.betaConstraint),n.gammaConstraint=bY(t.gammaConstraint),n.betaRegularizer=cK(t.betaRegularizer),n.gammaRegularizer=cK(t.gammaRegularizer),n.stepCount=0,n}return kU(t,e),t.prototype.build=function(e){e=DZ(e);var t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new GU(\"Axis \"+t+\" of input tensor should have a defined dimension but the layer received an input with shape \"+JSON.stringify(e)+\".\");this.inputSpec=[new NZ({ndim:e.length,axes:(r={},r[t]=n,r)})];var r,i=[n];this.scale&&(this.gamma=this.addWeight(\"gamma\",i,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight(\"beta\",i,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight(\"moving_mean\",i,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight(\"moving_variance\",i,null,this.movingVarianceInitializer,null,!1),this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var r=null!=t.training&&t.training,i=wZ(e),o=i.shape,s=o.length,a=RY(0,s),u=n.axis>=0?n.axis:n.axis+s;a.splice(u,1);var l=QU(1,s);l[u]=o[u];var c=a.slice();c.sort();var h=!fU.util.arraysEqual(c,RY(0,s).slice(0,s-1));if(!r)return function(){if(h){var e=n.movingMean.read().reshape(l),t=n.movingVariance.read().reshape(l),r=n.center?n.beta.read().reshape(l):null,o=n.scale?n.gamma.read().reshape(l):null;return RK(i,e,t,r,o,n.epsilon)}return RK(i,n.movingMean.read(),n.movingVariance.read(),null==n.beta?null:n.beta.read(),null==n.gamma?null:n.gamma.read(),n.epsilon)}();var d=jK(i,n.gamma.read(),n.beta.read(),a,n.epsilon),p=d[0],f=d[1],g=d[2],m=FY(a.map(function(e){return i.shape[e]})),v=g.mul(UU(m/(m-(1+n.epsilon))));return function(){n.stepCount++;var e=Object(fU.movingAverage)(n.movingMean.read(),f,n.momentum,n.stepCount);n.movingMean.write(e);var t=Object(fU.movingAverage)(n.movingVariance.read(),v,n.momentum,n.stepCount);n.movingVariance.write(t)}(),p})},t.prototype.getConfig=function(){var t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:yZ(this.betaInitializer),gammaInitializer:yZ(this.gammaInitializer),movingMeanInitializer:yZ(this.movingMeanInitializer),movingVarianceInitializer:yZ(this.movingVarianceInitializer),betaRegularizer:uK(this.betaRegularizer),gammaRegularizer:uK(this.gammaRegularizer),betaConstraint:vY(this.betaConstraint),gammaConstraint:vY(this.gammaConstraint)},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"BatchNormalization\",t}(FZ);fU.serialization.SerializationMap.register(zK);var WK=function(e){function t(t){var n=this;if(null==t&&(t={}),(n=e.call(this,t)||this).dataFormat=null==t.dataFormat?\"channelsLast\":t.dataFormat,null==t.padding)n.padding=[[1,1],[1,1]];else if(\"number\"==typeof t.padding)n.padding=[[t.padding,t.padding],[t.padding,t.padding]];else{if(t.padding=t.padding,2!==t.padding.length)throw new GU(\"ZeroPadding2D expects padding to be a length-2 array, but received a length-\"+t.padding.length+\" array.\");var r=void 0,i=void 0;if(\"number\"==typeof t.padding[0])r=[t.padding[0],t.padding[0]],i=[t.padding[1],t.padding[1]];else{if(t.padding=t.padding,2!==t.padding[0].length)throw new GU(\"ZeroPadding2D expects height padding to be a length-2 array, but received a length-\"+t.padding[0].length+\" array.\");if(r=t.padding[0],2!==t.padding[1].length)throw new GU(\"ZeroPadding2D expects width padding to be a length-2 array, but received a length-\"+t.padding[1].length+\" array.\");i=t.padding[1]}n.padding=[r,i]}return n.inputSpec=[new NZ({ndim:4})],n}return kU(t,e),t.prototype.computeOutputShape=function(e){var t,n;return e=DZ(e),\"channelsFirst\"===this.dataFormat?(t=null!=e[2]&&e[2]>=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){return function(e,t,n){return Object(fU.tidy)(function(){if(4!==e.rank)throw new GU(\"temporalPadding expects input tensor to be 4-D, but received a \"+e.rank+\"-D tensor.\");if(null==t&&(t=[[1,1],[1,1]]),2!==t.length||2!==t[0].length||2!==t[1].length)throw new GU(\"spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.\");if(null==n&&(n=\"channelsLast\"),\"channelsLast\"!==n&&\"channelsFirst\"!==n)throw new GU(\"Unknown data format: \"+n+\". Supported data formats are 'channelsLast' and 'channelsFirst.\");var r;return r=\"channelsFirst\"===n?[[0,0],[0,0],t[0],t[1]]:[[0,0],t[0],t[1],[0,0]],Object(fU.pad)(e,r)})}(wZ(e),n.padding,n.dataFormat)})},t.prototype.getConfig=function(){var t={padding:this.padding,dataFormat:this.dataFormat},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"ZeroPadding2D\",t}(FZ);function VK(e,t,n,r,i,o){return Object(fU.tidy)(function(){var s;wY(i),function(e){uY(AY,\"PoolMode\",e)}(o),EY(r),null==n&&(n=[1,1]),null==r&&(r=\"valid\"),null==i&&(i=\"channelsLast\"),null==o&&(o=\"max\"),e=fK(e,i);var a=\"same\"===r?\"same\":\"valid\";return s=\"max\"===o?Object(fU.maxPool)(e,t,n,a):Object(fU.avgPool)(e,t,n,a),\"channelsFirst\"===i&&(s=Object(fU.transpose)(s,[0,3,1,2])),s})}fU.serialization.SerializationMap.register(WK);var HK=function(e){function t(t){var n=this;if(null==t.poolSize&&(t.poolSize=2),n=e.call(this,t)||this,\"number\"==typeof t.poolSize)n.poolSize=[t.poolSize];else{if(!Array.isArray(t.poolSize)||1!==t.poolSize.length||\"number\"!=typeof t.poolSize[0])throw new GU(\"poolSize for 1D convolutional layer must be a number or an Array of a single number, but received \"+JSON.stringify(t.poolSize));n.poolSize=t.poolSize}if(null==t.strides)n.strides=n.poolSize;else if(\"number\"==typeof t.strides)n.strides=[t.strides];else{if(!Array.isArray(t.strides)||1!==t.strides.length||\"number\"!=typeof t.strides[0])throw new GU(\"strides for 1D convolutional layer must be a number or an Array of a single number, but received \"+JSON.stringify(t.strides));n.strides=t.strides}return n.padding=null==t.padding?\"valid\":t.padding,EY(n.padding),n.inputSpec=[new NZ({ndim:3})],n}return kU(t,e),t.prototype.computeOutputShape=function(e){var t=dK((e=DZ(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){n.invokeCallHook(e,t),e=zY(wZ(e),2);var r=n.poolingFunction(wZ(e),[n.poolSize[0],1],[n.strides[0],1],n.padding,\"channelsLast\");return Object(fU.squeeze)(r,[2])})},t.prototype.getConfig=function(){var t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t}(FZ),UK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.poolingFunction=function(e,t,n,r,i){return wY(i),EY(r),VK(e,t,n,r,i,\"max\")},t.className=\"MaxPooling1D\",t}(HK);fU.serialization.SerializationMap.register(UK);var YK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.poolingFunction=function(e,t,n,r,i){return wY(i),EY(r),VK(e,t,n,r,i,\"avg\")},t.className=\"AveragePooling1D\",t}(HK);fU.serialization.SerializationMap.register(YK);var ZK=function(e){function t(t){var n=this;if(null==t.poolSize&&(t.poolSize=[2,2]),(n=e.call(this,t)||this).poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],null==t.strides)n.strides=n.poolSize;else if(Array.isArray(t.strides)){if(2!==t.strides.length)throw new GU(\"If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length \"+t.strides.length+\".\");n.strides=t.strides}else n.strides=[t.strides,t.strides];return n.padding=null==t.padding?\"valid\":t.padding,n.dataFormat=null==t.dataFormat?\"channelsLast\":t.dataFormat,wY(n.dataFormat),EY(n.padding),n.inputSpec=[new NZ({ndim:4})],n}return kU(t,e),t.prototype.computeOutputShape=function(e){e=DZ(e);var t=\"channelsFirst\"===this.dataFormat?e[2]:e[1],n=\"channelsFirst\"===this.dataFormat?e[3]:e[2];return t=dK(t,this.poolSize[0],this.padding,this.strides[0]),n=dK(n,this.poolSize[1],this.padding,this.strides[1]),\"channelsFirst\"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){return n.invokeCallHook(e,t),n.poolingFunction(wZ(e),n.poolSize,n.strides,n.padding,n.dataFormat)})},t.prototype.getConfig=function(){var t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t}(FZ),GK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.poolingFunction=function(e,t,n,r,i){return wY(i),EY(r),VK(e,t,n,r,i,\"max\")},t.className=\"MaxPooling2D\",t}(ZK);fU.serialization.SerializationMap.register(GK);var KK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.poolingFunction=function(e,t,n,r,i){return wY(i),EY(r),VK(e,t,n,r,i,\"avg\")},t.className=\"AveragePooling2D\",t}(ZK);fU.serialization.SerializationMap.register(KK);var qK=function(e){function t(t){var n=e.call(this,t)||this;return n.inputSpec=[new NZ({ndim:3})],n}return kU(t,e),t.prototype.computeOutputShape=function(e){return[e[0],e[2]]},t.prototype.call=function(e,t){throw new KU},t}(FZ),QK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.call=function(e,t){return Object(fU.tidy)(function(){var t=wZ(e);return Object(fU.mean)(t,1)})},t.className=\"GlobalAveragePooling1D\",t}(qK);fU.serialization.SerializationMap.register(QK);var XK=function(e){function t(t){return e.call(this,t)||this}return kU(t,e),t.prototype.call=function(e,t){return Object(fU.tidy)(function(){var t=wZ(e);return Object(fU.max)(t,1)})},t.className=\"GlobalMaxPooling1D\",t}(qK);fU.serialization.SerializationMap.register(XK);var JK=function(e){function t(t){var n=e.call(this,t)||this;return n.dataFormat=null==t.dataFormat?\"channelsLast\":t.dataFormat,wY(n.dataFormat),n.inputSpec=[new NZ({ndim:4})],n}return kU(t,e),t.prototype.computeOutputShape=function(e){return e=e,\"channelsLast\"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]},t.prototype.call=function(e,t){throw new KU},t.prototype.getConfig=function(){var t={dataFormat:this.dataFormat},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t}(FZ),$K=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t=wZ(e);return\"channelsLast\"===n.dataFormat?Object(fU.mean)(t,[1,2]):Object(fU.mean)(t,[2,3])})},t.className=\"GlobalAveragePooling2D\",t}(JK);fU.serialization.SerializationMap.register($K);var eq=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var t=wZ(e);return\"channelsLast\"===n.dataFormat?Object(fU.max)(t,[1,2]):Object(fU.max)(t,[2,3])})},t.className=\"GlobalMaxPooling2D\",t}(JK);function tq(e,t,n,r){if(Array.isArray(e)){if(null!=t||null!=n)throw new GU(\"When inputs is an array, neither initialState or constants should be provided\");null!=r&&(n=e.slice(e.length-r,e.length),e=e.slice(0,e.length-r)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function i(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=i(t),constants:n=i(n)}}function nq(e,t,n,r,i,o,s,a){void 0===r&&(r=!1),void 0===s&&(s=!1);var u=t.shape.length;if(u<3)throw new GU(\"Input should be at least 3D, but is \"+u+\"D.\");var l,c,h=[1,0].concat(RY(2,u));if(t=Object(fU.transpose)(t,h),null!=i)throw new KU(\"The rnn() function of the deeplearn.js backend does not support masking yet.\");if(null!=o)throw new KU(\"The rnn() functoin of the deeplearn.js backend does not support constants yet.\");s&&console.warn(\"Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend.\"),r&&(t=Object(fU.reverse)(t,0));for(var d=n,p=t.shape[0],f=0;f<p;++f){var g=WY(t,f,1),m=e(g=g.reshape(g.shape.slice(1)),d);c=m[0],l=0===f?c.reshape([1].concat(c.shape)):YY(l,c.reshape([1].concat(c.shape))),d=m[1]}return[c,Object(fU.transpose)(l,[1,0].concat(RY(2,l.shape.length))),d]}fU.serialization.SerializationMap.register(eq);var rq=function(e){function t(t){var n,r=e.call(this,t)||this;if(null==t.cell)throw new GU(\"cell property is missing for the constructor of RNN.\");if(null==(n=Array.isArray(t.cell)?new hq({cells:t.cell}):t.cell).stateSize)throw new GU(\"The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).\");return r.cell=n,r.returnSequences=null!=t.returnSequences&&t.returnSequences,r.returnState=null!=t.returnState&&t.returnState,r.goBackwards=null!=t.goBackwards&&t.goBackwards,r._stateful=null!=t.stateful&&t.stateful,r.unroll=null!=t.unroll&&t.unroll,r.supportsMasking=!0,r.inputSpec=[new NZ({ndim:3})],r.stateSpec=null,r.states=null,r.numConstants=null,r}return kU(t,e),t.prototype.getStates=function(){return null==this.states?RY(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map(function(e){return null}):this.states},t.prototype.setStates=function(e){this.states=e},t.prototype.computeOutputShape=function(e){_Z(e)&&(e=e[0]),e=e;var t=this.cell.stateSize;Array.isArray(t)||(t=[t]);var n,r=t[0];if(n=this.returnSequences?[e[0],e[1],r]:[e[0],r],this.returnState){for(var i=[],o=0,s=t;o<s.length;o++){var a=s[o];i.push([e[0],a])}return[n].concat(i)}return n},t.prototype.computeMask=function(e,t){throw new KU(\"computeMask has not been implemented for RNN yet\")},t.prototype.build=function(e){if(null!=this.numConstants)throw new KU(\"Constants support is not implemented in RNN yet.\");_Z(e)&&(e=e[0]),e=e;var t=this.stateful?e[0]:null,n=e[e.length-1];this.inputSpec[0]=new NZ({shape:[t,null,n]});var r,i=[e[0]].concat(e.slice(2));if(this.cell.build(i),r=Array.isArray(this.cell.stateSize)?this.cell.stateSize:[this.cell.stateSize],null!=this.stateSpec){if(!fU.util.arraysEqual(this.stateSpec.map(function(e){return e.shape[e.shape.length-1]}),r))throw new GU(\"An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=\"+this.stateSpec+\"; However cell.stateSize is \"+this.cell.stateSize)}else this.stateSpec=r.map(function(e){return new NZ({shape:[null,e]})});if(this.stateful)throw new KU(\"stateful RNN layer is not implemented yet\")},t.prototype.resetStates=function(e){var t=this;Object(fU.tidy)(function(){if(!t.stateful)throw new YU(\"Cannot call resetState() on an RNN Layer that is not stateful.\");var n=t.inputSpec[0].shape[0];if(null==n)throw new GU(\"If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \\n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.\");if(null==t.states)Array.isArray(t.cell.stateSize)?t.states=t.cell.stateSize.map(function(e){return Object(fU.zeros)([n,e])}):t.states=[Object(fU.zeros)([n,t.cell.stateSize])];else if(null==e)Array.isArray(t.cell.stateSize)?t.states=t.cell.stateSize.map(function(e){return Object(fU.zeros)([n,e])}):t.states[0]=Object(fU.zeros)([n,t.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==t.states.length)throw new GU(\"Layer \"+t.name+\" expects \"+t.states.length+\" state(s), but it received \"+e.length+\" state value(s). Input received: \"+e);for(var r=0;r<t.states.length;++r){var i=e[r],o=Array.isArray(t.cell.stateSize)?t.cell.stateSize[r]:t.cell.stateSize,s=[n,o];if(!fU.util.arraysEqual(i.shape,s))throw new GU(\"State \"+r+\" is incompatible with layer \"+t.name+\": expected shape=\"+s+\", received shape=\"+i.shape);t.states[r]=i}}})},t.prototype.apply=function(t,n){var r=null==n?null:n.initialState,i=null==n?null:n.constants;null==n&&(n={});var o=tq(t,r,i,this.numConstants);t=o.inputs,r=o.initialState,i=o.constants;var s=[],a=[];if(null!=r){n.initialState=r,s=s.concat(r),this.stateSpec=[];for(var u=0,l=r;u<l.length;u++){var c=l[u];this.stateSpec.push(new NZ({shape:c.shape}))}a=a.concat(this.stateSpec)}if(null!=i&&(n.constants=i,s=s.concat(i),this.numConstants=i.length),s[0]instanceof IZ){var h=[t].concat(s),d=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=d;var f=e.prototype.apply.call(this,h,n);return this.inputSpec=p,f}return e.prototype.apply.call(this,t,n)},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var r=null==t?null:t.mask,i=null==t?null:t.training,o=null==t?null:t.initialState;if(e=wZ(e),null==o){if(n.stateful)throw new KU(\"stateful RNN layer is not implemented yet.\");o=n.getInitialState(e)}if(null!=r)throw new KU(\"Masking is not implemented for RNN yet\");var s=Array.isArray(n.cell.stateSize)?n.cell.stateSize.length:1;if(o.length!==s)throw new GU(\"RNN Layer has \"+s+\" state(s) but was passed \"+o.length+\" initial state(s).\");e.shape[1];n.unroll&&console.warn(\"Ignoring unroll = true for RNN layer, due to imperative backend.\");var a={training:i},u=nq(function(e,t){var r=n.cell.call([e].concat(t),a);return[r[0],r.slice(1)]},e,o,n.goBackwards,null,null,n.unroll),l=u[0],c=u[1],h=u[2];if(n.stateful)throw new KU(\"stateful RNN layer is not implemented yet\");var d=n.returnSequences?c:l;return n.returnState?[d].concat(h):d})},t.prototype.getInitialState=function(e){var t=this;return Object(fU.tidy)(function(){var n=Object(fU.zeros)(e.shape);return n=zY(n=Object(fU.sum)(n,[1,2])),Array.isArray(t.cell.stateSize)?t.cell.stateSize.map(function(e){return e>1?ZY(n,[1,e]):n}):t.cell.stateSize>1?[ZY(n,[1,t.cell.stateSize])]:[n]})},Object.defineProperty(t.prototype,\"trainableWeights\",{get:function(){return this.trainable?this.cell.trainableWeights:[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"nonTrainableWeights\",{get:function(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights},enumerable:!0,configurable:!0}),t.prototype.getConfig=function(){var t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);var n=this.cell.getConfig();t.cell={className:this.cell.getClassName(),config:n};var r=e.prototype.getConfig.call(this);return Object.assign(t,r),t},t.className=\"RNN\",t}(FZ);fU.serialization.SerializationMap.register(rq);var iq=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t}(FZ),oq=function(e){function t(t){var n=e.call(this,t)||this;return n.DEFAULT_ACTIVATION=\"tanh\",n.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",n.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",n.DEFAULT_BIAS_INITIALIZER=\"zeros\",n.units=t.units,n.activation=eK(null==t.activation?n.DEFAULT_ACTIVATION:t.activation),n.useBias=null==t.useBias||t.useBias,n.kernelInitializer=bZ(t.kernelInitializer||n.DEFAULT_KERNEL_INITIALIZER),n.recurrentInitializer=bZ(t.recurrentInitializer||n.DEFAULT_RECURRENT_INITIALIZER),n.biasInitializer=bZ(t.biasInitializer||n.DEFAULT_BIAS_INITIALIZER),n.kernelRegularizer=cK(t.kernelRegularizer),n.recurrentRegularizer=cK(t.recurrentRegularizer),n.biasRegularizer=cK(t.biasRegularizer),n.kernelConstraint=bY(t.kernelConstraint),n.recurrentConstraint=bY(t.recurrentConstraint),n.biasConstraint=bY(t.biasConstraint),n.dropout=PY([1,BY([0,null==t.dropout?0:t.dropout])]),n.recurrentDropout=PY([1,BY([0,null==t.recurrentDropout?0:t.recurrentDropout])]),n.stateSize=n.units,n.dropoutMask=null,n.recurrentDropoutMask=null,n}return kU(t,e),t.prototype.build=function(e){e=DZ(e),this.kernel=this.addWeight(\"kernel\",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){if(2!==(e=e).length)throw new GU(\"SimpleRNNCell expects 2 input Tensors, got \"+e.length+\".\");var r=e[1];e=e[0];var i,o=null!=t.training&&t.training;0<n.dropout&&n.dropout<1&&null==n.dropoutMask&&(n.dropoutMask=dq(function(){return Object(fU.onesLike)(e)},n.dropout,o)),0<n.recurrentDropout&&n.recurrentDropout<1&&null==n.recurrentDropoutMask&&(n.recurrentDropoutMask=dq(function(){return Object(fU.onesLike)(r)},n.recurrentDropout,o));var s=n.dropoutMask,a=n.recurrentDropoutMask;i=KY(null!=s?Object(fU.mul)(e,s):e,n.kernel.read()),null!=n.bias&&(i=XY(i,n.bias.read())),null!=a&&(r=Object(fU.mul)(r,a));var u=Object(fU.add)(i,KY(r,n.recurrentKernel.read()));return null!=n.activation&&(u=n.activation.apply(u)),[u,u]})},t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),recurrentInitializer:yZ(this.recurrentInitializer),biasInitializer:yZ(this.biasInitializer),kernelRegularizer:uK(this.kernelRegularizer),recurrentRegularizer:uK(this.recurrentRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),recurrentConstraint:vY(this.recurrentConstraint),biasConstraint:vY(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"SimpleRNNCell\",t}(iq);fU.serialization.SerializationMap.register(oq);var sq=function(e){function t(t){return t.cell=new oq(t),e.call(this,t)||this}return kU(t,e),t.prototype.call=function(t,n){var r=this;return Object(fU.tidy)(function(){null!=r.cell.dropoutMask&&(Object(fU.dispose)(r.cell.dropoutMask),r.cell.dropoutMask=null),null!=r.cell.recurrentDropoutMask&&(Object(fU.dispose)(r.cell.recurrentDropoutMask),r.cell.recurrentDropoutMask=null);var i=null==n?null:n.mask,o=null==n?null:n.training,s=null==n?null:n.initialState;return e.prototype.call.call(r,t,{mask:i,training:o,initialState:s})})},Object.defineProperty(t.prototype,\"units\",{get:function(){return this.cell.units},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"activation\",{get:function(){return this.cell.activation},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"useBias\",{get:function(){return this.cell.useBias},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelInitializer\",{get:function(){return this.cell.kernelInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentInitializer\",{get:function(){return this.cell.recurrentInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasInitializer\",{get:function(){return this.cell.biasInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelRegularizer\",{get:function(){return this.cell.kernelRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentRegularizer\",{get:function(){return this.cell.recurrentRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasRegularizer\",{get:function(){return this.cell.biasRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelConstraint\",{get:function(){return this.cell.kernelConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentConstraint\",{get:function(){return this.cell.recurrentConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasConstraint\",{get:function(){return this.cell.biasConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"dropout\",{get:function(){return this.cell.dropout},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentDropout\",{get:function(){return this.cell.recurrentDropout},enumerable:!0,configurable:!0}),t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),recurrentInitializer:yZ(this.recurrentInitializer),biasInitializer:yZ(this.biasInitializer),kernelRegularizer:uK(this.kernelRegularizer),recurrentRegularizer:uK(this.recurrentRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),recurrentConstraint:vY(this.recurrentConstraint),biasConstraint:vY(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout},n=e.prototype.getConfig.call(this);return delete n.cell,Object.assign(t,n),t},t.className=\"SimpleRNN\",t}(rq);fU.serialization.SerializationMap.register(sq);var aq=function(e){function t(t){var n=e.call(this,t)||this;return n.DEFAULT_ACTIVATION=\"tanh\",n.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",n.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",n.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",n.DEFAULT_BIAS_INITIALIZER=\"zeros\",n.units=t.units,n.activation=eK(void 0===t.activation?n.DEFAULT_ACTIVATION:t.activation),n.recurrentActivation=eK(void 0===t.recurrentActivation?n.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),n.useBias=null==t.useBias||t.useBias,n.kernelInitializer=bZ(t.kernelInitializer||n.DEFAULT_KERNEL_INITIALIZER),n.recurrentInitializer=bZ(t.recurrentInitializer||n.DEFAULT_RECURRENT_INITIALIZER),n.biasInitializer=bZ(t.biasInitializer||n.DEFAULT_BIAS_INITIALIZER),n.kernelRegularizer=cK(t.kernelRegularizer),n.recurrentRegularizer=cK(t.recurrentRegularizer),n.biasRegularizer=cK(t.biasRegularizer),n.kernelConstraint=bY(t.kernelConstraint),n.recurrentConstraint=bY(t.recurrentConstraint),n.biasConstraint=bY(t.biasConstraint),n.dropout=PY([1,BY([0,null==t.dropout?0:t.dropout])]),n.recurrentDropout=PY([1,BY([0,null==t.recurrentDropout?0:t.recurrentDropout])]),n.implementation=t.implementation,n.stateSize=n.units,n.dropoutMask=null,n.recurrentDropoutMask=null,n}return kU(t,e),t.prototype.build=function(e){var t=(e=DZ(e))[e.length-1];this.kernel=this.addWeight(\"kernel\",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){if(2!==(e=e).length)throw new GU(\"GRUCell expects 2 input Tensors (inputs, h, c), got \"+e.length+\".\");var r=null!=t.training&&t.training,i=e[1];e=e[0],0<n.dropout&&n.dropout<1&&null==n.dropoutMask&&(n.dropoutMask=dq(function(){return Object(fU.onesLike)(e)},n.dropout,r,3)),0<n.recurrentDropout&&n.recurrentDropout<1&&null==n.recurrentDropoutMask&&(n.recurrentDropoutMask=dq(function(){return Object(fU.onesLike)(i)},n.recurrentDropout,r,3));var o,s,a,u=n.dropoutMask,l=n.recurrentDropoutMask;if(1===n.implementation){var c=VY(n.kernel.read(),0,n.units),h=VY(n.kernel.read(),n.units,n.units),d=VY(n.kernel.read(),2*n.units,n.units),p=VY(n.recurrentKernel.read(),0,n.units),f=VY(n.recurrentKernel.read(),n.units,n.units),g=VY(n.recurrentKernel.read(),2*n.units,n.units),m=void 0,v=void 0,y=void 0;0<n.dropout&&n.dropout<1?(m=Object(fU.mul)(e,u[0]),v=Object(fU.mul)(e,u[1]),y=Object(fU.mul)(e,u[2])):(m=e,v=e,y=e);var b=KY(m,c),_=KY(v,h),C=KY(y,d);if(n.useBias){var w=WY(n.bias.read(),0,n.units),D=WY(n.bias.read(),n.units,n.units),E=WY(n.bias.read(),2*n.units,n.units);b=XY(b,w),_=XY(_,D),C=XY(C,E)}var A=void 0,S=void 0,x=void 0;0<n.recurrentDropout&&n.recurrentDropout<1?(A=Object(fU.mul)(i,l[0]),S=Object(fU.mul)(i,l[1]),x=Object(fU.mul)(i,l[2])):(A=i,S=i,x=i),o=n.recurrentActivation.apply(Object(fU.add)(b,KY(A,p))),s=n.recurrentActivation.apply(Object(fU.add)(_,KY(S,f))),a=n.activation.apply(Object(fU.add)(C,KY(Object(fU.mul)(s,x),g)))}else{0<n.dropout&&n.dropout<1&&(e=Object(fU.mul)(e,u[0]));var M=KY(e,n.kernel.read());n.useBias&&(M=XY(M,n.bias.read())),0<n.dropout&&n.dropout<1&&(i=Object(fU.mul)(i,l[0]));var N=KY(i,VY(n.recurrentKernel.read(),0,2*n.units)),I=(b=VY(M,0,n.units),_=VY(M,n.units,n.units),VY(N,0,n.units)),L=VY(N,n.units,n.units);o=n.recurrentActivation.apply(Object(fU.add)(b,I)),s=n.recurrentActivation.apply(Object(fU.add)(_,L)),C=VY(M,2*n.units,n.units);var k=KY(Object(fU.mul)(s,i),VY(n.recurrentKernel.read(),2*n.units,n.units));a=n.activation.apply(Object(fU.add)(C,k))}var T=Object(fU.add)(Object(fU.mul)(o,i),Object(fU.mul)(Object(fU.add)(UU(1),Object(fU.neg)(o)),a));return[T,T]})},t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),recurrentActivation:JG(this.recurrentActivation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),recurrentInitializer:yZ(this.recurrentInitializer),biasInitializer:yZ(this.biasInitializer),kernelRegularizer:uK(this.kernelRegularizer),recurrentRegularizer:uK(this.recurrentRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),recurrentConstraint:vY(this.recurrentConstraint),biasConstraint:vY(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout,implementation:this.implementation},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"GRUCell\",t}(iq);fU.serialization.SerializationMap.register(aq);var uq=function(e){function t(t){return 0===t.implementation&&console.warn(\"`implementation=0` has been deprecated, and now defaults to `implementation=1`. Please update your layer call.\"),t.cell=new aq(t),e.call(this,t)||this}return kU(t,e),t.prototype.call=function(t,n){var r=this;return Object(fU.tidy)(function(){null!=r.cell.dropoutMask&&(Object(fU.dispose)(r.cell.dropoutMask),r.cell.dropoutMask=null),null!=r.cell.recurrentDropoutMask&&(Object(fU.dispose)(r.cell.recurrentDropoutMask),r.cell.recurrentDropoutMask=null);var i=null==n?null:n.mask,o=null==n?null:n.training,s=null==n?null:n.initialState;return e.prototype.call.call(r,t,{mask:i,training:o,initialState:s})})},Object.defineProperty(t.prototype,\"units\",{get:function(){return this.cell.units},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"activation\",{get:function(){return this.cell.activation},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentActivation\",{get:function(){return this.cell.recurrentActivation},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"useBias\",{get:function(){return this.cell.useBias},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelInitializer\",{get:function(){return this.cell.kernelInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentInitializer\",{get:function(){return this.cell.recurrentInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasInitializer\",{get:function(){return this.cell.biasInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelRegularizer\",{get:function(){return this.cell.kernelRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentRegularizer\",{get:function(){return this.cell.recurrentRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasRegularizer\",{get:function(){return this.cell.biasRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelConstraint\",{get:function(){return this.cell.kernelConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentConstraint\",{get:function(){return this.cell.recurrentConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasConstraint\",{get:function(){return this.cell.biasConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"dropout\",{get:function(){return this.cell.dropout},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentDropout\",{get:function(){return this.cell.recurrentDropout},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"implementation\",{get:function(){return this.cell.implementation},enumerable:!0,configurable:!0}),t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),recurrentActivation:JG(this.recurrentActivation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),recurrentInitializer:yZ(this.recurrentInitializer),biasInitializer:yZ(this.biasInitializer),kernelRegularizer:uK(this.kernelRegularizer),recurrentRegularizer:uK(this.recurrentRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),recurrentConstraint:vY(this.recurrentConstraint),biasConstraint:vY(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout,implementation:this.implementation},n=e.prototype.getConfig.call(this);return delete n.cell,Object.assign(t,n),t},t.fromConfig=function(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)},t.className=\"GRU\",t}(rq);fU.serialization.SerializationMap.register(uq);var lq=function(e){function t(t){var n=e.call(this,t)||this;return n.DEFAULT_ACTIVATION=\"tanh\",n.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",n.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",n.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",n.DEFAULT_BIAS_INITIALIZER=\"zeros\",n.units=t.units,n.activation=eK(void 0===t.activation?n.DEFAULT_ACTIVATION:t.activation),n.recurrentActivation=eK(void 0===t.recurrentActivation?n.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),n.useBias=null==t.useBias||t.useBias,n.kernelInitializer=bZ(t.kernelInitializer||n.DEFAULT_KERNEL_INITIALIZER),n.recurrentInitializer=bZ(t.recurrentInitializer||n.DEFAULT_RECURRENT_INITIALIZER),n.biasInitializer=bZ(t.biasInitializer||n.DEFAULT_BIAS_INITIALIZER),n.unitForgetBias=t.unitForgetBias,n.kernelRegularizer=cK(t.kernelRegularizer),n.recurrentRegularizer=cK(t.recurrentRegularizer),n.biasRegularizer=cK(t.biasRegularizer),n.kernelConstraint=bY(t.kernelConstraint),n.recurrentConstraint=bY(t.recurrentConstraint),n.biasConstraint=bY(t.biasConstraint),n.dropout=PY([1,BY([0,null==t.dropout?0:t.dropout])]),n.recurrentDropout=PY([1,BY([0,null==t.recurrentDropout?0:t.recurrentDropout])]),n.implementation=t.implementation,n.stateSize=[n.units,n.units],n.dropoutMask=null,n.recurrentDropoutMask=null,n}return kU(t,e),t.prototype.build=function(e){var t,n,r=(e=DZ(e))[e.length-1];if(this.kernel=this.addWeight(\"kernel\",[r,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){var i=this.biasInitializer,o=this.units;t=new((n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kU(t,e),t.prototype.apply=function(e,t){var n=i.apply([o]),r=(new iZ).apply([o]),s=i.apply([2*o]);return YY(YY(n,r),s)},t}(nZ)).className=\"CustomInit\",n)}else t=this.biasInitializer;this.bias=this.addWeight(\"bias\",[4*this.units],null,t,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){var r=null!=t.training&&t.training;if(3!==(e=e).length)throw new GU(\"LSTMCell expects 3 input Tensors (inputs, h, c), got \"+e.length+\".\");var i=e[1],o=e[2];e=e[0],0<n.dropout&&n.dropout<1&&null==n.dropoutMask&&(n.dropoutMask=dq(function(){return Object(fU.onesLike)(e)},n.dropout,r,4)),0<n.recurrentDropout&&n.recurrentDropout<1&&null==n.recurrentDropoutMask&&(n.recurrentDropoutMask=dq(function(){return Object(fU.onesLike)(i)},n.recurrentDropout,r,4));var s,a,u,l,c=n.dropoutMask,h=n.recurrentDropoutMask;if(1===n.implementation){var d=VY(n.kernel.read(),0,n.units),p=VY(n.kernel.read(),n.units,n.units),f=VY(n.kernel.read(),2*n.units,n.units),g=VY(n.kernel.read(),3*n.units,n.units),m=VY(n.recurrentKernel.read(),0,n.units),v=VY(n.recurrentKernel.read(),n.units,n.units),y=VY(n.recurrentKernel.read(),2*n.units,n.units),b=VY(n.recurrentKernel.read(),3*n.units,n.units),_=void 0,C=void 0,w=void 0,D=void 0;0<n.dropout&&n.dropout<1?(_=Object(fU.mul)(e,c[0]),C=Object(fU.mul)(e,c[1]),w=Object(fU.mul)(e,c[2]),D=Object(fU.mul)(e,c[3])):(_=e,C=e,w=e,D=e);var E=KY(_,d),A=KY(C,p),S=KY(w,f),x=KY(D,g);if(n.useBias){var M=WY(n.bias.read(),0,n.units),N=WY(n.bias.read(),n.units,n.units),I=WY(n.bias.read(),2*n.units,n.units),L=WY(n.bias.read(),3*n.units,n.units);E=XY(E,M),A=XY(A,N),S=XY(S,I),x=XY(x,L)}var k=void 0,T=void 0,F=void 0,O=void 0;0<n.recurrentDropout&&n.recurrentDropout<1?(k=Object(fU.mul)(i,h[0]),T=Object(fU.mul)(i,h[1]),F=Object(fU.mul)(i,h[2]),O=Object(fU.mul)(i,h[3])):(k=i,T=i,F=i,O=i),s=n.recurrentActivation.apply(Object(fU.add)(E,KY(k,m))),a=n.recurrentActivation.apply(Object(fU.add)(A,KY(T,v))),u=Object(fU.add)(Object(fU.mul)(a,o),Object(fU.mul)(s,n.activation.apply(Object(fU.add)(S,KY(F,y))))),l=n.recurrentActivation.apply(Object(fU.add)(x,KY(O,b)))}else{0<n.dropout&&n.dropout<1&&(e=Object(fU.mul)(e,c[0]));var P=KY(e,n.kernel.read());0<n.recurrentDropout&&n.recurrentDropout<1&&(i=Object(fU.mul)(i,h[0])),P=Object(fU.add)(P,KY(i,n.recurrentKernel.read())),n.useBias&&(P=XY(P,n.bias.read()));var B=VY(P,0,n.units),R=VY(P,n.units,n.units),j=VY(P,2*n.units,n.units),z=VY(P,3*n.units,n.units);s=n.recurrentActivation.apply(B),a=n.recurrentActivation.apply(R),u=Object(fU.add)(Object(fU.mul)(a,o),Object(fU.mul)(s,n.activation.apply(j))),l=n.recurrentActivation.apply(z)}var W=Object(fU.mul)(l,n.activation.apply(u));return[W,W,u]})},t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),recurrentActivation:JG(this.recurrentActivation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),recurrentInitializer:yZ(this.recurrentInitializer),biasInitializer:yZ(this.biasInitializer),unitForgetBias:this.unitForgetBias,kernelRegularizer:uK(this.kernelRegularizer),recurrentRegularizer:uK(this.recurrentRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),recurrentConstraint:vY(this.recurrentConstraint),biasConstraint:vY(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout,implementation:this.implementation},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.className=\"LSTMCell\",t}(iq);fU.serialization.SerializationMap.register(lq);var cq=function(e){function t(t){return 0===t.implementation&&console.warn(\"`implementation=0` has been deprecated, and now defaults to `implementation=1`. Please update your layer call.\"),t.cell=new lq(t),e.call(this,t)||this}return kU(t,e),t.prototype.call=function(t,n){var r=this;return Object(fU.tidy)(function(){null!=r.cell.dropoutMask&&(Object(fU.dispose)(r.cell.dropoutMask),r.cell.dropoutMask=null),null!=r.cell.recurrentDropoutMask&&(Object(fU.dispose)(r.cell.recurrentDropoutMask),r.cell.recurrentDropoutMask=null);var i=null==n?null:n.mask,o=null==n?null:n.training,s=null==n?null:n.initialState;return e.prototype.call.call(r,t,{mask:i,training:o,initialState:s})})},Object.defineProperty(t.prototype,\"units\",{get:function(){return this.cell.units},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"activation\",{get:function(){return this.cell.activation},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentActivation\",{get:function(){return this.cell.recurrentActivation},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"useBias\",{get:function(){return this.cell.useBias},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelInitializer\",{get:function(){return this.cell.kernelInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentInitializer\",{get:function(){return this.cell.recurrentInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasInitializer\",{get:function(){return this.cell.biasInitializer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"unitForgetBias\",{get:function(){return this.cell.unitForgetBias},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelRegularizer\",{get:function(){return this.cell.kernelRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentRegularizer\",{get:function(){return this.cell.recurrentRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasRegularizer\",{get:function(){return this.cell.biasRegularizer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"kernelConstraint\",{get:function(){return this.cell.kernelConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentConstraint\",{get:function(){return this.cell.recurrentConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"biasConstraint\",{get:function(){return this.cell.biasConstraint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"dropout\",{get:function(){return this.cell.dropout},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"recurrentDropout\",{get:function(){return this.cell.recurrentDropout},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"implementation\",{get:function(){return this.cell.implementation},enumerable:!0,configurable:!0}),t.prototype.getConfig=function(){var t={units:this.units,activation:JG(this.activation),recurrentActivation:JG(this.recurrentActivation),useBias:this.useBias,kernelInitializer:yZ(this.kernelInitializer),recurrentInitializer:yZ(this.recurrentInitializer),biasInitializer:yZ(this.biasInitializer),unitForgetBias:this.unitForgetBias,kernelRegularizer:uK(this.kernelRegularizer),recurrentRegularizer:uK(this.recurrentRegularizer),biasRegularizer:uK(this.biasRegularizer),activityRegularizer:uK(this.activityRegularizer),kernelConstraint:vY(this.kernelConstraint),recurrentConstraint:vY(this.recurrentConstraint),biasConstraint:vY(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout,implementation:this.implementation},n=e.prototype.getConfig.call(this);return delete n.cell,Object.assign(t,n),t},t.fromConfig=function(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)},t.className=\"LSTM\",t}(rq);fU.serialization.SerializationMap.register(cq);var hq=function(e){function t(t){var n=e.call(this,t)||this;return n.cells=t.cells,n}return kU(t,e),Object.defineProperty(t.prototype,\"stateSize\",{get:function(){for(var e=[],t=0,n=this.cells.slice().reverse();t<n.length;t++){var r=n[t];Array.isArray(r.stateSize)?e.push.apply(e,r.stateSize):e.push(r.stateSize)}return e},enumerable:!0,configurable:!0}),t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){for(var r=(e=e).slice(1),i=[],o=0,s=n.cells.slice().reverse();o<s.length;o++){var a=s[o];Array.isArray(a.stateSize)?i.push(r.splice(0,a.stateSize.length)):i.push(r.splice(0,1))}i.reverse();for(var u,l=[],c=0;c<n.cells.length;++c)a=n.cells[c],r=i[c],u=0===c?[e[0]].concat(r):[u[0]].concat(r),u=a.call(u,t),l.push(u.slice(1));r=[];for(var h=0,d=l.slice().reverse();h<d.length;h++){var p=d[h];r.push.apply(r,p)}return[u[0]].concat(r)})},t.prototype.build=function(e){var t;_Z(e)&&(e=e[0]),e=e;for(var n=0,r=this.cells;n<r.length;n++){var i=r[n];i.build(e),t=Array.isArray(i.stateSize)?i.stateSize[0]:i.stateSize,e=[e[0],t]}this.built=!0},t.prototype.getConfig=function(){for(var t=[],n=0,r=this.cells;n<r.length;n++){var i=r[n];t.push({className:this.getClassName(),config:i.getConfig()})}var o={cells:t},s=e.prototype.getConfig.call(this);return Object.assign(o,s),o},t.fromConfig=function(e,t,n){void 0===n&&(n={});for(var r=[],i=0,o=t.cells;i<o.length;i++){var s=o[i];r.push(CG(s,n))}return new e({cells:r})},Object.defineProperty(t.prototype,\"trainableWeights\",{get:function(){if(!this.trainable)return[];for(var e=[],t=0,n=this.cells;t<n.length;t++){var r=n[t];e.push.apply(e,r.trainableWeights)}return e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"nonTrainableWeights\",{get:function(){for(var e=[],t=0,n=this.cells;t<n.length;t++){var r=n[t];e.push.apply(e,r.nonTrainableWeights)}if(!this.trainable){for(var i=[],o=0,s=this.cells;o<s.length;o++)r=s[o],i.push.apply(i,r.trainableWeights);return i.concat(e)}return e},enumerable:!0,configurable:!0}),t.prototype.getWeights=function(){for(var e=[],t=0,n=this.cells;t<n.length;t++){var r=n[t];e.push.apply(e,r.weights)}return xZ(e)},t.prototype.setWeights=function(e){for(var t=[],n=0,r=this.cells;n<r.length;n++)for(var i=r[n],o=i.weights.length,s=e.splice(o),a=0;a<i.weights.length;++a)t.push([i.weights[a],s[a]]);MZ(t)},t.className=\"StackedRNNCells\",t}(iq);function dq(e,t,n,r){function i(){return JY(e(),UU(t))}if(void 0===n&&(n=null),void 0===r&&(r=1),r>1){for(var o=[],s=0;s<r;s++)o.push($Y(i,e,n));return o.forEach(function(e){return Object(fU.keep)(e)}),o}return Object(fU.keep)($Y(i,e,n))}fU.serialization.SerializationMap.register(hq);var pq=function(e){function t(t){var n=e.call(this,t)||this;return n.layer=t.layer,n}return kU(t,e),t.prototype.build=function(e){this.built=!0},Object.defineProperty(t.prototype,\"trainable\",{get:function(){return null!=this.layer&&this.layer.trainable},set:function(e){null!=this.layer&&(this.layer.trainable=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"trainableWeights\",{get:function(){return this.layer.trainableWeights},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"nonTrainableWeights\",{get:function(){return this.layer.nonTrainableWeights},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"updates\",{get:function(){return this.layer._updates},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"losses\",{get:function(){return this.layer.losses},enumerable:!0,configurable:!0}),t.prototype.getWeights=function(){return this.layer.getWeights()},t.prototype.setWeights=function(e){this.layer.setWeights(e)},t.prototype.getConfig=function(){var t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.fromConfig=function(e,t,n){void 0===n&&(n={});var r=CG(t.layer,n);delete t.layer;var i={layer:r};return Object.assign(i,t),new e(i)},t}(FZ),fq=function(e){function t(t){var n=e.call(this,t)||this;return n.supportsMasking=!0,n}return kU(t,e),t.prototype.build=function(t){if((t=DZ(t)).length<3)throw new GU(\"TimeDistributed layer expects an input shape >= 3D, but received input shape \"+JSON.stringify(t));this.inputSpec=[{shape:t}];var n=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(n),this.layer.built=!0),e.prototype.build.call(this,t)},t.prototype.computeOutputShape=function(e){var t=[(e=DZ(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),r=e[1];return[n[0],r].concat(n.slice(1))},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){return nq(function(e,r){return[n.layer.call(e,t),[]]},e=wZ(e),[],!1,null,null,!1,e.shape[1])[1]})},t.className=\"TimeDistributed\",t}(pq);fU.serialization.SerializationMap.register(fq);var gq=[\"sum\",\"mul\",\"concat\",\"ave\"];var mq=function(e){function t(t){var n=e.call(this,t)||this,r=t.layer.getConfig();if(n.forwardLayer=CG({className:t.layer.getClassName(),config:r}),r.goBackwards=!0!==r.goBackwards,n.backwardLayer=CG({className:t.layer.getClassName(),config:r}),n.forwardLayer.name=\"forward_\"+n.forwardLayer.name,n.backwardLayer.name=\"backward_\"+n.backwardLayer.name,function(e){uY(gq,\"BidirectionalMergeMode\",e)}(t.mergeMode),n.mergeMode=t.mergeMode,t.weights)throw new KU(\"weights support is not implemented for Bidirectional layer yet.\");return n._stateful=t.layer.stateful,n.returnSequences=t.layer.returnSequences,n.returnState=t.layer.returnState,n.supportsMasking=!0,n._trainable=!0,n.inputSpec=t.layer.inputSpec,n.numConstants=null,n}return kU(t,e),Object.defineProperty(t.prototype,\"trainable\",{get:function(){return this._trainable},set:function(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)},enumerable:!0,configurable:!0}),t.prototype.getWeights=function(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())},t.prototype.setWeights=function(e){var t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))},t.prototype.computeOutputShape=function(e){var t,n,r,i=this.forwardLayer.computeOutputShape(e);return Array.isArray(i)&&Array.isArray(i[0])||(i=[i]),i=i,this.returnState?(r=i.slice(1),t=i[0]):t=i[0],t=t,\"concat\"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(r).concat(r.slice()):[t].concat(r).concat(r.slice()):$U(n)},t.prototype.apply=function(t,n){var r=null==n?null:n.initialState,i=null==n?null:n.constants;null==n&&(n={});var o=tq(t,r,i,this.numConstants);if(t=o.inputs,r=o.initialState,i=o.constants,Array.isArray(t)&&(r=t.slice(1),t=t[0]),(null==r||0===r.length)&&null==i)return e.prototype.apply.call(this,t,n);var s=[],a=[];if(null!=r){var u=r.length;if(u%2>0)throw new GU(\"When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.\");n.initialState=r,s.push.apply(s,r);var l=r.map(function(e){return new NZ({shape:e.shape})});this.forwardLayer.stateSpec=l.slice(0,u/2),this.backwardLayer.stateSpec=l.slice(u/2),a.push.apply(a,l)}if(null!=i)throw new KU(\"Support for constants in Bidirectional layers is not implemented yet.\");for(var c=s[0]instanceof IZ,h=0,d=s;h<d.length;h++)if(d[h]instanceof IZ!==c)throw new GU(\"The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors\");if(c){var p=[t].concat(s),f=this.inputSpec.concat(a),g=this.inputSpec;this.inputSpec=f;var m=e.prototype.apply.call(this,p,n);return this.inputSpec=g,m}return e.prototype.apply.call(this,t,n)},t.prototype.call=function(e,t){var n=this;return Object(fU.tidy)(function(){if(null!=t.mask)throw new KU(\"The support for masking is not implemented for Bidirectional layers yet.\");var r,i,o,s,a=t.initialState;if(null==a)r=n.forwardLayer.call(e,t),i=n.backwardLayer.call(e,t);else{var u=a.slice(0,a.length/2),l=a.slice(a.length/2);r=n.forwardLayer.call(e,Object.assign(t,{initialState:u})),i=n.forwardLayer.call(e,Object.assign(t,{initialState:l}))}return n.returnState&&(Array.isArray(r)&&(o=r.slice(1).concat(i.slice(1))),r=r[0],i=i[0]),n.returnSequences&&(i=Object(fU.reverse)(i,1)),\"concat\"===n.mergeMode?s=UY([r,i]):\"sum\"===n.mergeMode?s=Object(fU.add)(r,i):\"ave\"===n.mergeMode?s=Object(fU.mul)(UU(.5),Object(fU.add)(r,i)):\"mul\"===n.mergeMode?s=Object(fU.mul)(r,i):null==n.mergeMode&&(s=[r,i]),n.returnState?null==n.mergeMode?s.concat(o):[s].concat(o):s})},t.prototype.resetStates=function(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()},t.prototype.build=function(e){var t=this;MY(this.forwardLayer.name,function(){t.forwardLayer.build(e)}),MY(this.backwardLayer.name,function(){t.backwardLayer.build(e)}),this.built=!0},Object.defineProperty(t.prototype,\"trainableWeights\",{get:function(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"nonTrainableWeights\",{get:function(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)},enumerable:!0,configurable:!0}),t.prototype.getConfig=function(){var t={mergeMode:this.mergeMode},n=e.prototype.getConfig.call(this);return Object.assign(t,n),t},t.fromConfig=function(e,t){var n=CG(t.layer);if(delete t.layer,null!=t.numConstants)throw new KU(\"Deserialization of a Bidirectional layer with numConstants present is not supported yet.\");var r=t;return r.layer=n,new e(r)},t.className=\"Bidirectional\",t}(pq);function vq(e){return new YK(e)}function yq(e){return new KK(e)}function bq(e){return new XK(e)}function _q(e){return new eq(e)}function Cq(e){return new UK(e)}function wq(e){return new GK(e)}fU.serialization.SerializationMap.register(mq);var Dq=bq,Eq=_q,Aq=Cq,Sq=wq;Object.freeze({inputLayer:function(e){return new OZ(e)},elu:function(e){return new nK(e)},leakyReLU:function(e){return new tK(e)},softmax:function(e){return new iK(e)},thresholdedReLU:function(e){return new rK(e)},conv1d:function(e){return new _K(e)},conv2d:function(e){return new vK(e)},conv2dTranspose:function(e){return new yK(e)},separableConv2d:function(e){return new bK(e)},cropping2D:function(e){return new CK(e)},upSampling2d:function(e){return new wK(e)},depthwiseConv2d:function(e){return new DK(e)},activation:function(e){return new xK(e)},dense:function(e){return new AK(e)},dropout:function(e){return new EK(e)},flatten:function(e){return new SK(e)},repeatVector:function(e){return new MK(e)},reshape:function(e){return new NK(e)},embedding:function(e){return new IK(e)},add:function(e){return new kK(e)},average:function(e){return new FK(e)},concatenate:function(e){return new BK(e)},maximum:function(e){return new OK(e)},minimum:function(e){return new PK(e)},multiply:function(e){return new TK(e)},batchNormalization:function(e){return new zK(e)},zeroPadding2d:function(e){return new WK(e)},averagePooling1d:vq,avgPool1d:function(e){return vq(e)},avgPooling1d:function(e){return vq(e)},averagePooling2d:yq,avgPool2d:function(e){return yq(e)},avgPooling2d:function(e){return yq(e)},globalAveragePooling1d:function(e){return new QK(e)},globalAveragePooling2d:function(e){return new $K(e)},globalMaxPooling1d:bq,globalMaxPooling2d:_q,maxPooling1d:Cq,maxPooling2d:wq,gru:function(e){return new uq(e)},gruCell:function(e){return new aq(e)},lstm:function(e){return new cq(e)},lstmCell:function(e){return new lq(e)},simpleRNN:function(e){return new sq(e)},simpleRNNCell:function(e){return new oq(e)},rnn:function(e){return new rq(e)},stackedRNNCells:function(e){return new hq(e)},bidirectional:function(e){return new mq(e)},timeDistributed:function(e){return new fq(e)},globalMaxPool1d:Dq,globalMaxPool2d:Eq,maxPool1d:Aq,maxPool2d:Sq,Layer:FZ,input:function(e){return PZ(e)}});Object.freeze({binaryAccuracy:function(e,t){return oG(e,t)},binaryCrossentropy:function(e,t){return aG(e,t)},categoricalAccuracy:function(e,t){return sG(e,t)},categoricalCrossentropy:function(e,t){return gG(e,t)},cosineProximity:function(e,t){return rG(e,t)},meanAbsoluteError:function(e,t){return YZ(e,t)},meanAbsolutePercentageError:function(e,t){return ZZ(e,t)},MAPE:function(e,t){return ZZ(e,t)},mape:function(e,t){return ZZ(e,t)},meanSquaredError:function(e,t){return UZ(e,t)},MSE:function(e,t){return UZ(e,t)},mse:function(e,t){return UZ(e,t)}});Object.freeze({l1l2:function(e){return new sK(e)},l1:function(e){return function(e){return new sK({l1:null!=e?e.l1:null,l2:0})}(e)},l2:function(e){return function(e){return new sK({l2:null!=e?e.l2:null,l1:0})}(e)}}),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.model=null,t}kU(t,e),t.prototype.setModel=function(e){if(!(e instanceof RG))throw new Error(\"model must be a Model, not some other Container\");this.model=e}}(RZ);var xq=n(67);fU.version_core,xq.a;const Mq=e=>({a:t,b:n})=>e(t,n);var Nq={\"+\":({a:e,b:t})=>void 0===e?fU.sum(t):fU.add(e,t),\"-\":({a:e,b:t})=>void 0===e?fU.neg(t):fU.sub(e,t),\"*\":({a:e,b:t})=>void 0===e?new Error(\"TensorFlow.js does not support tf.prod().\"):fU.mul(e,t),\"×\":({a:e,b:t})=>void 0===e?new Error(\"TensorFlow.js does not support tf.prod().\"):fU.mul(e,t),\"/\":({a:e,b:t})=>void 0===e?fU.reciprocal(t):fU.div(e,t),\"÷\":({a:e,b:t})=>void 0===e?fU.reciprocal(t):fU.div(e,t),\"^\":Mq(fU.pow),\"%\":Mq(fU.mod),\"@\":Mq(fU.matMul),\"⊗\":Mq(fU.matMul)},Iq=n(239),Lq=n.n(Iq);const kq=e=>e.dataSync()[0];var Tq={Square:e=>V(fU.square(e)),SquareRoot:e=>V(fU.sqrt(e)),Sign:e=>V(fU.sign(e)),Floor:e=>V(fU.floor(e)),Ceiling:e=>V(fU.ceil(e)),Round:e=>V(fU.round(e)),Absolute:e=>V(fU.abs(e)),Logarithm:e=>V(fU.log(e)),Clip:{[pU.doc]:Lq.a,[pU.call]:e=>{if(void 0===e)return V({[pU.doc]:\"\\n# Clipper\\nClips values to interval `0` – `1`\\n```L1\\nclipper: Clip !\\na: RandomNormal [10 10] -> clipper\\n```\\n                \",[pU.call]:e=>V(fU.maximum(fU.minimum(e,1),0))});if(re(e)){const t=c()({},e),n=t.min,r=t.max;return V({[pU.doc]:`\\n# Clipper\\nClips values to provided \\`min\\` and \\`max\\`\\n\\`\\`\\`L1\\nclipper: Clip {${n?\"\\n    min: \"+kq(n):\"\"}${r?\"\\n    max: \"+kq(r):\"\"}\\n}\\na: RandomNormal [10 10] -> clipper\\n\\`\\`\\`\\n                `,[pU.call]:e=>(r&&r instanceof fU.Tensor&&(e=fU.minimum(e,r)),n&&n instanceof fU.Tensor&&(e=fU.maximum(e,n)),V(e))})}}}},Fq=n(240),Oq=n.n(Fq);const Pq=e=>e.dataSync()[0];var Bq={[Symbol.for(\"doc\")]:Oq.a,[Symbol.for(\"call\")]:e=>{if(void 0===e)return V(fU.linspace(0,1,2));const t=e.hasOwnProperty(\"start\")?Pq(e.start):0,n=e.hasOwnProperty(\"stop\")?Pq(e.stop):1,r=e.hasOwnProperty(\"count\")?Pq(e.count):2;return V(fU.linspace(t,n,r))}},Rq=n(241),jq=n.n(Rq);var zq={[Symbol.for(\"doc\")]:jq.a,[Symbol.for(\"call\")]:e=>V(void 0===e?fU.ones([]):fU.ones((e=>e.dataSync())(e)))},Wq=n(242),Vq=n.n(Wq);var Hq={[Symbol.for(\"doc\")]:Vq.a,[Symbol.for(\"call\")]:e=>V(void 0===e?fU.zeros([]):fU.zeros((e=>e.dataSync())(e)))},Uq=n(243),Yq=n.n(Uq);var Zq={Ones:zq,Zeros:Hq,Eye:{[Symbol.for(\"doc\")]:Yq.a,[Symbol.for(\"call\")]:e=>V(void 0===e?fU.scalar(1):fU.eye((e=>e.dataSync()[0])(e)))},LinearSpace:Bq},Gq=n(244),Kq=n.n(Gq),qq={[pU.call]:e=>V(fU.min(e)),[pU.doc]:Kq.a},Qq=n(245),Xq=n.n(Qq),Jq={[pU.call]:e=>V(fU.max(e)),[pU.doc]:Xq.a},$q=n(246),eQ=n.n($q),tQ={[pU.call]:e=>V(fU.mean(e)),[pU.doc]:eQ.a},nQ=n(247),rQ=n.n(nQ),iQ={[pU.call]:e=>V(fU.sum(e)),[pU.doc]:rQ.a},oQ=n(248),sQ=n.n(oQ),aQ={Min:qq,Max:Jq,Mean:tQ,Sum:iQ,Product:{[pU.call]:e=>fU.prod?V(fU.prod(e)):V(new Error(\"TensorFlow.js does not support tf.prod().\")),[pU.doc]:sQ.a}},uQ=n(249),lQ=n.n(uQ),cQ={[pU.call]:e=>V(fU.tensor(e.shape)),[pU.doc]:lQ.a},hQ=n(250),dQ=n.n(hQ),pQ={[pU.call]:e=>V(fU.tensor(e.size)),[pU.doc]:dQ.a},fQ=n(251),gQ=n.n(fQ),mQ={[pU.call]:e=>V(fU.tensor(e.rank)),[pU.doc]:gQ.a},vQ=n(252),yQ=n.n(vQ),bQ={[pU.call]:e=>{const t=e.dataSync(),n=t.reduce((e,t)=>e*t),r=\"[\"+t.join(\" \")+\"]\";return V({[pU.call]:e=>V(fU.reshape(e,t)),[pU.doc]:`# Reshaper\\nReshapes tensor to ${r}\\n\\`\\`\\`L1\\nreshaper: Reshape ${r}\\na: RandomNormal ${n} -> reshaper\\n\\`\\`\\`\\n`})},[pU.doc]:yQ.a},_Q=n(253),CQ=n.n(_Q),wQ={[pU.call]:e=>{const t=e.dataSync()[0];return V({[pU.call]:e=>V(fU.expandDims(e,t)),[pU.doc]:`# Expander\\nExpands axis ${t} of provided tensor\\n\\`\\`\\`L1\\nexpander: Expand ${t}\\na: RandomNormal [20 20] -> expander\\n\\`\\`\\`\\n`})},[pU.doc]:CQ.a},DQ=n(254),EQ=n.n(DQ),AQ={[pU.call]:e=>V(fU.transpose(e)),[pU.doc]:EQ.a},SQ=n(255),xQ=n.n(SQ),MQ={Shape:cQ,Size:pQ,Rank:mQ,Reshape:bQ,Expand:wQ,Transpose:AQ,Reverse:{[pU.call]:e=>V(fU.reverse(e)),[pU.doc]:xQ.a}};window.tf=fU;var NQ=c()({},bU,{Empty:{},False:!1,True:!0,None:void 0},MQ,aQ,Nq,Zq,MU,NU,IU,Tq,{\".\":({a:e,b:t})=>e[t],Mouse:mU});const IQ=(e,t)=>{if(ue(e))return e(t);if(re(e)){if(e.hasOwnProperty(pU.call))return IQ(e[pU.call],t)}throw new Error(`${e} is not callable`)};var LQ=new class{constructor(){d()(this,\"issues\",null),d()(this,\"rootEnv\",NQ),d()(this,\"interpret\",(e,t={},n)=>{this.issues=n;const r=V(Object.assign(Object.create(this.rootEnv),{Self:this.rootEnv},t));return{success:{result:this.processToken(e,r),state:r}}}),d()(this,\"processToken\",(e,t)=>{console.log(e),t||console.error(\"No state to operate on!\");const n=this.tokenActions[e.type]||this.tokenActions.__unknown__;let r;try{r=n(e,t)}catch(t){const n={source:e._source||null,message:t.message,severity:t.severity};this.reportIssue(n),console.error(t),r=null}return r}),d()(this,\"catchIssue\",(e,t,n)=>{const r={source:t._source||null,message:e.message,severity:\"error\"};return this.reportIssue(r),n||V(e)}),d()(this,\"tokenActions\",{Program:(e,t)=>{let n=t.pipe(FW(e=>{console.groupCollapsed(\"State\"),console.log(\"Create new state from:\",e)}),BW(e=>Object.assign(Object.create(e),{[pU.meta]:{}})),qW(),FW(e=>{console.log(\"New state:\",e),console.groupEnd()}));return e.value.forEach(e=>{const t=this.processToken(e,n);n=LW(n,t).pipe(FW(([e,t])=>{console.groupCollapsed(\"State merge\"),console.log(\"Going to merge state and stateDelta\",e,t)}),BW(([e,t])=>{const n=Object.keys(t)[0];let r,i=BH(e[pU.meta],t[pU.meta]);return(r=e.hasOwnProperty(n)?BH(e,t):Object.assign(e,t))[pU.meta]=i,r}),FW(e=>{console.log(\"New merged state\",e),console.groupEnd()}),qW())}),n},Assignment:(e,t)=>LW(this.processToken(e.path,t),this.processToken(e.value,t)).pipe(FW(([e,t])=>{console.groupCollapsed(\"Assignment\"),console.log(\"Creating state delta\",e,t)}),QW(t=>this.catchIssue(t,e)),BW(([t,n])=>{const r=[pU.meta,...t],i=sU({},r,{silent:e.silent,source:e._source});return sU(i,t,n),i}),FW(e=>{console.log(\"New state delta\",e),console.groupEnd()})),Path:(e,t)=>V(e.value),FunctionApplication:(e,t)=>LW(this.processToken(e.function,t),this.processToken(e.argument,t)).pipe(FW(([e,t])=>{console.groupCollapsed(\"Function Application\"),console.log(\"Function\",e),console.log(\"Argument\",t)}),function e(t,n){return\"function\"==typeof n?function(r){return r.pipe(e(function(e,r){return $W(t(e,r)).pipe(BW(function(t,i){return n(e,t,r,i)}))}))}:function(e){return e.lift(new eV(t))}}(([e,t])=>IQ(e,t)),QW(t=>this.catchIssue(t,e)),FW(e=>{console.log(\"Value\",e),console.groupEnd()})),Reference:(e,t)=>LW(this.processToken(e.value,t),t).pipe(FW(([e,t])=>{console.groupCollapsed(\"Reference\"),console.log(\"Getting a value from reference\"),console.log(\"Path\",e),console.log(\"State\",t)}),BW(([e,t])=>{if(!lU(t,e))throw new Error(`No value for ${e.join(\".\")}`);return hU(t,e)}),QW(t=>this.catchIssue(t,e,V(void 0))),FW(e=>{console.log(\"Value\",e),console.groupEnd()})),Function:(e,t)=>t.pipe(FW(t=>{console.groupCollapsed(\"Function\"),console.log(\"State\",t),console.log(\"Argument\",e.argument)}),BW(t=>n=>{const r=Object.assign(Object.create(t),{[e.argument]:n});return this.processToken(e.value,V(r))}),FW(e=>{console.log(\"Function\",e),console.groupEnd()})),Operation:(e,t)=>{const n=this.processToken(e.left,t),r=this.processToken(e.right,t);return LW(V(this.rootEnv[e.operator]),n,r).pipe(FW(([e,t,n])=>{console.groupCollapsed(\"Operation\"),console.log(\"Operator\",e),console.log(\"Left argument\",t),console.log(\"Right argument\",n)}),BW(([e,t,n])=>IQ(e,{a:t,b:n})),QW(t=>this.catchIssue(t,e)),FW(e=>{console.log(\"Result from operation:\",e),console.groupEnd()}))},Tensor:(e,t)=>{const n=this.processToken(e.value,t);return V(tf.tensor(n))},TensorLiteral:(e,t)=>e.value,Object:(e,t)=>this.processToken(e.value,t),String:(e,t)=>V(e.value),None:(e,t)=>V(void 0),__unknown__:(e,t)=>{throw new Error(`Unrecognized token: ${e.type}, rest: ${e}`)}})}reportIssue({source:e,message:t,severity:n=\"error\"}){const r=c()({},e,{message:t,severity:n});this.issues.next(r)}};var kQ=new class{constructor(){d()(this,\"evaluate\",async(e,t={},n)=>{const r=(await vW.parse(e,n)).result||void 0,i=r?await LQ.interpret(r,t,n):void 0;return{code:e,ast:r,computedValues:i?i.success.result||[]:{}}})}},TQ=n(16),FQ=n.n(TQ),OQ=\"[object Boolean]\";var PQ=function(e){return!0===e||!1===e||Wz(e)&&ne(e)==OQ},BQ=\"[object String]\";var RQ=function(e){return\"string\"==typeof e||!Kz(e)&&Wz(e)&&ne(e)==BQ},jQ=\"[object Number]\";var zQ=function(e){return\"number\"==typeof e||Wz(e)&&ne(e)==jQ};var WQ=function(){return!0},VQ=9007199254740991,HQ=Math.floor;var UQ=function(e,t){var n=\"\";if(!e||t<1||t>VQ)return n;do{t%2&&(n+=e),(t=HQ(t/2))&&(e+=e)}while(t);return n},YQ=NaN,ZQ=/^\\s+|\\s+$/g,GQ=/^[-+]0x[0-9a-f]+$/i,KQ=/^0b[01]+$/i,qQ=/^0o[0-7]+$/i,QQ=parseInt;var XQ=function(e){if(\"number\"==typeof e)return e;if(jH(e))return YQ;if(re(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=re(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(ZQ,\"\");var n=KQ.test(e);return n||qQ.test(e)?QQ(e.slice(2),n?2:8):GQ.test(e)?YQ:+e},JQ=1/0,$Q=1.7976931348623157e308;var eX=function(e){return e?(e=XQ(e))===JQ||e===-JQ?(e<0?-1:1)*$Q:e==e?e:0:0===e?e:0};var tX=function(e){var t=eX(e),n=t%1;return t==t?n?t-n:t:0};var nX=function(e,t,n){return t=(n?PH(e,t,n):void 0===t)?1:tX(t),UQ(tU(e),t)},rX=n(257),iX=n.n(rX);n(505);class oX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{colorizedValue:null}),d()(this,\"_mounted\",!1),d()(this,\"colorize\",async e=>{const t=\"\"+e,n=await Jj.editor.colorize(t,this.props.language);this._mounted&&this.setState({colorizedValue:n})})}componentDidUpdate(){this.colorize(this.props.children)}componentDidMount(){this._mounted=!0,this.colorize(this.props.children)}componentWillUnmount(){this._mounted=!1}render(){return this.state.colorizedValue?u.a.createElement(\"div\",{className:\"codeHighlight\",dangerouslySetInnerHTML:{__html:this.state.colorizedValue}}):u.a.createElement(\"div\",{className:\"codeHighlight\"},this.props.children)}}d()(oX,\"defaultProps\",{language:\"L1\"});n(506);class sX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{numericValue:0}),d()(this,\"onKeyDown\",e=>{console.log(e);let t=1;if(\"ArrowUp\"===e.key);else{if(\"ArrowDown\"!==e.key)return;t*=-1}e.preventDefault(),e.metaKey&&(t*=100),e.shiftKey&&(t*=10),e.altKey&&(t*=.1);const n=this.state.numericValue+t;this.setState({numericValue:n})})}static getDerivedStateFromProps(e,t){return{numericValue:e.data.dataSync()[0]}}render(){return u.a.createElement(\"div\",{className:\"property scalar-input\",tabIndex:\"0\",onKeyDown:this.onKeyDown},u.a.createElement(oX,null,vX(this.state.numericValue)))}}n(507);class aX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"onMouseOver\",e=>{})}render(){const e=this.props.name||\"\",t=this.props.symbol||\"\",n=this.props.type||\"\";return u.a.createElement(\"div\",{className:`property ${n}`,onMouseOver:this.onMouseOver},u.a.createElement(\"div\",{className:\"header\"},u.a.createElement(\"div\",{className:\"cell name\"},u.a.createElement(oX,null,e)),u.a.createElement(\"div\",{className:\"cell symbol\"},u.a.createElement(oX,null,t))),u.a.createElement(\"div\",{className:\"content\"},this.props.children))}}var uX=n(24),lX=n.n(uX);n(524);class cX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"render\",()=>{const e=this.props,t=(e=>{if(2===e.length){const t=lX()(e,2),n=t[0],r=void 0===n?1:n,i=t[1];return[r,void 0===i?1:i]}{const t=lX()(e,1)[0];return[1,void 0===t?1:t]}})(e.data.shape),n=lX()(t,2),r=n[0],i=n[1],o=bX(e.data).dataSync(),s=e.data.dataSync(),a=e.data.size,l=40*i,c=40*r;return u.a.createElement(\"svg\",{className:\"svg-tensor\",viewBox:`0 0 ${l} ${c}`},u.a.createElement(\"g\",null,Array.from({length:a},(e,t)=>{const n=o[t],r=`rgb(${n}, ${n}, ${n})`,a=n>128?0:255,l=`rgb(${a}, ${a}, ${a})`,c=t%i*40,h=40*Math.floor(t/i);return u.a.createElement(\"g\",{key:t,transform:`translate(${c}, ${h})`},u.a.createElement(\"rect\",{width:40,height:40,fill:r}),u.a.createElement(\"text\",{x:20,y:20,textAnchor:\"middle\",dominantBaseline:\"central\",fill:l},vX(s[t],1)))})))})}}n(525);class hX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"canvas\",null),d()(this,\"_mount\",e=>{this.canvas=e,this.canvas&&this._draw(this.props.data)}),d()(this,\"_draw\",async e=>{const t=this.canvas,n=t.getContext(\"2d\"),r=this[`_createImageData${e.rank}D`];if(!ue(r))throw Error(\"Drawing function is not available.\");const i=await r(e,n);t.width=i.width,t.height=i.height,window.requestAnimationFrame(()=>n.putImageData(i,0,0))}),d()(this,\"_createImageData0D\",async(e,t)=>{return t.createImageData(1,1)}),d()(this,\"_createImageData1D\",async(e,t)=>{let n=(e=>{const t=lX()(e,2),n=t[0],r=void 0===n?1:n,i=t[1];return[void 0===i?1:i,r]})(e.shape),r=lX()(n,2),i=r[0],o=r[1];const s=t.createImageData(o,i),a=await bX(e),u=await a.data();for(let t=0;t<e.size;t++){const e=4*t,n=Math.round(u[t]),r=!isNaN(n);s.data[e+0]=r?n:255,s.data[e+1]=r?n:0,s.data[e+2]=r?n:0,s.data[e+3]=255}return s}),d()(this,\"_createImageData2D\",async(e,t)=>{let n=(e=>{const t=lX()(e,2),n=t[0],r=void 0===n?1:n,i=t[1];return[r,void 0===i?1:i]})(e.shape),r=lX()(n,2),i=r[0],o=r[1];const s=t.createImageData(o,i),a=await bX(e),u=await a.data();for(let t=0;t<e.size;t++){const e=4*t,n=Math.round(u[t]),r=!isNaN(n);s.data[e+0]=r?n:255,s.data[e+1]=r?n:0,s.data[e+2]=r?n:0,s.data[e+3]=255}return s}),d()(this,\"_createImageData3D\",async(e,t)=>this._createImageData2D(e,t))}componentDidUpdate(e,t){this._draw(this.props.data)}render(){return u.a.createElement(\"div\",{className:\"canvas\"},u.a.createElement(\"canvas\",{className:\"tensor-canvas\",ref:this._mount}))}}n(526);class dX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{data:null,min:0,max:0,mean:0,computing:!1,revisionId:0})}static getDerivedStateFromProps(e,t){if(e.data===t.data&&e.revisionId===t.revisionId)return null;return{data:e.data,revisionId:e.revisionId,computing:!0}}componentDidMount(){this.updateStats(),this._mounted=!0}componentWillUnmount(){this._mounted=!1}componentDidUpdate(e,t){t.data===this.state.data&&t.revisionId===this.state.revisionId||this.updateStats()}async updateStats(){const e={min:(await this.props.data.min().data())[0],max:(await this.props.data.max().data())[0],mean:(await this.props.data.mean().data())[0],computing:!1};this._mounted&&this.setState(e)}render(){return u.a.createElement(\"div\",{className:\"info\"},u.a.createElement(pX,{name:\"Shape\"},\"[\"+this.state.data.shape.map(vX).join(\" \")+\"]\"),u.a.createElement(pX,{name:\"Size\"},vX(this.state.data.size)),u.a.createElement(pX,{name:\"Rank\"},vX(this.state.data.rank)),u.a.createElement(pX,{name:\"Mean\"},vX(+this.state.mean)),u.a.createElement(pX,{name:\"Range\"},vX(this.state.max-this.state.min)),u.a.createElement(pX,{name:\"Min\"},vX(+this.state.min)),u.a.createElement(pX,{name:\"Max\"},vX(+this.state.max)))}}const pX=({name:e,children:t})=>u.a.createElement(\"div\",{className:\"field\"},u.a.createElement(\"div\",{className:\"label\"},u.a.createElement(oX,null,e)),u.a.createElement(\"div\",{className:\"value\"},u.a.createElement(oX,null,t)));n(527);class fX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{isVariable:!1,data:null,revisionId:0}),d()(this,\"update\",()=>{this.setState({revisionId:this.state.revisionId+1})})}static getDerivedStateFromProps(e,t){if(e.data!==t.data){const n=e.data instanceof fU.Variable,r=(n?\"$\":\"\")+\"[]\";return{data:e.data,isVariable:n,symbol:r,revisionId:t.revisionId}}return null}componentDidMount(){this.state.isVariable&&this.state.data.subscribe(this.update)}componentDidUpdate(e){e.data!==this.props.data&&(e.data instanceof fU.Variable&&e.data.unsubscribe(this.update),this.state.isVariable&&this.state.data.subscribe(this.update))}componentWillUnmount(){this.state.isVariable&&this.state.data.unsubscribe(this.update)}render(){if(!this.state.data)return null;const e=0===this.state.data.size,t=0===this.state.data.rank,n=e?gX:t?sX:mX;return u.a.createElement(aX,FQ()({},this.props,{type:\"tensor \"+(t?\"scalar\":\"\"),symbol:this.state.symbol}),u.a.createElement(n,{data:this.state.data,revisionId:this.state.revisionId}))}}const gX=e=>u.a.createElement(\"div\",null,\"Empty tensor\");class mX extends a.PureComponent{render(){const e=this.props.data;return u.a.createElement(\"div\",{className:\"tensor-content\"},u.a.createElement(\"div\",{className:\"visualization\"},this.props.data.size>25?u.a.createElement(hX,{key:\"canvas\",data:e,revisionId:this.props.revisionId}):u.a.createElement(cX,{data:e})),u.a.createElement(dX,{key:\"stats\",data:e,revisionId:this.props.revisionId}))}}const vX=(e,t=2)=>{try{return iX()(e).format(`0,0.[${nX(\"0\",t)}]`).replace(/,/g,\"_\")}catch(t){return console.log(e,t),\"???\"}},yX=(e,t,n)=>{const r=e.min(),i=e.max();return t.add(e.sub(r).div(i.sub(r)).mul(n.sub(t)))},bX=e=>{const t=e.sub(e.mean()),n=fU.scalar(-1),r=fU.scalar(1),i=yX(t,n,r);return yX(i,fU.scalar(0),fU.scalar(255))};n(528);var _X=e=>u.a.createElement(aX,FQ()({},e,{type:\"function\",symbol:\"λ => λ\"}),u.a.createElement(\"div\",{className:\"function-content\"},\"λ\"));n(529);var CX=e=>u.a.createElement(aX,FQ()({},e,{type:\"unknown\"}));n(530);class wX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{data:null,resolved:!1}),d()(this,\"_mounted\",!1)}resolve(){this.props.data.then(e=>{this._mounted&&this.setState({data:e,resolved:!0})})}componentDidMount(){this._mounted=!0,this.resolve()}componentWillUnmount(){this._mounted=!1}componentDidUpdate(e){e.data!==this.props.data&&(this.setState({resolved:!1}),this.resolve())}render(){return u.a.createElement(\"div\",{className:\"promise \"+(this.state.resolved?\"resolved\":\"unresolved\")},u.a.createElement(BX,FQ()({},this.props,{data:this.state.data})))}}n(531);class DX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{data:null,value:void 0,error:void 0,completed:!1}),d()(this,\"_mounted\",!1),d()(this,\"onNext\",e=>this.setState({value:e,error:void 0})),d()(this,\"onError\",e=>this.setState({value:void 0,error:e})),d()(this,\"onCompleted\",()=>this.setState({completed:!0})),d()(this,\"componentDidUpdate\",(e,t)=>{t.data!==this.state.data&&(this.subscription.unsubscribe(),this.subscription=this.state.data.subscribe(this.onNext,this.onError,this.onCompleted))}),d()(this,\"render\",()=>u.a.createElement(\"div\",{className:\"observable \"+(this.state.error?\"error\":\"\")},u.a.createElement(BX,FQ()({},this.props,{data:this.state.error||this.state.value}))))}componentDidMount(){this._mounted=!0,this.subscription=this.props.data.subscribe(this.onNext,this.onError,this.onCompleted)}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}componentWillUnmount(){this._mounted=!1,this.subscription.unsubscribe()}}n(532);var EX=e=>u.a.createElement(aX,FQ()({},e,{type:\"error\",symbol:\"🚫\"}),u.a.createElement(\"div\",{className:\"error-content\"},e.data.message));const AX=e=>void 0===e,SX=e=>null===e,xX=e=>\"[object Promise]\"===e.toString(),MX=e=>e instanceof fU.Tensor,NX=e=>re(e)&&!xX(e),IX=e=>e instanceof Error,LX=e=>e instanceof P,kX=e=>u.a.createElement(aX,FQ()({},e,{type:\"string\",symbol:'\"abc\"'}),u.a.createElement(\"div\",null,e.data)),TX=e=>u.a.createElement(aX,FQ()({},e,{type:\"number\",symbol:\"123\"}),u.a.createElement(\"div\",null,e.data)),FX=e=>u.a.createElement(aX,FQ()({},e,{type:\"boolean\",symbol:\"0/1\"}),u.a.createElement(\"div\",null,e.data?\"True\":\"False\")),OX=e=>u.a.createElement(aX,FQ()({},e,{type:\"undefined\",symbol:\"()\"})),PX=e=>u.a.createElement(aX,FQ()({},e,{type:\"null\",symbol:\"NULL\"}));class BX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"visualizations\",[[AX,OX],[SX,PX],[PQ,FX],[IX,EX],[RQ,kX],[zQ,TX],[MX,fX],[ue,_X],[LX,DX],[NX,HX],[xX,wX],[WQ,CX]]),d()(this,\"valueToVis\",e=>this.visualizations.find(([t,n])=>t(e))[1])}render(){const e=this.valueToVis(this.props.data);return u.a.createElement(e,this.props)}}n(533);const RX=e=>{return qj({value:e},{inline:!1,codeBlockRenderer:async function(e=\"L1\",t){const n=await Jj.editor.colorize(t,e);return`\\n                <div class=\"codeContainer\">\\n                    <button class=\"runButton\" onclick=\"loadCode('${H.Base64.encode(t)}')\">Run</button>\\n                    ${n}\\n                </div>\\n            `}})};class jX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"_containerElement\",null),d()(this,\"_colorizedElement\",null),d()(this,\"colorize\",async e=>{if(!this._containerElement)return;if(!RQ(e))return;const t=RX(\"\"+e);this._colorizedElement?this._containerElement.replaceChild(t,this._colorizedElement):this._containerElement.appendChild(t),this._colorizedElement=t})}componentDidUpdate(){this.colorize(this.props.children)}componentDidMount(){this._mounted=!0,this.colorize(this.props.children)}componentWillUnmount(){this._mounted=!1}render(){return u.a.createElement(\"div\",{ref:e=>this._containerElement=e,className:\"property markdown\"})}}n(534);const zX=pU.meta,WX=pU.doc;Object.betterEntries=(e=>{return Object.entries(e).map(([t,n])=>[n,t,e])});const VX=([e,t,n])=>!(n[zX]&&n[zX][t]&&n[zX][t].silent);class HX extends a.PureComponent{render(){const e=this.props.data,t=Object.betterEntries(e).filter(VX).map(([e,t,n])=>{const r=n[zX]&&n[zX][t]?n[zX][t]:null;return u.a.createElement(BX,{key:t,name:t,data:e,_meta:r})}),n=e.hasOwnProperty(pU.doc)?u.a.createElement(jX,null,e[WX]):null;return u.a.createElement(aX,FQ()({type:\"object\",symbol:\"{}\"},this.props),u.a.createElement(\"div\",{className:\"properties\"},n,t))}}class UX extends a.PureComponent{render(){return u.a.createElement(BX,{data:this.props.data,type:\"panel\"})}}n(535);class YX extends a.PureComponent{constructor(...e){super(...e),d()(this,\"state\",{scrolled:!1}),d()(this,\"onScroll\",e=>{e.target.scrollTop>0&&!this.state.scrolled?this.setState({scrolled:!0}):0===e.target.scrollTop&&this.state.scrolled&&this.setState({scrolled:!1})})}render(){const e=\"panel\"+(this.props.scrollable&&this.state.scrolled?\" scrolled\":\"\")+(this.props.disabled?\" disabled\":\"\");return u.a.createElement(\"div\",{id:this.props.id||\"\",className:e,onScroll:this.props.scrollable?this.onScroll:void 0},this.props.children)}}var ZX=n(258),GX=n.n(ZX);const KX=e=>H.Base64.encode(e),qX=e=>{try{return H.Base64.decode(e)}catch(e){return}},QX=qX(document.location.hash.substring(1));QX&&history.replaceState({code:QX,saved:!0,timestamp:Date.now()},\"\",\"#\"+KX(QX));const XX=QX||GX.a;self.MonacoEnvironment={getWorkerUrl:function(e,t){return\"json\"===t?\"./json.worker.js\":\"./editor.worker.js\"}},s.a.render(u.a.createElement(class extends a.PureComponent{constructor(...e){super(...e),d()(this,\"_editor\",null),d()(this,\"state\",{code:XX,ast:null,computedValues:V({}),outOfSync:!1}),d()(this,\"_onPopState\",e=>{e.state&&e.state.code&&this._editor.setContent(e.state.code)}),d()(this,\"codeChanged\",async(e,t,n,r)=>{r||this.handleHistory(e);const i=await kQ.evaluate(e,{},n);i.ast?this.setState(c()({},i,{outOfSync:!1})):this.setState({code:e,outOfSync:!0})}),d()(this,\"saveCode\",()=>{history.replaceState({code:this.state.code,saved:!0,timestamp:Date.now()},\"\",\"#\"+KX(this.state.code))})}componentDidMount(){window.addEventListener(\"popstate\",this._onPopState),window.loadCode=(e=>{const t=qX(e);this._editor.setContent(t),history.pushState({code:t,saved:!0,timestamp:Date.now()},\"\",\"#\"+e)})}componentWillUnmount(){window.removeEventListener(\"popstate\",this._onPopState)}handleHistory(e){e!==this.state.code&&(history.state?history.state.saved?history.pushState({code:e,saved:!1,timestamp:Date.now()},\"\",\"#\"):history.replaceState({code:e,saved:!1,timestamp:Date.now()},\"\",\"#\"):history.pushState({code:e,saved:!1,timestamp:Date.now()},\"\",\"#\"))}render(){return u.a.createElement(\"div\",{className:\"studio\"},u.a.createElement(YX,{id:\"board\",scrollable:!0,disabled:this.state.outOfSync},u.a.createElement(UX,{data:this.state.computedValues})),u.a.createElement(YX,{id:\"editor\"},u.a.createElement($j,{ref:e=>this._editor=e,content:this.state.code,language:\"L1\",theme:\"L1\",onChange:this.codeChanged,onExecute:this.codeChanged.bind(this,this.state.code),onSave:this.saveCode})))}},null),document.querySelector(\"#studio\")),e.hot.accept()}]);"
  },
  {
    "path": "latest/b339297726b01d858501.worker.js",
    "content": "!function(e){var t=this.webpackHotUpdate;this.webpackHotUpdate=function(e,r){!function(e,t){if(!x[e]||!b[e])return;for(var r in b[e]=!1,t)Object.prototype.hasOwnProperty.call(t,r)&&(d[r]=t[r]);0==--g&&0===v&&T()}(e,r),t&&t(e,r)};var r,n=!0,o=\"b339297726b01d858501\",i=1e4,a={},s=[],c=[];function u(e){var t=E[e];if(!t)return C;var n=function(n){return t.hot.active?(E[n]?-1===E[n].parents.indexOf(e)&&E[n].parents.push(e):(s=[e],r=n),-1===t.children.indexOf(n)&&t.children.push(n)):(console.warn(\"[HMR] unexpected require(\"+n+\") from disposed module \"+e),s=[]),C(n)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return C[e]},set:function(t){C[e]=t}}};for(var i in C)Object.prototype.hasOwnProperty.call(C,i)&&\"e\"!==i&&\"t\"!==i&&Object.defineProperty(n,i,o(i));return n.e=function(e){return\"ready\"===l&&h(\"prepare\"),v++,C.e(e).then(t,function(e){throw t(),e});function t(){v--,\"prepare\"===l&&(y[e]||k(e),0===v&&0===g&&T())}},n.t=function(e,t){return 1&t&&(e=n(e)),C.t(e,-2&t)},n}var f=[],l=\"idle\";function h(e){l=e;for(var t=0;t<f.length;t++)f[t].call(null,e)}var p,d,m,g=0,v=0,y={},b={},x={};function S(e){return+e+\"\"===e?+e:e}function O(e){if(\"idle\"!==l)throw new Error(\"check() is only allowed in idle status\");return n=e,h(\"check\"),(t=i,t=t||1e4,new Promise(function(e,r){if(\"undefined\"==typeof XMLHttpRequest)return r(new Error(\"No browser support\"));try{var n=new XMLHttpRequest,i=C.p+\"\"+o+\".hot-update.json\";n.open(\"GET\",i,!0),n.timeout=t,n.send(null)}catch(e){return r(e)}n.onreadystatechange=function(){if(4===n.readyState)if(0===n.status)r(new Error(\"Manifest request to \"+i+\" timed out.\"));else if(404===n.status)e();else if(200!==n.status&&304!==n.status)r(new Error(\"Manifest request to \"+i+\" failed.\"));else{try{var t=JSON.parse(n.responseText)}catch(e){return void r(e)}e(t)}}})).then(function(e){if(!e)return h(\"idle\"),null;b={},y={},x=e.c,m=e.h,h(\"prepare\");var t=new Promise(function(e,t){p={resolve:e,reject:t}});d={};return k(0),\"prepare\"===l&&0===v&&0===g&&T(),t});var t}function k(e){x[e]?(b[e]=!0,g++,function(e){importScripts(C.p+\"\"+e+\".\"+o+\".hot-update.js\")}(e)):y[e]=!0}function T(){h(\"ready\");var e=p;if(p=null,e)if(n)Promise.resolve().then(function(){return A(n)}).then(function(t){e.resolve(t)},function(t){e.reject(t)});else{var t=[];for(var r in d)Object.prototype.hasOwnProperty.call(d,r)&&t.push(S(r));e.resolve(t)}}function A(t){if(\"ready\"!==l)throw new Error(\"apply() is only allowed in ready status\");var r,n,i,c,u;function f(e){for(var t=[e],r={},n=t.slice().map(function(e){return{chain:[e],id:e}});n.length>0;){var o=n.pop(),i=o.id,a=o.chain;if((c=E[i])&&!c.hot._selfAccepted){if(c.hot._selfDeclined)return{type:\"self-declined\",chain:a,moduleId:i};if(c.hot._main)return{type:\"unaccepted\",chain:a,moduleId:i};for(var s=0;s<c.parents.length;s++){var u=c.parents[s],f=E[u];if(f){if(f.hot._declinedDependencies[i])return{type:\"declined\",chain:a.concat([u]),moduleId:i,parentId:u};-1===t.indexOf(u)&&(f.hot._acceptedDependencies[i]?(r[u]||(r[u]=[]),p(r[u],[i])):(delete r[u],t.push(u),n.push({chain:a.concat([u]),id:u})))}}}}return{type:\"accepted\",moduleId:e,outdatedModules:t,outdatedDependencies:r}}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];-1===e.indexOf(n)&&e.push(n)}}t=t||{};var g={},v=[],y={},b=function(){console.warn(\"[HMR] unexpected require(\"+k.moduleId+\") to disposed module\")};for(var O in d)if(Object.prototype.hasOwnProperty.call(d,O)){var k;u=S(O);var T=!1,A=!1,w=!1,_=\"\";switch((k=d[O]?f(u):{type:\"disposed\",moduleId:O}).chain&&(_=\"\\nUpdate propagation: \"+k.chain.join(\" -> \")),k.type){case\"self-declined\":t.onDeclined&&t.onDeclined(k),t.ignoreDeclined||(T=new Error(\"Aborted because of self decline: \"+k.moduleId+_));break;case\"declined\":t.onDeclined&&t.onDeclined(k),t.ignoreDeclined||(T=new Error(\"Aborted because of declined dependency: \"+k.moduleId+\" in \"+k.parentId+_));break;case\"unaccepted\":t.onUnaccepted&&t.onUnaccepted(k),t.ignoreUnaccepted||(T=new Error(\"Aborted because \"+u+\" is not accepted\"+_));break;case\"accepted\":t.onAccepted&&t.onAccepted(k),A=!0;break;case\"disposed\":t.onDisposed&&t.onDisposed(k),w=!0;break;default:throw new Error(\"Unexception type \"+k.type)}if(T)return h(\"abort\"),Promise.reject(T);if(A)for(u in y[u]=d[u],p(v,k.outdatedModules),k.outdatedDependencies)Object.prototype.hasOwnProperty.call(k.outdatedDependencies,u)&&(g[u]||(g[u]=[]),p(g[u],k.outdatedDependencies[u]));w&&(p(v,[k.moduleId]),y[u]=b)}var I,P=[];for(n=0;n<v.length;n++)u=v[n],E[u]&&E[u].hot._selfAccepted&&P.push({module:u,errorHandler:E[u].hot._selfAccepted});h(\"dispose\"),Object.keys(x).forEach(function(e){!1===x[e]&&function(e){delete installedChunks[e]}(e)});for(var j,V,M=v.slice();M.length>0;)if(u=M.pop(),c=E[u]){var N={},F=c.hot._disposeHandlers;for(i=0;i<F.length;i++)(r=F[i])(N);for(a[u]=N,c.hot.active=!1,delete E[u],delete g[u],i=0;i<c.children.length;i++){var D=E[c.children[i]];D&&((I=D.parents.indexOf(u))>=0&&D.parents.splice(I,1))}}for(u in g)if(Object.prototype.hasOwnProperty.call(g,u)&&(c=E[u]))for(V=g[u],i=0;i<V.length;i++)j=V[i],(I=c.children.indexOf(j))>=0&&c.children.splice(I,1);for(u in h(\"apply\"),o=m,y)Object.prototype.hasOwnProperty.call(y,u)&&(e[u]=y[u]);var W=null;for(u in g)if(Object.prototype.hasOwnProperty.call(g,u)&&(c=E[u])){V=g[u];var R=[];for(n=0;n<V.length;n++)if(j=V[n],r=c.hot._acceptedDependencies[j]){if(-1!==R.indexOf(r))continue;R.push(r)}for(n=0;n<R.length;n++){r=R[n];try{r(V)}catch(e){t.onErrored&&t.onErrored({type:\"accept-errored\",moduleId:u,dependencyId:V[n],error:e}),t.ignoreErrored||W||(W=e)}}}for(n=0;n<P.length;n++){var $=P[n];u=$.module,s=[u];try{C(u)}catch(e){if(\"function\"==typeof $.errorHandler)try{$.errorHandler(e)}catch(r){t.onErrored&&t.onErrored({type:\"self-accept-error-handler-errored\",moduleId:u,error:r,originalError:e}),t.ignoreErrored||W||(W=r),W||(W=e)}else t.onErrored&&t.onErrored({type:\"self-accept-errored\",moduleId:u,error:e}),t.ignoreErrored||W||(W=e)}}return W?(h(\"fail\"),Promise.reject(W)):(h(\"idle\"),new Promise(function(e){e(v)}))}var E={};function C(t){if(E[t])return E[t].exports;var n=E[t]={i:t,l:!1,exports:{},hot:function(e){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:r!==e,active:!0,accept:function(e,r){if(void 0===e)t._selfAccepted=!0;else if(\"function\"==typeof e)t._selfAccepted=e;else if(\"object\"==typeof e)for(var n=0;n<e.length;n++)t._acceptedDependencies[e[n]]=r||function(){};else t._acceptedDependencies[e]=r||function(){}},decline:function(e){if(void 0===e)t._selfDeclined=!0;else if(\"object\"==typeof e)for(var r=0;r<e.length;r++)t._declinedDependencies[e[r]]=!0;else t._declinedDependencies[e]=!0},dispose:function(e){t._disposeHandlers.push(e)},addDisposeHandler:function(e){t._disposeHandlers.push(e)},removeDisposeHandler:function(e){var r=t._disposeHandlers.indexOf(e);r>=0&&t._disposeHandlers.splice(r,1)},check:O,apply:A,status:function(e){if(!e)return l;f.push(e)},addStatusHandler:function(e){f.push(e)},removeStatusHandler:function(e){var t=f.indexOf(e);t>=0&&f.splice(t,1)},data:a[e]};return r=void 0,t}(t),parents:(c=s,s=[],c),children:[]};return e[t].call(n.exports,n,n.exports,u(t)),n.l=!0,n.exports}C.m=e,C.c=E,C.d=function(e,t,r){C.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},C.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},C.t=function(e,t){if(1&t&&(e=C(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(C.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var n in e)C.d(r,n,function(t){return e[t]}.bind(null,n));return r},C.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(t,\"a\",t),t},C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.p=\"\",C.h=function(){return o},u(3)(C.s=3)}([function(e,t,r){\"use strict\";(function(e){function r(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()}function n(e){return encodeURIComponent(e).replace(/[!'()*]/g,r)}function o(e){return e.replace(/[#?]/,r)}var i,a=function(){function e(){this._scheme=e._empty,this._authority=e._empty,this._path=e._empty,this._query=e._empty,this._fragment=e._empty,this._formatted=null,this._fsPath=null}return e.isUri=function(t){return t instanceof e||!!t&&(\"string\"==typeof t.authority&&\"string\"==typeof t.fragment&&\"string\"==typeof t.path&&\"string\"==typeof t.query&&\"string\"==typeof t.scheme)},Object.defineProperty(e.prototype,\"scheme\",{get:function(){return this._scheme},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"authority\",{get:function(){return this._authority},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"path\",{get:function(){return this._path},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"query\",{get:function(){return this._query},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"fragment\",{get:function(){return this._fragment},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"fsPath\",{get:function(){var t;this._fsPath||(t=this._authority&&this._path&&\"file\"===this.scheme?\"//\"+this._authority+this._path:e._driveLetterPath.test(this._path)?this._path[1].toLowerCase()+this._path.substr(2):this._path,i&&(t=t.replace(/\\//g,\"\\\\\")),this._fsPath=t);return this._fsPath},enumerable:!0,configurable:!0}),e.prototype.with=function(t){if(!t)return this;var r=t.scheme,n=t.authority,o=t.path,i=t.query,a=t.fragment;if(void 0===r?r=this.scheme:null===r&&(r=\"\"),void 0===n?n=this.authority:null===n&&(n=\"\"),void 0===o?o=this.path:null===o&&(o=\"\"),void 0===i?i=this.query:null===i&&(i=\"\"),void 0===a?a=this.fragment:null===a&&(a=\"\"),r===this.scheme&&n===this.authority&&o===this.path&&i===this.query&&a===this.fragment)return this;var s=new e;return s._scheme=r,s._authority=n,s._path=o,s._query=i,s._fragment=a,e._validate(s),s},e.parse=function(t){var r=new e,n=e._parseComponents(t);return r._scheme=n.scheme,r._authority=decodeURIComponent(n.authority),r._path=decodeURIComponent(n.path),r._query=decodeURIComponent(n.query),r._fragment=decodeURIComponent(n.fragment),e._validate(r),r},e.file=function(t){var r=new e;if(r._scheme=\"file\",i&&(t=t.replace(/\\\\/g,e._slash)),t[0]===e._slash&&t[0]===t[1]){var n=t.indexOf(e._slash,2);-1===n?r._authority=t.substring(2):(r._authority=t.substring(2,n),r._path=t.substring(n))}else r._path=t;return r._path[0]!==e._slash&&(r._path=e._slash+r._path),e._validate(r),r},e._parseComponents=function(t){var r={scheme:e._empty,authority:e._empty,path:e._empty,query:e._empty,fragment:e._empty},n=e._regexp.exec(t);return n&&(r.scheme=n[2]||r.scheme,r.authority=n[4]||r.authority,r.path=n[5]||r.path,r.query=n[7]||r.query,r.fragment=n[9]||r.fragment),r},e.from=function(t){return(new e).with(t)},e._validate=function(t){if(t.scheme&&!e._schemePattern.test(t.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(t.path)if(t.authority){if(!e._singleSlashStart.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(e._doubleSlashStart.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')},e.prototype.toString=function(t){return void 0===t&&(t=!1),t?e._asFormatted(this,!0):(this._formatted||(this._formatted=e._asFormatted(this,!1)),this._formatted)},e._asFormatted=function(t,r){var i=r?o:n,a=[],s=t.scheme,c=t.authority,u=t.path,f=t.query,l=t.fragment;(s&&a.push(s,\":\"),(c||\"file\"===s)&&a.push(\"//\"),c)&&(-1===(d=(c=c.toLowerCase()).indexOf(\":\"))?a.push(i(c)):a.push(i(c.substr(0,d)),c.substr(d)));if(u){var h=e._upperCaseDrive.exec(u);h&&(u=h[1]?\"/\"+h[2].toLowerCase()+u.substr(3):h[2].toLowerCase()+u.substr(2));for(var p=0;;){var d;if(-1===(d=u.indexOf(e._slash,p))){a.push(i(u.substring(p)));break}a.push(i(u.substring(p,d)),e._slash),p=d+1}}return f&&a.push(\"?\",i(f)),l&&a.push(\"#\",i(l)),a.join(e._empty)},e.prototype.toJSON=function(){var e={fsPath:this.fsPath,external:this.toString(),$mid:1};return this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},e.revive=function(t){var r=new e;return r._scheme=t.scheme||e._empty,r._authority=t.authority||e._empty,r._path=t.path||e._empty,r._query=t.query||e._empty,r._fragment=t.fragment||e._empty,r._fsPath=t.fsPath,r._formatted=t.external,e._validate(r),r},e}();if(t.a=a,a._empty=\"\",a._slash=\"/\",a._regexp=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/,a._driveLetterPath=/^\\/[a-zA-z]:/,a._upperCaseDrive=/^(\\/)?([A-Z]:)/,a._schemePattern=/^\\w[\\w\\d+.-]*$/,a._singleSlashStart=/^\\//,a._doubleSlashStart=/^\\/\\//,\"object\"==typeof e)i=\"win32\"===e.platform;else if(\"object\"==typeof navigator){var s=navigator.userAgent;i=s.indexOf(\"Windows\")>=0}}).call(this,r(2))},function(e,t,r){e.exports=function(){return new Worker(r.p+\"51c25ac0adacae5e02ff.worker.js\")}},function(e,t){var r,n,o=e.exports={};function i(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r=\"function\"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,u=[],f=!1,l=-1;function h(){f&&c&&(f=!1,c.length?u=c.concat(u):l=-1,u.length&&p())}function p(){if(!f){var e=s(h);f=!0;for(var t=u.length;t;){for(c=u,u=[];++l<t;)c&&c[l].run();l=-1,t=u.length}c=null,f=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new d(e,t)),1!==u.length||f||s(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title=\"browser\",o.browser=!0,o.env={},o.argv=[],o.version=\"\",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error(\"process.binding is not supported\")},o.cwd=function(){return\"/\"},o.chdir=function(e){throw new Error(\"process.chdir is not supported\")},o.umask=function(){return 0}},function(e,t,r){\"use strict\";r.r(t);var n,o,i,a,s,c,u,f,l=r(1);!function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return M.defined(t)&&M.number(t.line)&&M.number(t.character)}}(n||(n={})),function(e){e.create=function(e,t,r,o){if(M.number(e)&&M.number(t)&&M.number(r)&&M.number(o))return{start:n.create(e,t),end:n.create(r,o)};if(n.is(e)&&n.is(t))return{start:e,end:t};throw new Error(\"Range#create called with invalid arguments[\"+e+\", \"+t+\", \"+r+\", \"+o+\"]\")},e.is=function(e){var t=e;return M.defined(t)&&n.is(t.start)&&n.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return M.defined(t)&&o.is(t.range)&&(M.string(t.uri)||M.undefined(t.uri))}}(i||(i={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(a||(a={})),function(e){e.create=function(e,t,r,n,o){var i={range:e,message:t};return M.defined(r)&&(i.severity=r),M.defined(n)&&(i.code=n),M.defined(o)&&(i.source=o),i},e.is=function(e){var t=e;return M.defined(t)&&o.is(t.range)&&M.string(t.message)&&(M.number(t.severity)||M.undefined(t.severity))&&(M.number(t.code)||M.string(t.code)||M.undefined(t.code))&&(M.string(t.source)||M.undefined(t.source))}}(s||(s={})),function(e){e.create=function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o={title:e,command:t};return M.defined(r)&&r.length>0&&(o.arguments=r),o},e.is=function(e){var t=e;return M.defined(t)&&M.string(t.title)&&M.string(t.title)}}(c||(c={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:\"\"}}}(u||(u={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return M.defined(t)&&p.is(t.textDocument)&&Array.isArray(t.edits)}}(f||(f={}));var h,p,d,m,g,v,y,b,x,S,O,k,T,A,E,C,w,_,I=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(u.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(u.replace(e,t))},e.prototype.delete=function(e){this.edits.push(u.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach(function(e){var r=new I(e.edits);t._textEditChanges[e.textDocument.uri]=r}):e.changes&&Object.keys(e.changes).forEach(function(r){var n=new I(e.changes[r]);t._textEditChanges[r]=n}))}Object.defineProperty(e.prototype,\"edit\",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(p.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error(\"Workspace edit is not configured for versioned document changes.\");var t=e;if(!(n=this._textEditChanges[t.uri])){var r={textDocument:t,edits:o=[]};this._workspaceEdit.documentChanges.push(r),n=new I(o),this._textEditChanges[t.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error(\"Workspace edit is not configured for normal text edit changes.\");var n;if(!(n=this._textEditChanges[e])){var o=[];this._workspaceEdit.changes[e]=o,n=new I(o),this._textEditChanges[e]=n}return n}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return M.defined(t)&&M.string(t.uri)}}(h||(h={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return M.defined(t)&&M.string(t.uri)&&M.number(t.version)}}(p||(p={})),function(e){e.create=function(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}},e.is=function(e){var t=e;return M.defined(t)&&M.string(t.uri)&&M.string(t.languageId)&&M.number(t.version)&&M.string(t.text)}}(d||(d={})),function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\"}(m||(m={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(g||(g={})),function(e){e.PlainText=1,e.Snippet=2}(v||(v={})),function(e){e.create=function(e){return{label:e}}}(y||(y={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(b||(b={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}}(x||(x={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(S||(S={})),function(e){e.create=function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o={label:e};return M.defined(t)&&(o.documentation=t),M.defined(r)?o.parameters=r:o.parameters=[],o}}(O||(O={})),function(e){e.Text=1,e.Read=2,e.Write=3}(k||(k={})),function(e){e.create=function(e,t){var r={range:e};return M.number(t)&&(r.kind=t),r}}(T||(T={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(A||(A={})),function(e){e.create=function(e,t,r,n,o){var i={name:e,kind:t,location:{uri:n,range:r}};return o&&(i.containerName=o),i}}(E||(E={})),function(e){e.create=function(e){return{diagnostics:e}},e.is=function(e){var t=e;return M.defined(t)&&M.typedArray(t.diagnostics,s.is)}}(C||(C={})),function(e){e.create=function(e,t){var r={range:e};return M.defined(t)&&(r.data=t),r},e.is=function(e){var t=e;return M.defined(t)&&o.is(t.range)&&(M.undefined(t.command)||c.is(t.command))}}(w||(w={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){var t=e;return M.defined(t)&&M.number(t.tabSize)&&M.boolean(t.insertSpaces)}}(_||(_={}));var P=function(){return function(){}}();!function(e){e.create=function(e,t){return{range:e,target:t}},e.is=function(e){var t=e;return M.defined(t)&&o.is(t.range)&&(M.undefined(t.target)||M.string(t.target))}}(P||(P={}));var j,V;!function(e){e.create=function(e,t,r,n){return new N(e,t,r,n)},e.is=function(e){var t=e;return!!(M.defined(t)&&M.string(t.uri)&&(M.undefined(t.languageId)||M.string(t.languageId))&&M.number(t.lineCount)&&M.func(t.getText)&&M.func(t.positionAt)&&M.func(t.offsetAt))},e.applyEdits=function(e,t){for(var r=e.getText(),n=function e(t,r){if(t.length<=1)return t;var n=t.length/2|0,o=t.slice(0,n),i=t.slice(n);e(o,r),e(i,r);for(var a=0,s=0,c=0;a<o.length&&s<i.length;){var u=r(o[a],i[s]);t[c++]=u<=0?o[a++]:i[s++]}for(;a<o.length;)t[c++]=o[a++];for(;s<i.length;)t[c++]=i[s++];return t}(t,function(e,t){return 0==e.range.start.line-t.range.start.line?e.range.start.character-t.range.start.character:0}),o=r.length,i=n.length-1;i>=0;i--){var a=n[i],s=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=o))throw new Error(\"Ovelapping edit\");r=r.substring(0,s)+a.newText+r.substring(c,r.length),o=s}return r}}(j||(j={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(V||(V={}));var M,N=function(){function e(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=null}return Object.defineProperty(e.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"languageId\",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"version\",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,r=!0,n=0;n<t.length;n++){r&&(e.push(n),r=!1);var o=t.charAt(n);r=\"\\r\"===o||\"\\n\"===o,\"\\r\"===o&&n+1<t.length&&\"\\n\"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),r=0,o=t.length;if(0===o)return n.create(0,e);for(;r<o;){var i=Math.floor((r+o)/2);t[i]>e?o=i:r=i+1}var a=r-1;return n.create(a,e-t[a])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)},Object.defineProperty(e.prototype,\"lineCount\",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();function F(e,t){void 0===t&&(t=!1);var r=0,n=e.length,o=\"\",i=0,a=16,s=0;function c(t,n){for(var o=0,i=0;o<t||!n;){var a=e.charCodeAt(r);if(a>=48&&a<=57)i=16*i+a-48;else if(a>=65&&a<=70)i=16*i+a-65+10;else{if(!(a>=97&&a<=102))break;i=16*i+a-97+10}r++,o++}return o<t&&(i=-1),i}function u(){if(o=\"\",s=0,i=r,r>=n)return i=n,a=17;var t=e.charCodeAt(r);if(D(t)){do{r++,o+=String.fromCharCode(t),t=e.charCodeAt(r)}while(D(t));return a=15}if(W(t))return r++,o+=String.fromCharCode(t),13===t&&10===e.charCodeAt(r)&&(r++,o+=\"\\n\"),a=14;switch(t){case 123:return r++,a=1;case 125:return r++,a=2;case 91:return r++,a=3;case 93:return r++,a=4;case 58:return r++,a=6;case 44:return r++,a=5;case 34:return r++,o=function(){for(var t=\"\",o=r;;){if(r>=n){t+=e.substring(o,r),s=2;break}var i=e.charCodeAt(r);if(34===i){t+=e.substring(o,r),r++;break}if(92!==i){if(i>=0&&i<=31){if(W(i)){t+=e.substring(o,r),s=2;break}s=6}r++}else{if(t+=e.substring(o,r),++r>=n){s=2;break}switch(i=e.charCodeAt(r++)){case 34:t+='\"';break;case 92:t+=\"\\\\\";break;case 47:t+=\"/\";break;case 98:t+=\"\\b\";break;case 102:t+=\"\\f\";break;case 110:t+=\"\\n\";break;case 114:t+=\"\\r\";break;case 116:t+=\"\\t\";break;case 117:var a=c(4,!0);a>=0?t+=String.fromCharCode(a):s=4;break;default:s=5}o=r}}return t}(),a=10;case 47:var u=r-1;if(47===e.charCodeAt(r+1)){for(r+=2;r<n&&!W(e.charCodeAt(r));)r++;return o=e.substring(u,r),a=12}if(42===e.charCodeAt(r+1)){r+=2;for(var l=!1;r<n;){if(42===e.charCodeAt(r)&&r+1<n&&47===e.charCodeAt(r+1)){r+=2,l=!0;break}r++}return l||(r++,s=1),o=e.substring(u,r),a=13}return o+=String.fromCharCode(t),r++,a=16;case 45:if(o+=String.fromCharCode(t),++r===n||!R(e.charCodeAt(r)))return a=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=function(){var t=r;if(48===e.charCodeAt(r))r++;else for(r++;r<e.length&&R(e.charCodeAt(r));)r++;if(r<e.length&&46===e.charCodeAt(r)){if(!(++r<e.length&&R(e.charCodeAt(r))))return s=3,e.substring(t,r);for(r++;r<e.length&&R(e.charCodeAt(r));)r++}var n=r;if(r<e.length&&(69===e.charCodeAt(r)||101===e.charCodeAt(r)))if((++r<e.length&&43===e.charCodeAt(r)||45===e.charCodeAt(r))&&r++,r<e.length&&R(e.charCodeAt(r))){for(r++;r<e.length&&R(e.charCodeAt(r));)r++;n=r}else s=3;return e.substring(t,n)}(),a=11;default:for(;r<n&&f(t);)r++,t=e.charCodeAt(r);if(i!==r){switch(o=e.substring(i,r)){case\"true\":return a=8;case\"false\":return a=9;case\"null\":return a=7}return a=16}return o+=String.fromCharCode(t),r++,a=16}}function f(e){if(D(e)||W(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:return!1}return!0}return{setPosition:function(e){r=e,o=\"\",i=0,a=16,s=0},getPosition:function(){return r},scan:t?function(){var e;do{e=u()}while(e>=12&&e<=15);return e}:u,getToken:function(){return a},getTokenValue:function(){return o},getTokenOffset:function(){return i},getTokenLength:function(){return r-i},getTokenError:function(){return s}}}function D(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function W(e){return 10===e||13===e||8232===e||8233===e}function R(e){return e>=48&&e<=57}function $(e,t,r){var n,o,i,a,s;if(t){for(a=t.offset,s=a+t.length,i=a;i>0&&!L(e,i-1);)i--;for(var c=s;c<e.length&&!L(e,c);)c++;o=e.substring(i,c),n=function(e,t,r){var n=0,o=0,i=r.tabSize||4;for(;n<e.length;){var a=e.charAt(n);if(\" \"===a)o++;else{if(\"\\t\"!==a)break;o+=i}n++}return Math.floor(o/i)}(o,0,r)}else o=e,n=0,i=0,a=0,s=e.length;var u,f=function(e,t){for(var r=0;r<t.length;r++){var n=t.charAt(r);if(\"\\r\"===n)return r+1<t.length&&\"\\n\"===t.charAt(r+1)?\"\\r\\n\":\"\\r\";if(\"\\n\"===n)return\"\\n\"}return e&&e.eol||\"\\n\"}(r,e),l=!1,h=0;u=r.insertSpaces?U(\" \",r.tabSize||4):\"\\t\";var p=F(o,!1),d=!1;function m(){return f+U(u,n+h)}function g(){var e=p.scan();for(l=!1;15===e||14===e;)l=l||14===e,e=p.scan();return d=16===e||0!==p.getTokenError(),e}var v=[];function y(t,r,n){!d&&r<s&&n>a&&e.substring(r,n)!==t&&v.push({offset:r,length:n-r,content:t})}var b=g();if(17!==b){var x=p.getTokenOffset()+i;y(U(u,n),i,x)}for(;17!==b;){for(var S=p.getTokenOffset()+p.getTokenLength()+i,O=g(),k=\"\";!l&&(12===O||13===O);){y(\" \",S,p.getTokenOffset()+i),S=p.getTokenOffset()+p.getTokenLength()+i,k=12===O?m():\"\",O=g()}if(2===O)1!==b&&(h--,k=m());else if(4===O)3!==b&&(h--,k=m());else{switch(b){case 3:case 1:h++,k=m();break;case 5:case 12:k=m();break;case 13:k=l?m():\" \";break;case 6:k=\" \";break;case 10:if(6===O){k=\"\";break}case 7:case 8:case 9:case 11:case 2:case 4:12===O||13===O?k=\" \":5!==O&&17!==O&&(d=!0);break;case 16:d=!0}!l||12!==O&&13!==O||(k=m())}y(k,S,p.getTokenOffset()+i),b=O}return v}function U(e,t){for(var r=\"\",n=0;n<t;n++)r+=e;return r}function L(e,t){return-1!==\"\\r\\n\".indexOf(e.charAt(t))}function q(e,t,r){var n=F(e,!1);function o(e){return e?function(){return e(n.getTokenOffset(),n.getTokenLength())}:function(){return!0}}function i(e){return e?function(t){return e(t,n.getTokenOffset(),n.getTokenLength())}:function(){return!0}}var a=o(t.onObjectBegin),s=i(t.onObjectProperty),c=o(t.onObjectEnd),u=o(t.onArrayBegin),f=o(t.onArrayEnd),l=i(t.onLiteralValue),h=i(t.onSeparator),p=o(t.onComment),d=i(t.onError),m=r&&r.disallowComments,g=r&&r.allowTrailingComma;function v(){for(;;){var e=n.scan();switch(n.getTokenError()){case 4:y(14);break;case 5:y(15);break;case 3:y(13);break;case 1:m||y(11);break;case 2:y(12);break;case 6:y(16)}switch(e){case 12:case 13:m?y(10):p();break;case 16:y(1);break;case 15:case 14:break;default:return e}}}function y(e,t,r){if(void 0===t&&(t=[]),void 0===r&&(r=[]),d(e),t.length+r.length>0)for(var o=n.getToken();17!==o;){if(-1!==t.indexOf(o)){v();break}if(-1!==r.indexOf(o))break;o=v()}}function b(e){var t=n.getTokenValue();return e?l(t):s(t),v(),!0}function x(){switch(n.getToken()){case 3:return function(){u(),v();for(var e=!1;4!==n.getToken()&&17!==n.getToken();){if(5===n.getToken()){if(e||y(4,[],[]),h(\",\"),v(),4===n.getToken()&&g)break}else e&&y(6,[],[]);x()||y(4,[],[4,5]),e=!0}return f(),4!==n.getToken()?y(8,[4],[]):v(),!0}();case 1:return function(){a(),v();for(var e=!1;2!==n.getToken()&&17!==n.getToken();){if(5===n.getToken()){if(e||y(4,[],[]),h(\",\"),v(),2===n.getToken()&&g)break}else e&&y(6,[],[]);(10!==n.getToken()?(y(3,[],[2,5]),0):(b(!1),6===n.getToken()?(h(\":\"),v(),x()||y(4,[],[2,5])):y(5,[],[2,5]),1))||y(4,[],[2,5]),e=!0}return c(),2!==n.getToken()?y(7,[2],[]):v(),!0}();case 10:return b(!0);default:return function(){switch(n.getToken()){case 11:var e=0;try{\"number\"!=typeof(e=JSON.parse(n.getTokenValue()))&&(y(2),e=0)}catch(e){y(2)}l(e);break;case 7:l(null);break;case 8:l(!0);break;case 9:l(!1);break;default:return!1}return v(),!0}()}}return v(),17===n.getToken()||(x()?(17!==n.getToken()&&y(9,[],[]),!0):(y(4,[],[]),!1))}!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return\"[object String]\"===t.call(e)},e.number=function(e){return\"[object Number]\"===t.call(e)},e.func=function(e){return\"[object Function]\"===t.call(e)},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(M||(M={}));var H=F,B=function(e,t,r){void 0===t&&(t=[]);var n=null,o=[],i=[];function a(e){Array.isArray(o)?o.push(e):n&&(o[n]=e)}return q(e,{onObjectBegin:function(){var e={};a(e),i.push(o),o=e,n=null},onObjectProperty:function(e){n=e},onObjectEnd:function(){o=i.pop()},onArrayBegin:function(){var e=[];a(e),i.push(o),o=e,n=null},onArrayEnd:function(){o=i.pop()},onLiteralValue:a,onError:function(e,r,n){t.push({error:e,offset:r,length:n})}},r),o[0]};function J(e,t){if(e===t)return!0;if(null===e||void 0===e||null===t||void 0===t)return!1;if(typeof e!=typeof t)return!1;if(\"object\"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;var r,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(r=0;r<e.length;r++)if(!J(e[r],t[r]))return!1}else{var o=[];for(n in e)o.push(n);o.sort();var i=[];for(n in t)i.push(n);if(i.sort(),!J(o,i))return!1;for(r=0;r<o.length;r++)if(!J(e[o[r]],t[o[r]]))return!1}return!0}function z(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];return function(e,t){return 0===t.length?e:e.replace(/\\{(\\d+)\\}/g,function(e,r){var n=r[0];return void 0!==t[n]?t[n]:e})}(t,r)}function K(e){return z}var G,Z,X=r(0),Q=(G=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}G(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),Y=K();!function(e){e[e.Undefined=0]=\"Undefined\",e[e.EnumValueMismatch=1]=\"EnumValueMismatch\",e[e.UnexpectedEndOfComment=257]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=258]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=259]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=260]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=261]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=262]=\"InvalidCharacter\",e[e.PropertyExpected=513]=\"PropertyExpected\",e[e.CommaExpected=514]=\"CommaExpected\",e[e.ColonExpected=515]=\"ColonExpected\",e[e.ValueExpected=516]=\"ValueExpected\",e[e.CommaOrCloseBacketExpected=517]=\"CommaOrCloseBacketExpected\",e[e.CommaOrCloseBraceExpected=518]=\"CommaOrCloseBraceExpected\",e[e.TrailingComma=519]=\"TrailingComma\"}(Z||(Z={}));var ee,te=/^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/,re=/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;!function(e){e.Ignore=\"ignore\",e.Error=\"error\",e.Warning=\"warning\"}(ee||(ee={}));var ne,oe=function(){function e(e,t,r){this.offset=t,this.length=r,this.parent=e}return Object.defineProperty(e.prototype,\"children\",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return\"type: \"+this.type+\" (\"+this.offset+\"/\"+this.length+\")\"+(this.parent?\" parent: {\"+this.parent.toString()+\"}\":\"\")},e}(),ie=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type=\"null\",n}return Q(t,e),t}(oe),ae=function(e){function t(t,r,n){var o=e.call(this,t,n)||this;return o.type=\"boolean\",o.value=r,o}return Q(t,e),t}(oe),se=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type=\"array\",n.items=[],n}return Q(t,e),Object.defineProperty(t.prototype,\"children\",{get:function(){return this.items},enumerable:!0,configurable:!0}),t}(oe),ce=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type=\"number\",n.isInteger=!0,n.value=Number.NaN,n}return Q(t,e),t}(oe),ue=function(e){function t(t,r,n){var o=e.call(this,t,r,n)||this;return o.type=\"string\",o.value=\"\",o}return Q(t,e),t}(oe),fe=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type=\"property\",n.colonOffset=-1,n}return Q(t,e),Object.defineProperty(t.prototype,\"children\",{get:function(){return this.valueNode?[this.keyNode,this.valueNode]:[this.keyNode]},enumerable:!0,configurable:!0}),t}(oe),le=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type=\"object\",n.properties=[],n}return Q(t,e),Object.defineProperty(t.prototype,\"children\",{get:function(){return this.properties},enumerable:!0,configurable:!0}),t}(oe);function he(e){return\"boolean\"==typeof e?e?{}:{not:{}}:e}!function(e){e[e.Key=0]=\"Key\",e[e.Enum=1]=\"Enum\"}(ne||(ne={}));var pe=function(){function e(e,t){void 0===e&&(e=-1),void 0===t&&(t=null),this.focusOffset=e,this.exclude=t,this.schemas=[]}return e.prototype.add=function(e){this.schemas.push(e)},e.prototype.merge=function(e){var t;(t=this.schemas).push.apply(t,e.schemas)},e.prototype.include=function(e){return(-1===this.focusOffset||ye(e,this.focusOffset))&&e!==this.exclude},e.prototype.newSub=function(){return new e(-1,this.exclude)},e}(),de=function(){function e(){}return Object.defineProperty(e.prototype,\"schemas\",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.add=function(e){},e.prototype.merge=function(e){},e.prototype.include=function(e){return!0},e.prototype.newSub=function(){return this},e.instance=new e,e}(),me=function(){function e(){this.problems=[],this.propertiesMatches=0,this.propertiesValueMatches=0,this.primaryValueMatches=0,this.enumValueMatch=!1,this.enumValues=null}return e.prototype.hasProblems=function(){return!!this.problems.length},e.prototype.mergeAll=function(e){var t=this;e.forEach(function(e){t.merge(e)})},e.prototype.merge=function(e){this.problems=this.problems.concat(e.problems)},e.prototype.mergeEnumValues=function(e){if(!this.enumValueMatch&&!e.enumValueMatch&&this.enumValues&&e.enumValues){this.enumValues=this.enumValues.concat(e.enumValues);for(var t=0,r=this.problems;t<r.length;t++){var n=r[t];n.code===Z.EnumValueMismatch&&(n.message=Y(\"enumWarning\",\"Value is not accepted. Valid values: {0}.\",this.enumValues.map(function(e){return JSON.stringify(e)}).join(\", \")))}}},e.prototype.mergePropertyMatch=function(e){this.merge(e),this.propertiesMatches++,(e.enumValueMatch||!e.hasProblems()&&e.propertiesMatches)&&this.propertiesValueMatches++,e.enumValueMatch&&e.enumValues&&1===e.enumValues.length&&this.primaryValueMatches++},e.prototype.compare=function(e){var t=this.hasProblems();return t!==e.hasProblems()?t?-1:1:this.enumValueMatch!==e.enumValueMatch?e.enumValueMatch?-1:1:this.primaryValueMatches!==e.primaryValueMatches?this.primaryValueMatches-e.primaryValueMatches:this.propertiesValueMatches!==e.propertiesValueMatches?this.propertiesValueMatches-e.propertiesValueMatches:this.propertiesMatches-e.propertiesMatches},e}();function ge(e){switch(e.type){case\"array\":return e.items.map(ge);case\"object\":for(var t=Object.create(null),r=0,n=e.properties;r<n.length;r++){var o=n[r];t[o.keyNode.value]=ge(o.valueNode)}return t;case\"string\":case\"number\":case\"boolean\":return e.value}return null}function ve(e){if(!e.parent)return[];var t=ve(e.parent);if(\"property\"===e.parent.type){var r=e.parent.keyNode.value;t.push(r)}else if(\"array\"===e.parent.type){var n=e.parent.items.indexOf(e);-1!==n&&t.push(n)}return t}function ye(e,t,r){return void 0===r&&(r=!1),t>=e.offset&&t<e.offset+e.length||r&&t===e.offset+e.length}var be=function(){function e(e,t,r,n){void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n=[]),this.root=e,this.syntaxErrors=t,this.comments=r,this.externalDiagnostic=n}return e.prototype.getNodeFromOffset=function(e){var t=function(r){if(e>=r.offset&&e<r.offset+r.length){for(var n=r.children,o=0;o<n.length&&n[o].offset<=e;o++){var i=t(n[o]);if(i)return i}return r}return null};return this.root&&t(this.root)},e.prototype.getNodeFromOffsetEndInclusive=function(e){var t=function(r){if(e>=r.offset&&e<=r.offset+r.length){for(var n=r.children,o=0;o<n.length&&n[o].offset<=e;o++){var i=t(n[o]);if(i)return i}return r}return null};return this.root&&t(this.root)},e.prototype.visit=function(e){if(this.root){var t=function(r){for(var n=e(r),o=r.children,i=0;i<o.length&&n;i++)n=t(o[i]);return n};t(this.root)}},e.prototype.validate=function(e){if(this.root&&e){var t=new me;return xe(this.root,e,t,de.instance),t.problems}return null},e.prototype.getMatchingSchemas=function(e,t,r){void 0===t&&(t=-1),void 0===r&&(r=null);var n=new pe(t,r);return this.root&&e&&xe(this.root,e,new me,n),n.schemas},e}();function xe(e,t,r,n){if(e&&n.include(e)){switch(e.type){case\"object\":!function(e,t,r,n){var o=Object.create(null),i=[];e.properties.forEach(function(e){var t=e.keyNode.value;o[t]=e.valueNode,i.push(t)}),Array.isArray(t.required)&&t.required.forEach(function(t){if(!o[t]){var n=e.parent&&\"property\"===e.parent.type&&e.parent.keyNode,i=n?{offset:n.offset,length:n.length}:{offset:e.offset,length:1};r.problems.push({location:i,severity:ee.Warning,message:Y(\"MissingRequiredPropWarning\",'Missing property \"{0}\".',t)})}});var a=function(e){for(var t=i.indexOf(e);t>=0;)i.splice(t,1),t=i.indexOf(e)};t.properties&&Object.keys(t.properties).forEach(function(e){a(e);var i=t.properties[e],s=o[e];if(s)if(\"boolean\"==typeof i)if(i)r.propertiesMatches++,r.propertiesValueMatches++;else{var c=s.parent;r.problems.push({location:{offset:c.keyNode.offset,length:c.keyNode.length},severity:ee.Warning,message:t.errorMessage||Y(\"DisallowedExtraPropWarning\",\"Property {0} is not allowed.\",e)})}else{var u=new me;xe(s,i,u,n),r.mergePropertyMatch(u)}});t.patternProperties&&Object.keys(t.patternProperties).forEach(function(e){var s=new RegExp(e);i.slice(0).forEach(function(i){if(s.test(i)){a(i);var c=o[i];if(c){var u=t.patternProperties[e];if(\"boolean\"==typeof u)if(u)r.propertiesMatches++,r.propertiesValueMatches++;else{var f=c.parent;r.problems.push({location:{offset:f.keyNode.offset,length:f.keyNode.length},severity:ee.Warning,message:t.errorMessage||Y(\"DisallowedExtraPropWarning\",\"Property {0} is not allowed.\",i)})}else{var l=new me;xe(c,u,l,n),r.mergePropertyMatch(l)}}}})});\"object\"==typeof t.additionalProperties?i.forEach(function(e){var i=o[e];if(i){var a=new me;xe(i,t.additionalProperties,a,n),r.mergePropertyMatch(a)}}):!1===t.additionalProperties&&i.length>0&&i.forEach(function(e){var n=o[e];if(n){var i=n.parent;r.problems.push({location:{offset:i.keyNode.offset,length:i.keyNode.length},severity:ee.Warning,message:t.errorMessage||Y(\"DisallowedExtraPropWarning\",\"Property {0} is not allowed.\",e)})}});t.maxProperties&&e.properties.length>t.maxProperties&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"MaxPropWarning\",\"Object has more properties than limit of {0}.\",t.maxProperties)});t.minProperties&&e.properties.length<t.minProperties&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"MinPropWarning\",\"Object has fewer properties than the required number of {0}\",t.minProperties)});t.dependencies&&Object.keys(t.dependencies).forEach(function(i){var a=o[i];if(a){var s=t.dependencies[i];if(Array.isArray(s))s.forEach(function(t){o[t]?r.propertiesValueMatches++:r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"RequiredDependentPropWarning\",\"Object is missing property {0} required by property {1}.\",t,i)})});else{var c=he(s);if(c){var u=new me;xe(e,c,u,n),r.mergePropertyMatch(u)}}}});var s=he(t.propertyNames);s&&e.properties.forEach(function(e){var t=e.keyNode;t&&xe(t,s,r,de.instance)})}(e,t,r,n);break;case\"array\":!function(e,t,r,n){if(Array.isArray(t.items)){var o=t.items;if(o.forEach(function(t,i){var a=he(t),s=new me,c=e.items[i];c?(xe(c,a,s,n),r.mergePropertyMatch(s)):e.items.length>=o.length&&r.propertiesValueMatches++}),e.items.length>o.length)if(\"object\"==typeof t.additionalItems)for(var i=o.length;i<e.items.length;i++){var a=new me;xe(e.items[i],t.additionalItems,a,n),r.mergePropertyMatch(a)}else!1===t.additionalItems&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"additionalItemsWarning\",\"Array has too many items according to schema. Expected {0} or fewer.\",o.length)})}else{var s=he(t.items);s&&e.items.forEach(function(e){var t=new me;xe(e,s,t,n),r.mergePropertyMatch(t)})}var c=he(t.contains);if(c){var u=e.items.some(function(e){var t=new me;return xe(e,c,t,de.instance),!t.hasProblems()});u||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.errorMessage||Y(\"requiredItemMissingWarning\",\"Array does not contain required item.\",t.minItems)})}t.minItems&&e.items.length<t.minItems&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"minItemsWarning\",\"Array has too few items. Expected {0} or more.\",t.minItems)});t.maxItems&&e.items.length>t.maxItems&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"maxItemsWarning\",\"Array has too many items. Expected {0} or fewer.\",t.minItems)});if(!0===t.uniqueItems){var f=ge(e),l=f.some(function(e,t){return t!==f.lastIndexOf(e)});l&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"uniqueItemsWarning\",\"Array has duplicate items.\")})}}(e,t,r,n);break;case\"string\":!function(e,t,r,n){t.minLength&&e.value.length<t.minLength&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"minLengthWarning\",\"String is shorter than the minimum length of {0}.\",t.minLength)});t.maxLength&&e.value.length>t.maxLength&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"maxLengthWarning\",\"String is longer than the maximum length of {0}.\",t.maxLength)});if(t.pattern){var o=new RegExp(t.pattern);o.test(e.value)||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.patternErrorMessage||t.errorMessage||Y(\"patternWarning\",'String does not match the pattern of \"{0}\".',t.pattern)})}if(t.format)switch(t.format){case\"uri\":case\"uri-reference\":var i=void 0;if(e.value)try{var a=X.a.parse(e.value);a.scheme||\"uri\"!==t.format||(i=Y(\"uriSchemeMissing\",\"URI with a scheme is expected.\"))}catch(e){i=e.message}else i=Y(\"uriEmpty\",\"URI expected.\");i&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.patternErrorMessage||t.errorMessage||Y(\"uriFormatWarning\",\"String is not a URI: {0}\",i)});break;case\"email\":e.value.match(re)||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.patternErrorMessage||t.errorMessage||Y(\"emailFormatWarning\",\"String is not an e-mail address.\")});break;case\"color-hex\":e.value.match(te)||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.patternErrorMessage||t.errorMessage||Y(\"colorHexFormatWarning\",\"Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA.\")})}}(e,t,r);break;case\"number\":!function(e,t,r,n){var o=e.value;\"number\"==typeof t.multipleOf&&o%t.multipleOf!=0&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"multipleOfWarning\",\"Value is not divisible by {0}.\",t.multipleOf)});function i(e,t){return\"number\"==typeof t?t:\"boolean\"==typeof t&&t?e:void 0}function a(e,t){if(\"boolean\"!=typeof t||!t)return e}var s=i(t.minimum,t.exclusiveMinimum);\"number\"==typeof s&&o<=s&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"exclusiveMinimumWarning\",\"Value is below the exclusive minimum of {0}.\",s)});var c=i(t.maximum,t.exclusiveMaximum);\"number\"==typeof c&&o>=c&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"exclusiveMaximumWarning\",\"Value is above the exclusive maximum of {0}.\",c)});var u=a(t.minimum,t.exclusiveMinimum);\"number\"==typeof u&&o<u&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"minimumWarning\",\"Value is below the minimum of {0}.\",u)});var f=a(t.maximum,t.exclusiveMaximum);\"number\"==typeof f&&o>f&&r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"maximumWarning\",\"Value is above the maximum of {0}.\",f)})}(e,t,r);break;case\"property\":return xe(e.valueNode,t,r,n)}!function(){function o(t){return e.type===t||\"integer\"===t&&\"number\"===e.type&&e.isInteger}Array.isArray(t.type)?t.type.some(o)||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.errorMessage||Y(\"typeArrayMismatchWarning\",\"Incorrect type. Expected one of {0}.\",t.type.join(\", \"))}):t.type&&(o(t.type)||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:t.errorMessage||Y(\"typeMismatchWarning\",'Incorrect type. Expected \"{0}\".',t.type)}));Array.isArray(t.allOf)&&t.allOf.forEach(function(t){xe(e,he(t),r,n)});var i=he(t.not);if(i){var a=new me,s=n.newSub();xe(e,i,a,s),a.hasProblems()||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,message:Y(\"notSchemaWarning\",\"Matches a schema that is not allowed.\")}),s.schemas.forEach(function(e){e.inverted=!e.inverted,n.add(e)})}var c=function(t,o){var i=[],a=null;return t.forEach(function(t){var r=he(t),s=new me,c=n.newSub();if(xe(e,r,s,c),s.hasProblems()||i.push(r),a)if(o||s.hasProblems()||a.validationResult.hasProblems()){var u=s.compare(a.validationResult);u>0?a={schema:r,validationResult:s,matchingSchemas:c}:0===u&&(a.matchingSchemas.merge(c),a.validationResult.mergeEnumValues(s))}else a.matchingSchemas.merge(c),a.validationResult.propertiesMatches+=s.propertiesMatches,a.validationResult.propertiesValueMatches+=s.propertiesValueMatches;else a={schema:r,validationResult:s,matchingSchemas:c}}),i.length>1&&o&&r.problems.push({location:{offset:e.offset,length:1},severity:ee.Warning,message:Y(\"oneOfWarning\",\"Matches multiple schemas when only one must validate.\")}),null!==a&&(r.merge(a.validationResult),r.propertiesMatches+=a.validationResult.propertiesMatches,r.propertiesValueMatches+=a.validationResult.propertiesValueMatches,n.merge(a.matchingSchemas)),i.length};Array.isArray(t.anyOf)&&c(t.anyOf,!1);Array.isArray(t.oneOf)&&c(t.oneOf,!0);if(Array.isArray(t.enum)){for(var u=ge(e),f=!1,l=0,h=t.enum;l<h.length;l++){var p=h[l];if(J(u,p)){f=!0;break}}r.enumValues=t.enum,r.enumValueMatch=f,f||r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,code:Z.EnumValueMismatch,message:t.errorMessage||Y(\"enumWarning\",\"Value is not accepted. Valid values: {0}.\",t.enum.map(function(e){return JSON.stringify(e)}).join(\", \"))})}if(t.const){var u=ge(e);J(u,t.const)?r.enumValueMatch=!0:(r.problems.push({location:{offset:e.offset,length:e.length},severity:ee.Warning,code:Z.EnumValueMismatch,message:t.errorMessage||Y(\"constWarning\",\"Value must be {0}.\",JSON.stringify(t.const))}),r.enumValueMatch=!1),r.enumValues=[t.const]}t.deprecationMessage&&e.parent&&r.problems.push({location:{offset:e.parent.offset,length:e.parent.length},severity:ee.Warning,message:t.deprecationMessage})}(),n.add({node:e,schema:t})}}function Se(e,t){var r=[],n=e.getText(),o=H(n,!1),i=t&&t.collectComments?[]:void 0;function a(){for(;;){var e=o.scan();switch(u(),e){case 12:case 13:Array.isArray(i)&&i.push({offset:o.getTokenOffset(),length:o.getTokenLength()});break;case 15:case 14:break;default:return e}}}function s(e,t,n){0!==r.length&&r[r.length-1].location.offset===n.offset||r.push({message:e,location:n,code:t,severity:ee.Error})}function c(e,t,r,i,c){void 0===r&&(r=null),void 0===i&&(i=[]),void 0===c&&(c=[]);var u=o.getTokenOffset(),l=o.getTokenOffset()+o.getTokenLength();if(u===l&&u>0){for(u--;u>0&&/\\s/.test(n.charAt(u));)u--;l=u+1}if(s(e,t,{offset:u,length:l-u}),r&&f(r,!1),i.length+c.length>0)for(var h=o.getToken();17!==h;){if(-1!==i.indexOf(h)){a();break}if(-1!==c.indexOf(h))break;h=a()}return r}function u(){switch(o.getTokenError()){case 4:return c(Y(\"InvalidUnicode\",\"Invalid unicode sequence in string.\"),Z.InvalidUnicode),!0;case 5:return c(Y(\"InvalidEscapeCharacter\",\"Invalid escape character in string.\"),Z.InvalidEscapeCharacter),!0;case 3:return c(Y(\"UnexpectedEndOfNumber\",\"Unexpected end of number.\"),Z.UnexpectedEndOfNumber),!0;case 1:return c(Y(\"UnexpectedEndOfComment\",\"Unexpected end of comment.\"),Z.UnexpectedEndOfComment),!0;case 2:return c(Y(\"UnexpectedEndOfString\",\"Unexpected end of string.\"),Z.UnexpectedEndOfString),!0;case 6:return c(Y(\"InvalidCharacter\",\"Invalid characters in string. Control characters must be escaped.\"),Z.InvalidCharacter),!0}return!1}function f(e,t){return e.length=o.getTokenOffset()+o.getTokenLength()-e.offset,t&&a(),e}function l(t,n){var i=new fe(t,o.getTokenOffset()),s=h(i);if(!s){if(16!==o.getToken())return null;c(Y(\"DoubleQuotesExpected\",\"Property keys must be doublequoted\"),Z.Undefined);var u=new ue(i,o.getTokenOffset(),o.getTokenLength());u.value=o.getTokenValue(),s=u,a()}i.keyNode=s;var f=n[s.value];if(f?(r.push({location:{offset:i.keyNode.offset,length:i.keyNode.length},message:Y(\"DuplicateKeyWarning\",\"Duplicate object key\"),code:Z.Undefined,severity:ee.Warning}),\"object\"==typeof f&&r.push({location:{offset:f.keyNode.offset,length:f.keyNode.length},message:Y(\"DuplicateKeyWarning\",\"Duplicate object key\"),code:Z.Undefined,severity:ee.Warning}),n[s.value]=!0):n[s.value]=i,6===o.getToken())i.colonOffset=o.getTokenOffset(),a();else if(c(Y(\"ColonExpected\",\"Colon expected\"),Z.ColonExpected),10===o.getToken()&&e.positionAt(s.offset+s.length).line<e.positionAt(o.getTokenOffset()).line)return i.length=s.length,i;var l=p(i,s.value);return l?(i.valueNode=l,i.length=l.offset+l.length-i.offset,i):c(Y(\"ValueExpected\",\"Value expected\"),Z.ValueExpected,i,[],[2,5])}function h(e){if(10!==o.getToken())return null;var t=new ue(e,o.getTokenOffset());return t.value=o.getTokenValue(),f(t,!0)}function p(e,t){return function(e){if(3!==o.getToken())return null;var t=new se(e,o.getTokenOffset());a();for(var r=0,n=!1;4!==o.getToken()&&17!==o.getToken();){if(5===o.getToken()){n||c(Y(\"ValueExpected\",\"Value expected\"),Z.ValueExpected);var i=o.getTokenOffset();if(a(),4===o.getToken()){n&&s(Y(\"TrailingComma\",\"Trailing comma\"),Z.TrailingComma,{offset:i,length:1});continue}}else n&&c(Y(\"ExpectedComma\",\"Expected comma\"),Z.CommaExpected);var u=p(t,r++);u?t.items.push(u):c(Y(\"PropertyExpected\",\"Value expected\"),Z.ValueExpected,null,[],[4,5]),n=!0}return 4!==o.getToken()?c(Y(\"ExpectedCloseBracket\",\"Expected comma or closing bracket\"),Z.CommaOrCloseBacketExpected,t):f(t,!0)}(e)||function(e){if(1!==o.getToken())return null;var t=new le(e,o.getTokenOffset()),r=Object.create(null);a();for(var n=!1;2!==o.getToken()&&17!==o.getToken();){if(5===o.getToken()){n||c(Y(\"PropertyExpected\",\"Property expected\"),Z.PropertyExpected);var i=o.getTokenOffset();if(a(),2===o.getToken()){n&&s(Y(\"TrailingComma\",\"Trailing comma\"),Z.TrailingComma,{offset:i,length:1});continue}}else n&&c(Y(\"ExpectedComma\",\"Expected comma\"),Z.CommaExpected);var u=l(t,r);u?t.properties.push(u):c(Y(\"PropertyExpected\",\"Property expected\"),Z.PropertyExpected,null,[],[2,5]),n=!0}return 2!==o.getToken()?c(Y(\"ExpectedCloseBrace\",\"Expected comma or closing brace\"),Z.CommaOrCloseBraceExpected,t):f(t,!0)}(e)||h(e)||function(e){if(11!==o.getToken())return null;var t=new ce(e,o.getTokenOffset());if(0===o.getTokenError()){var r=o.getTokenValue();try{var n=JSON.parse(r);if(\"number\"!=typeof n)return c(Y(\"InvalidNumberFormat\",\"Invalid number format.\"),Z.Undefined,t);t.value=n}catch(e){return c(Y(\"InvalidNumberFormat\",\"Invalid number format.\"),Z.Undefined,t)}t.isInteger=-1===r.indexOf(\".\")}return f(t,!0)}(e)||function(e){switch(o.getToken()){case 7:return f(new ie(e,o.getTokenOffset()),!0);case 8:return f(new ae(e,!0,o.getTokenOffset()),!0);case 9:return f(new ae(e,!1,o.getTokenOffset()),!0);default:return null}}(e)}var d=null;return 17!==a()&&((d=p(null))?17!==o.getToken()&&c(Y(\"End of file expected\",\"End of file expected.\"),Z.Undefined):c(Y(\"Invalid symbol\",\"Expected a JSON object, array or literal.\"),Z.Undefined)),new be(d,r,i)}function Oe(e,t){var r=e.length-t.length;return r>0?e.lastIndexOf(t)===r:0===r&&e===t}var ke=K(),Te=function(){function e(e,t,r){void 0===t&&(t=[]),this.templateVarIdCounter=0,this.schemaService=e,this.contributions=t,this.promise=r||Promise}return e.prototype.doResolve=function(e){for(var t=this.contributions.length-1;t>=0;t--)if(this.contributions[t].resolveCompletion){var r=this.contributions[t].resolveCompletion(e);if(r)return r}return this.promise.resolve(e)},e.prototype.doComplete=function(e,t,r){var n=this,i={items:[],isIncomplete:!1},a=e.offsetAt(t),s=r.getNodeFromOffsetEndInclusive(a);if(this.isInComment(e,s?s.offset:0,a))return Promise.resolve(i);var c=this.getCurrentWord(e,a),f=null;if(!s||\"string\"!==s.type&&\"number\"!==s.type&&\"boolean\"!==s.type&&\"null\"!==s.type){var l=a-c.length;l>0&&'\"'===e.getText()[l-1]&&l--,f=o.create(e.positionAt(l),t)}else f=o.create(e.positionAt(s.offset),e.positionAt(s.offset+s.length));var h={},p={add:function(e){var t=h[e.label];t?t.documentation||(t.documentation=e.documentation):(h[e.label]=e,f&&(e.textEdit=u.replace(f,e.insertText)),i.items.push(e))},setAsIncomplete:function(){i.isIncomplete=!0},error:function(e){console.error(e)},log:function(e){console.log(e)},getNumberOfProposals:function(){return i.items.length}};return this.schemaService.getSchemaForResource(e.uri,r).then(function(t){var o=[],u=!0,l=\"\",d=null;if(s&&\"string\"===s.type){var m=s.parent;m&&\"property\"===m.type&&m.keyNode===s&&(u=!m.valueNode,d=m,l=e.getText().substr(s.offset+1,s.length-2),m&&(s=m.parent))}if(s&&\"object\"===s.type){if(s.offset===a)return i;s.properties.forEach(function(e){d&&d===e||(h[e.keyNode.value]=y.create(\"__\"))});var b=\"\";u&&(b=n.evaluateSeparatorAfter(e,e.offsetAt(f.end))),t?n.getPropertyCompletions(t,r,s,u,b,p):n.getSchemaLessPropertyCompletions(r,s,l,p);var x=ve(s);n.contributions.forEach(function(t){var r=t.collectPropertyCompletions(e.uri,x,c,u,\"\"===b,p);r&&o.push(r)}),!t&&c.length>0&&'\"'!==e.getText().charAt(a-c.length-1)&&p.add({kind:g.Property,label:n.getLabelForValue(c),insertText:n.getInsertTextForProperty(c,null,!1,b),insertTextFormat:v.Snippet,documentation:\"\"})}var S={};return t?n.getValueCompletions(t,r,s,a,e,p,S):n.getSchemaLessValueCompletions(r,s,a,e,p),n.contributions.length>0&&n.getContributedValueCompletions(r,s,a,e,p,o),n.promise.all(o).then(function(){if(0===p.getNumberOfProposals()){var t=a;!s||\"string\"!==s.type&&\"number\"!==s.type&&\"boolean\"!==s.type&&\"null\"!==s.type||(t=s.offset+s.length);var r=n.evaluateSeparatorAfter(e,t);n.addFillerValueCompletions(S,r,p)}return i})})},e.prototype.getPropertyCompletions=function(e,t,r,n,o,i){var a=this;t.getMatchingSchemas(e.schema,r.offset).forEach(function(e){if(e.node===r&&!e.inverted){var t=e.schema.properties;t&&Object.keys(t).forEach(function(e){var r=t[e];if(\"object\"==typeof r&&!r.deprecationMessage&&!r.doNotSuggest){var s={kind:g.Property,label:e,insertText:a.getInsertTextForProperty(e,r,n,o),insertTextFormat:v.Snippet,filterText:a.getFilterTextForValue(e),documentation:r.description||\"\"};Oe(s.insertText,\"$1\"+o)&&(s.command={title:\"Suggest\",command:\"editor.action.triggerSuggest\"}),i.add(s)}})}})},e.prototype.getSchemaLessPropertyCompletions=function(e,t,r,n){var o=this,i=function(e){e.properties.forEach(function(e){var t=e.keyNode.value;n.add({kind:g.Property,label:t,insertText:o.getInsertTextForValue(t,\"\"),insertTextFormat:v.Snippet,filterText:o.getFilterTextForValue(t),documentation:\"\"})})};if(t.parent)if(\"property\"===t.parent.type){var a=t.parent.keyNode.value;e.visit(function(e){return\"property\"===e.type&&e!==t.parent&&e.keyNode.value===a&&e.valueNode&&\"object\"===e.valueNode.type&&i(e.valueNode),!0})}else\"array\"===t.parent.type&&t.parent.items.forEach(function(e){\"object\"===e.type&&e!==t&&i(e)});else\"object\"===t.type&&n.add({kind:g.Property,label:\"$schema\",insertText:this.getInsertTextForProperty(\"$schema\",null,!0,\"\"),insertTextFormat:v.Snippet,documentation:\"\",filterText:this.getFilterTextForValue(\"$schema\")})},e.prototype.getSchemaLessValueCompletions=function(e,t,r,n,o){var i=this,a=r;if(!t||\"string\"!==t.type&&\"number\"!==t.type&&\"boolean\"!==t.type&&\"null\"!==t.type||(a=t.offset+t.length,t=t.parent),!t)return o.add({kind:this.getSuggestionKind(\"object\"),label:\"Empty object\",insertText:this.getInsertTextForValue({},\"\"),insertTextFormat:v.Snippet,documentation:\"\"}),void o.add({kind:this.getSuggestionKind(\"array\"),label:\"Empty array\",insertText:this.getInsertTextForValue([],\"\"),insertTextFormat:v.Snippet,documentation:\"\"});var s=this.evaluateSeparatorAfter(n,a),c=function(e){ye(e.parent,r,!0)||o.add({kind:i.getSuggestionKind(e.type),label:i.getLabelTextForMatchingNode(e,n),insertText:i.getInsertTextForMatchingNode(e,n,s),insertTextFormat:v.Snippet,documentation:\"\"}),\"boolean\"===e.type&&i.addBooleanValueCompletion(!e.value,s,o)};if(\"property\"===t.type&&r>t.colonOffset){var u=t.valueNode;if(u&&(r>u.offset+u.length||\"object\"===u.type||\"array\"===u.type))return;var f=t.keyNode.value;e.visit(function(e){return\"property\"===e.type&&e.keyNode.value===f&&e.valueNode&&c(e.valueNode),!0}),\"$schema\"===f&&t.parent&&!t.parent.parent&&this.addDollarSchemaCompletions(s,o)}if(\"array\"===t.type)if(t.parent&&\"property\"===t.parent.type){var l=t.parent.keyNode.value;e.visit(function(e){var t=e;return\"property\"===e.type&&t.keyNode.value===l&&t.valueNode&&\"array\"===t.valueNode.type&&t.valueNode.items.forEach(c),!0})}else t.items.forEach(c)},e.prototype.getValueCompletions=function(e,t,r,n,o,i,a){var s=this,c=n,u=null,f=null;if(!r||\"string\"!==r.type&&\"number\"!==r.type&&\"boolean\"!==r.type&&\"null\"!==r.type||(c=r.offset+r.length,f=r,r=r.parent),r){if(\"property\"===r.type&&n>r.colonOffset){var l=r.valueNode;if(l&&n>l.offset+l.length)return;u=r.keyNode.value,r=r.parent}if(r&&(null!==u||\"array\"===r.type)){var h=this.evaluateSeparatorAfter(o,c);t.getMatchingSchemas(e.schema,r.offset,f).forEach(function(e){if(e.node===r&&!e.inverted&&e.schema){if(\"array\"===r.type&&e.schema.items)if(Array.isArray(e.schema.items)){var t=s.findItemAtOffset(r,o,n);t<e.schema.items.length&&s.addSchemaValueCompletions(e.schema.items[t],h,i,a)}else s.addSchemaValueCompletions(e.schema.items,h,i,a);if(e.schema.properties){var c=e.schema.properties[u];c&&s.addSchemaValueCompletions(c,h,i,a)}}}),\"$schema\"!==u||r.parent||this.addDollarSchemaCompletions(h,i),a.boolean&&(this.addBooleanValueCompletion(!0,h,i),this.addBooleanValueCompletion(!1,h,i)),a.null&&this.addNullValueCompletion(h,i)}}else this.addSchemaValueCompletions(e.schema,\"\",i,a)},e.prototype.getContributedValueCompletions=function(e,t,r,n,o,i){if(t){if(\"string\"!==t.type&&\"number\"!==t.type&&\"boolean\"!==t.type&&\"null\"!==t.type||(t=t.parent),\"property\"===t.type&&r>t.colonOffset){var a=t.keyNode.value,s=t.valueNode;if(!s||r<=s.offset+s.length){var c=ve(t.parent);this.contributions.forEach(function(e){var t=e.collectValueCompletions(n.uri,c,a,o);t&&i.push(t)})}}}else this.contributions.forEach(function(e){var t=e.collectDefaultCompletions(n.uri,o);t&&i.push(t)})},e.prototype.addSchemaValueCompletions=function(e,t,r,n){var o=this;\"object\"==typeof e&&(this.addEnumValueCompletions(e,t,r),this.addDefaultValueCompletions(e,t,r),this.collectTypes(e,n),Array.isArray(e.allOf)&&e.allOf.forEach(function(e){return o.addSchemaValueCompletions(e,t,r,n)}),Array.isArray(e.anyOf)&&e.anyOf.forEach(function(e){return o.addSchemaValueCompletions(e,t,r,n)}),Array.isArray(e.oneOf)&&e.oneOf.forEach(function(e){return o.addSchemaValueCompletions(e,t,r,n)}))},e.prototype.addDefaultValueCompletions=function(e,t,r,n){var o=this;void 0===n&&(n=0);var i=!1;if(e.default){for(var a=e.type,s=e.default,c=n;c>0;c--)s=[s],a=\"array\";r.add({kind:this.getSuggestionKind(a),label:this.getLabelForValue(s),insertText:this.getInsertTextForValue(s,t),insertTextFormat:v.Snippet,detail:ke(\"json.suggest.default\",\"Default value\")}),i=!0}Array.isArray(e.defaultSnippets)&&e.defaultSnippets.forEach(function(a){var s,c,u=e.type,f=a.body,l=a.label;if(void 0!==f){e.type;for(var h=n;h>0;h--)f=[f],\"array\";s=o.getInsertTextForSnippetValue(f,t),c=o.getFilterTextForSnippetValue(f),l=l||o.getLabelForSnippetValue(f)}else if(\"string\"==typeof a.bodyText){var p=\"\",d=\"\",m=\"\";for(h=n;h>0;h--)p=p+m+\"[\\n\",d=d+\"\\n\"+m+\"]\",m+=\"\\t\",u=\"array\";s=p+m+a.bodyText.split(\"\\n\").join(\"\\n\"+m)+d+t,l=l||s,c=s.replace(/[\\n]/g,\"\")}r.add({kind:o.getSuggestionKind(u),label:l,documentation:a.description,insertText:s,insertTextFormat:v.Snippet,filterText:c}),i=!0}),i||\"object\"!=typeof e.items||Array.isArray(e.items)||this.addDefaultValueCompletions(e.items,t,r,n+1)},e.prototype.addEnumValueCompletions=function(e,t,r){if(Array.isArray(e.enum))for(var n=0,o=e.enum.length;n<o;n++){var i=e.enum[n],a=e.description;e.enumDescriptions&&n<e.enumDescriptions.length&&(a=e.enumDescriptions[n]),r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(i),insertText:this.getInsertTextForValue(i,t),insertTextFormat:v.Snippet,documentation:a})}},e.prototype.collectTypes=function(e,t){if(!Array.isArray(e.enum)){var r=e.type;Array.isArray(r)?r.forEach(function(e){return t[e]=!0}):t[r]=!0}},e.prototype.addFillerValueCompletions=function(e,t,r){e.object&&r.add({kind:this.getSuggestionKind(\"object\"),label:\"{}\",insertText:this.getInsertTextForGuessedValue({},t),insertTextFormat:v.Snippet,detail:ke(\"defaults.object\",\"New object\"),documentation:\"\"}),e.array&&r.add({kind:this.getSuggestionKind(\"array\"),label:\"[]\",insertText:this.getInsertTextForGuessedValue([],t),insertTextFormat:v.Snippet,detail:ke(\"defaults.array\",\"New array\"),documentation:\"\"})},e.prototype.addBooleanValueCompletion=function(e,t,r){r.add({kind:this.getSuggestionKind(\"boolean\"),label:e?\"true\":\"false\",insertText:this.getInsertTextForValue(e,t),insertTextFormat:v.Snippet,documentation:\"\"})},e.prototype.addNullValueCompletion=function(e,t){t.add({kind:this.getSuggestionKind(\"null\"),label:\"null\",insertText:\"null\"+e,insertTextFormat:v.Snippet,documentation:\"\"})},e.prototype.addDollarSchemaCompletions=function(e,t){var r=this;this.schemaService.getRegisteredSchemaIds(function(e){return\"http\"===e||\"https\"===e}).forEach(function(n){return t.add({kind:g.Module,label:r.getLabelForValue(n),filterText:r.getFilterTextForValue(n),insertText:r.getInsertTextForValue(n,e),insertTextFormat:v.Snippet,documentation:\"\"})})},e.prototype.getLabelForValue=function(e){var t=JSON.stringify(e);return t.length>57?t.substr(0,57).trim()+\"...\":t},e.prototype.getFilterTextForValue=function(e){return JSON.stringify(e)},e.prototype.getFilterTextForSnippetValue=function(e){return JSON.stringify(e).replace(/\\$\\{\\d+:([^}]+)\\}|\\$\\d+/g,\"$1\")},e.prototype.getLabelForSnippetValue=function(e){var t=JSON.stringify(e);return(t=t.replace(/\\$\\{\\d+:([^}]+)\\}|\\$\\d+/g,\"$1\")).length>57?t.substr(0,57).trim()+\"...\":t},e.prototype.getInsertTextForPlainText=function(e){return e.replace(/[\\\\\\$\\}]/g,\"\\\\$&\")},e.prototype.getInsertTextForValue=function(e,t){var r=JSON.stringify(e,null,\"\\t\");return\"{}\"===r?\"{\\n\\t$1\\n}\"+t:\"[]\"===r?\"[\\n\\t$1\\n]\"+t:this.getInsertTextForPlainText(r+t)},e.prototype.getInsertTextForSnippetValue=function(e,t){return function e(t,r,n){if(null!==t&&\"object\"==typeof t){var o=r+\"\\t\";if(Array.isArray(t)){if(0===t.length)return\"[]\";for(var i=\"[\\n\",a=0;a<t.length;a++)i+=o+e(t[a],o,n),a<t.length-1&&(i+=\",\"),i+=\"\\n\";return i+=r+\"]\"}var s=Object.keys(t);if(0===s.length)return\"{}\";for(i=\"{\\n\",a=0;a<s.length;a++){var c=s[a];i+=o+JSON.stringify(c)+\": \"+e(t[c],o,n),a<s.length-1&&(i+=\",\"),i+=\"\\n\"}return i+=r+\"}\"}return n(t)}(e,\"\",function(e){return\"string\"==typeof e&&\"^\"===e[0]?e.substr(1):JSON.stringify(e)})+t},e.prototype.getInsertTextForGuessedValue=function(e,t){switch(typeof e){case\"object\":return null===e?\"${1:null}\"+t:this.getInsertTextForValue(e,t);case\"string\":var r=JSON.stringify(e);return r=r.substr(1,r.length-2),'\"${1:'+(r=this.getInsertTextForPlainText(r))+'}\"'+t;case\"number\":case\"boolean\":return\"${1:\"+JSON.stringify(e)+\"}\"+t}return this.getInsertTextForValue(e,t)},e.prototype.getSuggestionKind=function(e){if(Array.isArray(e)){var t=e;e=t.length>0?t[0]:null}if(!e)return g.Value;switch(e){case\"string\":return g.Value;case\"object\":return g.Module;case\"property\":return g.Property;default:return g.Value}},e.prototype.getLabelTextForMatchingNode=function(e,t){switch(e.type){case\"array\":return\"[]\";case\"object\":return\"{}\";default:return t.getText().substr(e.offset,e.length)}},e.prototype.getInsertTextForMatchingNode=function(e,t,r){switch(e.type){case\"array\":return this.getInsertTextForValue([],r);case\"object\":return this.getInsertTextForValue({},r);default:var n=t.getText().substr(e.offset,e.length)+r;return this.getInsertTextForPlainText(n)}},e.prototype.getInsertTextForProperty=function(e,t,r,n){var o=this.getInsertTextForValue(e,\"\");if(!r)return o;var i,a=o+\": \",s=0;if(t){if(Array.isArray(t.defaultSnippets)){if(1===t.defaultSnippets.length){var c=t.defaultSnippets[0].body;void 0!==c&&(i=this.getInsertTextForSnippetValue(c,\"\"))}s+=t.defaultSnippets.length}if(t.enum&&(i||1!==t.enum.length||(i=this.getInsertTextForGuessedValue(t.enum[0],\"\")),s+=t.enum.length),void 0!==t.default&&(i||(i=this.getInsertTextForGuessedValue(t.default,\"\")),s++),0===s){var u=Array.isArray(t.type)?t.type[0]:t.type;switch(u||(t.properties?u=\"object\":t.items&&(u=\"array\")),u){case\"boolean\":i=\"$1\";break;case\"string\":i='\"$1\"';break;case\"object\":i=\"{\\n\\t$1\\n}\";break;case\"array\":i=\"[\\n\\t$1\\n]\";break;case\"number\":case\"integer\":i=\"${1:0}\";break;case\"null\":i=\"${1:null}\";break;default:return o}}}return(!i||s>1)&&(i=\"$1\"),a+i+n},e.prototype.getCurrentWord=function(e,t){for(var r=t-1,n=e.getText();r>=0&&-1===' \\t\\n\\r\\v\":{[,]}'.indexOf(n.charAt(r));)r--;return n.substring(r+1,t)},e.prototype.evaluateSeparatorAfter=function(e,t){var r=H(e.getText(),!0);switch(r.setPosition(t),r.scan()){case 5:case 2:case 4:case 17:return\"\";default:return\",\"}},e.prototype.findItemAtOffset=function(e,t,r){for(var n=H(t.getText(),!0),o=e.items,i=o.length-1;i>=0;i--){var a=o[i];if(r>a.offset+a.length)return n.setPosition(a.offset+a.length),5===n.scan()&&r>=n.getTokenOffset()+n.getTokenLength()?i+1:i;if(r>=a.offset)return i}return 0},e.prototype.isInComment=function(e,t,r){var n=H(e.getText(),!1);n.setPosition(t);for(var o=n.scan();17!==o&&n.getTokenOffset()+n.getTokenLength()<r;)o=n.scan();return(12===o||13===o)&&n.getTokenOffset()<=r},e}(),Ae=function(){function e(e,t,r){void 0===t&&(t=[]),this.schemaService=e,this.contributions=t,this.promise=r||Promise}return e.prototype.doHover=function(e,t,r){var n=e.offsetAt(t),i=r.getNodeFromOffset(n);if(!i||(\"object\"===i.type||\"array\"===i.type)&&n>i.offset+1&&n<i.offset+i.length-1)return this.promise.resolve(null);var a=i;if(\"string\"===i.type){var s=i.parent;if(\"property\"===s.type&&s.keyNode===i&&!(i=s.valueNode))return this.promise.resolve(null)}for(var c=o.create(e.positionAt(a.offset),e.positionAt(a.offset+a.length)),u=function(e){return{contents:e,range:c}},f=ve(i),l=this.contributions.length-1;l>=0;l--){var h=this.contributions[l].getInfoContribution(e.uri,f);if(h)return h.then(function(e){return u(e)})}return this.schemaService.getSchemaForResource(e.uri,r).then(function(e){if(e){var t=null,n=null,o=null,a=null;r.getMatchingSchemas(e.schema,i.offset).every(function(e){if(e.node===i&&!e.inverted&&e.schema&&(t=t||e.schema.title,n=n||e.schema.markdownDescription||Ee(e.schema.description),e.schema.enum)){var r=e.schema.enum.indexOf(ge(i));e.schema.markdownEnumDescriptions?o=e.schema.markdownEnumDescriptions[r]:e.schema.enumDescriptions&&(o=Ee(e.schema.enumDescriptions[r])),o&&\"string\"!=typeof(a=e.schema.enum[r])&&(a=JSON.stringify(a))}return!0});var s=\"\";return t&&(s=Ee(t)),n&&(s.length>0&&(s+=\"\\n\\n\"),s+=n),o&&(s.length>0&&(s+=\"\\n\\n\"),s+=\"`\"+Ee(a)+\"`: \"+o),u([s])}return null})},e}();function Ee(e){if(e)return e.replace(/([^\\n\\r])(\\r?\\n)([^\\n\\r])/gm,\"$1\\n\\n$3\").replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}var Ce=K(),we=function(){function e(e,t){this.jsonSchemaService=e,this.promise=t,this.validationEnabled=!0}return e.prototype.configure=function(e){e&&(this.validationEnabled=e.validate,this.commentSeverity=e.allowComments?ee.Ignore:ee.Error)},e.prototype.doValidation=function(e,t,r){var n=this;if(!this.validationEnabled)return this.promise.resolve([]);var o=[],i={},s=function(t){if(t.severity!==ee.Ignore){var r=t.location.offset+\" \"+t.location.length+\" \"+t.message;if(!i[r]){i[r]=!0;var n={start:e.positionAt(t.location.offset),end:e.positionAt(t.location.offset+t.location.length)},s=t.severity===ee.Error?a.Error:a.Warning;o.push({severity:s,range:n,message:t.message})}}};return this.jsonSchemaService.getSchemaForResource(e.uri,t).then(function(e){var i=r?r.trailingCommas:ee.Error,a=r?r.comments:n.commentSeverity;if(e){if(e.errors.length&&t.root){var c=t.root,u=\"object\"===c.type?c.properties[0]:null;if(u&&\"$schema\"===u.keyNode.value){var f=u.valueNode||u;s({location:{offset:f.offset,length:f.length},message:e.errors[0],severity:ee.Warning})}else s({location:{offset:c.offset,length:1},message:e.errors[0],severity:ee.Warning})}else{var l=t.validate(e.schema);l&&l.forEach(s)}_e(e.schema)&&(i=a=ee.Ignore)}if(t.syntaxErrors.forEach(function(e){e.code===Z.TrailingComma&&(e.severity=i),s(e)}),o.push.apply(o,t.externalDiagnostic),a!==ee.Ignore){var h=Ce(\"InvalidCommentToken\",\"Comments are not permitted in JSON.\");t.comments.forEach(function(e){s({location:e,severity:a,message:h})})}return o})},e}();function _e(e){if(e&&\"object\"==typeof e){if(e.allowComments)return!0;if(e.allOf)return e.allOf.some(_e)}return!1}var Ie=48,Pe=57,je=65,Ve=97,Me=102;function Ne(e){return e<Ie?0:e<=Pe?e-Ie:(e<Ve&&(e+=Ve-je),e>=Ve&&e<=Me?e-Ve+10:0)}function Fe(e){if(\"#\"!==e[0])return null;switch(e.length){case 4:return{red:17*Ne(e.charCodeAt(1))/255,green:17*Ne(e.charCodeAt(2))/255,blue:17*Ne(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*Ne(e.charCodeAt(1))/255,green:17*Ne(e.charCodeAt(2))/255,blue:17*Ne(e.charCodeAt(3))/255,alpha:17*Ne(e.charCodeAt(4))/255};case 7:return{red:(16*Ne(e.charCodeAt(1))+Ne(e.charCodeAt(2)))/255,green:(16*Ne(e.charCodeAt(3))+Ne(e.charCodeAt(4)))/255,blue:(16*Ne(e.charCodeAt(5))+Ne(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*Ne(e.charCodeAt(1))+Ne(e.charCodeAt(2)))/255,green:(16*Ne(e.charCodeAt(3))+Ne(e.charCodeAt(4)))/255,blue:(16*Ne(e.charCodeAt(5))+Ne(e.charCodeAt(6)))/255,alpha:(16*Ne(e.charCodeAt(7))+Ne(e.charCodeAt(8)))/255}}return null}var De=function(){function e(e){this.schemaService=e}return e.prototype.findDocumentSymbols=function(e,t){var r=this,n=t.root;if(!n)return null;var a=e.uri;if((\"vscode://defaultsettings/keybindings.json\"===a||Oe(a.toLowerCase(),\"/user/keybindings.json\"))&&\"array\"===n.type){var s=[];return n.items.forEach(function(t){if(\"object\"===t.type)for(var r=0,n=t.properties;r<n.length;r++){var a=n[r];if(\"key\"===a.keyNode.value){if(a.valueNode){var c=i.create(e.uri,o.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length)));s.push({name:ge(a.valueNode),kind:A.Function,location:c})}return}}}),s}var c=function(t,n,a){return\"array\"===n.type?n.items.forEach(function(e){return c(t,e,a)}):\"object\"===n.type&&n.properties.forEach(function(n){var s=i.create(e.uri,o.create(e.positionAt(n.offset),e.positionAt(n.offset+n.length))),u=n.valueNode;if(u){var f=a?a+\".\"+n.keyNode.value:n.keyNode.value;t.push({name:n.keyNode.value,kind:r.getSymbolKind(u.type),location:s,containerName:a}),c(t,u,f)}}),t};return c([],n,void 0)},e.prototype.getSymbolKind=function(e){switch(e){case\"object\":return A.Module;case\"string\":return A.String;case\"number\":return A.Number;case\"array\":return A.Array;case\"boolean\":return A.Boolean;default:return A.Variable}},e.prototype.findDocumentColors=function(e,t){return this.schemaService.getSchemaForResource(e.uri,t).then(function(r){var n=[];if(r)for(var i={},a=0,s=t.getMatchingSchemas(r.schema);a<s.length;a++){var c=s[a];if(!c.inverted&&c.schema&&(\"color\"===c.schema.format||\"color-hex\"===c.schema.format)&&c.node&&\"string\"===c.node.type){var u=String(c.node.offset);if(!i[u]){var f=Fe(ge(c.node));if(f){var l=o.create(e.positionAt(c.node.offset),e.positionAt(c.node.offset+c.node.length));n.push({color:f,range:l})}i[u]=!0}}}return n})},e.prototype.getColorPresentations=function(e,t,r,n){var o,i=[],a=Math.round(255*r.red),s=Math.round(255*r.green),c=Math.round(255*r.blue);function f(e){var t=e.toString(16);return 2!==t.length?\"0\"+t:t}return o=1===r.alpha?\"#\"+f(a)+f(s)+f(c):\"#\"+f(a)+f(s)+f(c)+f(Math.round(255*r.alpha)),i.push({label:o,textEdit:u.replace(n,JSON.stringify(o))}),i},e}(),We=K(),Re={schemaAssociations:{},schemas:{\"http://json-schema.org/draft-04/schema#\":{title:We(\"schema.json\",\"Describes a JSON file using a schema. See json-schema.org for more info.\"),$schema:\"http://json-schema.org/draft-04/schema#\",definitions:{schemaArray:{type:\"array\",minItems:1,items:{$ref:\"#\"}},positiveInteger:{type:\"integer\",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:\"#/definitions/positiveInteger\"},{default:0}]},simpleTypes:{type:\"string\",enum:[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},stringArray:{type:\"array\",items:{type:\"string\"},minItems:1,uniqueItems:!0}},type:\"object\",properties:{id:{type:\"string\",format:\"uri\",description:We(\"schema.json.id\",\"A unique identifier for the schema.\")},$schema:{type:\"string\",format:\"uri\",description:We(\"schema.json.$schema\",\"The schema to verify this document against \")},title:{type:\"string\",description:We(\"schema.json.title\",\"A descriptive title of the element\")},description:{type:\"string\",description:We(\"schema.json.description\",\"A long description of the element. Used in hover menus and suggestions.\")},default:{description:We(\"schema.json.default\",\"A default value. Used by suggestions.\")},multipleOf:{type:\"number\",minimum:0,exclusiveMinimum:!0,description:We(\"schema.json.multipleOf\",\"A number that should cleanly divide the current value (i.e. have no remainder)\")},maximum:{type:\"number\",description:We(\"schema.json.maximum\",\"The maximum numerical value, inclusive by default.\")},exclusiveMaximum:{type:\"boolean\",default:!1,description:We(\"schema.json.exclusiveMaximum\",\"Makes the maximum property exclusive.\")},minimum:{type:\"number\",description:We(\"schema.json.minimum\",\"The minimum numerical value, inclusive by default.\")},exclusiveMinimum:{type:\"boolean\",default:!1,description:We(\"schema.json.exclusiveMininum\",\"Makes the minimum property exclusive.\")},maxLength:{allOf:[{$ref:\"#/definitions/positiveInteger\"}],description:We(\"schema.json.maxLength\",\"The maximum length of a string.\")},minLength:{allOf:[{$ref:\"#/definitions/positiveIntegerDefault0\"}],description:We(\"schema.json.minLength\",\"The minimum length of a string.\")},pattern:{type:\"string\",format:\"regex\",description:We(\"schema.json.pattern\",\"A regular expression to match the string against. It is not implicitly anchored.\")},additionalItems:{anyOf:[{type:\"boolean\"},{$ref:\"#\"}],default:{},description:We(\"schema.json.additionalItems\",\"For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail.\")},items:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/schemaArray\"}],default:{},description:We(\"schema.json.items\",\"For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on.\")},maxItems:{allOf:[{$ref:\"#/definitions/positiveInteger\"}],description:We(\"schema.json.maxItems\",\"The maximum number of items that can be inside an array. Inclusive.\")},minItems:{allOf:[{$ref:\"#/definitions/positiveIntegerDefault0\"}],description:We(\"schema.json.minItems\",\"The minimum number of items that can be inside an array. Inclusive.\")},uniqueItems:{type:\"boolean\",default:!1,description:We(\"schema.json.uniqueItems\",\"If all of the items in the array must be unique. Defaults to false.\")},maxProperties:{allOf:[{$ref:\"#/definitions/positiveInteger\"}],description:We(\"schema.json.maxProperties\",\"The maximum number of properties an object can have. Inclusive.\")},minProperties:{allOf:[{$ref:\"#/definitions/positiveIntegerDefault0\"}],description:We(\"schema.json.minProperties\",\"The minimum number of properties an object can have. Inclusive.\")},required:{allOf:[{$ref:\"#/definitions/stringArray\"}],description:We(\"schema.json.required\",\"An array of strings that lists the names of all properties required on this object.\")},additionalProperties:{anyOf:[{type:\"boolean\"},{$ref:\"#\"}],default:{},description:We(\"schema.json.additionalProperties\",\"Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail.\")},definitions:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{},description:We(\"schema.json.definitions\",\"Not used for validation. Place subschemas here that you wish to reference inline with $ref\")},properties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{},description:We(\"schema.json.properties\",\"A map of property names to schemas for each property.\")},patternProperties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{},description:We(\"schema.json.patternProperties\",\"A map of regular expressions on property names to schemas for matching properties.\")},dependencies:{type:\"object\",additionalProperties:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/stringArray\"}]},description:We(\"schema.json.dependencies\",\"A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object.\")},enum:{type:\"array\",minItems:1,uniqueItems:!0,description:We(\"schema.json.enum\",\"The set of literal values that are valid\")},type:{anyOf:[{$ref:\"#/definitions/simpleTypes\"},{type:\"array\",items:{$ref:\"#/definitions/simpleTypes\"},minItems:1,uniqueItems:!0}],description:We(\"schema.json.type\",\"Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types.\")},format:{anyOf:[{type:\"string\",description:We(\"schema.json.format\",\"Describes the format expected for the value.\"),enum:[\"date-time\",\"uri\",\"email\",\"hostname\",\"ipv4\",\"ipv6\",\"regex\"]},{type:\"string\"}]},allOf:{allOf:[{$ref:\"#/definitions/schemaArray\"}],description:We(\"schema.json.allOf\",\"An array of schemas, all of which must match.\")},anyOf:{allOf:[{$ref:\"#/definitions/schemaArray\"}],description:We(\"schema.json.anyOf\",\"An array of schemas, where at least one must match.\")},oneOf:{allOf:[{$ref:\"#/definitions/schemaArray\"}],description:We(\"schema.json.oneOf\",\"An array of schemas, exactly one of which must match.\")},not:{allOf:[{$ref:\"#\"}],description:We(\"schema.json.not\",\"A schema which must not match.\")}},dependencies:{exclusiveMaximum:[\"maximum\"],exclusiveMinimum:[\"minimum\"]},default:{}}}},$e=K(),Ue=function(){function e(e){try{this.patternRegExp=new RegExp(function(e){return e.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")}(e)+\"$\")}catch(e){this.patternRegExp=null}this.schemas=[]}return e.prototype.addSchema=function(e){this.schemas.push(e)},e.prototype.matchesPattern=function(e){return this.patternRegExp&&this.patternRegExp.test(e)},e.prototype.getSchemas=function(){return this.schemas},e}(),Le=function(){function e(e,t,r){this.service=e,this.url=t,r&&(this.unresolvedSchema=this.service.promise.resolve(new qe(r)))}return e.prototype.getUnresolvedSchema=function(){return this.unresolvedSchema||(this.unresolvedSchema=this.service.loadSchema(this.url)),this.unresolvedSchema},e.prototype.getResolvedSchema=function(){var e=this;return this.resolvedSchema||(this.resolvedSchema=this.getUnresolvedSchema().then(function(t){return e.service.resolveSchemaContent(t,e.url)})),this.resolvedSchema},e.prototype.clearSchema=function(){this.resolvedSchema=null,this.unresolvedSchema=null},e}(),qe=function(){return function(e,t){void 0===t&&(t=[]),this.schema=e,this.errors=t}}(),He=function(){function e(e,t){void 0===t&&(t=[]),this.schema=e,this.errors=t}return e.prototype.getSection=function(e){return he(this.getSectionRecursive(e,this.schema))},e.prototype.getSectionRecursive=function(e,t){var r=this;if(!t||\"boolean\"==typeof t||0===e.length)return t;var n=e.shift();if(t.properties&&(t.properties[n],1))return this.getSectionRecursive(e,t.properties[n]);if(t.patternProperties)Object.keys(t.patternProperties).forEach(function(o){if(new RegExp(o).test(n))return r.getSectionRecursive(e,t.patternProperties[o])});else{if(\"object\"==typeof t.additionalProperties)return this.getSectionRecursive(e,t.additionalProperties);if(n.match(\"[0-9]+\"))if(Array.isArray(t.items)){var o=parseInt(n,10);if(!isNaN(o)&&t.items[o])return this.getSectionRecursive(e,t.items[o])}else if(t.items)return this.getSectionRecursive(e,t.items)}return null},e}(),Be=function(){function e(e,t,r){this.contextService=t,this.requestService=e,this.promiseConstructor=r||Promise,this.callOnDispose=[],this.contributionSchemas={},this.contributionAssociations={},this.schemasById={},this.filePatternAssociations=[],this.filePatternAssociationById={},this.registeredSchemasIds={}}return e.prototype.getRegisteredSchemaIds=function(e){return Object.keys(this.registeredSchemasIds).filter(function(t){var r=X.a.parse(t).scheme;return\"schemaservice\"!==r&&(!e||e(r))})},Object.defineProperty(e.prototype,\"promise\",{get:function(){return this.promiseConstructor},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){for(;this.callOnDispose.length>0;)this.callOnDispose.pop()()},e.prototype.onResourceChange=function(e){e=this.normalizeId(e);var t=this.schemasById[e];return!!t&&(t.clearSchema(),!0)},e.prototype.normalizeId=function(e){return X.a.parse(e).toString()},e.prototype.setSchemaContributions=function(e){var t=this;if(e.schemas){var r=e.schemas;for(var n in r){var o=this.normalizeId(n);this.contributionSchemas[o]=this.addSchemaHandle(o,r[n])}}if(e.schemaAssociations){var i=e.schemaAssociations;for(var a in i){var s=i[a];this.contributionAssociations[a]=s;var c=this.getOrAddFilePatternAssociation(a);s.forEach(function(e){var r=t.normalizeId(e);c.addSchema(r)})}}},e.prototype.addSchemaHandle=function(e,t){var r=new Le(this,e,t);return this.schemasById[e]=r,r},e.prototype.getOrAddSchemaHandle=function(e,t){return this.schemasById[e]||this.addSchemaHandle(e,t)},e.prototype.getOrAddFilePatternAssociation=function(e){var t=this.filePatternAssociationById[e];return t||(t=new Ue(e),this.filePatternAssociationById[e]=t,this.filePatternAssociations.push(t)),t},e.prototype.registerExternalSchema=function(e,t,r){var n=this;void 0===t&&(t=null);var o=this.normalizeId(e);return this.registeredSchemasIds[o]=!0,t&&t.forEach(function(e){n.getOrAddFilePatternAssociation(e).addSchema(o)}),r?this.addSchemaHandle(o,r):this.getOrAddSchemaHandle(o)},e.prototype.clearExternalSchemas=function(){var e=this;for(var t in this.schemasById={},this.filePatternAssociations=[],this.filePatternAssociationById={},this.registeredSchemasIds={},this.contributionSchemas)this.schemasById[t]=this.contributionSchemas[t],this.registeredSchemasIds[t]=!0;for(var r in this.contributionAssociations){var n=this.getOrAddFilePatternAssociation(r);this.contributionAssociations[r].forEach(function(t){var r=e.normalizeId(t);n.addSchema(r)})}},e.prototype.getResolvedSchema=function(e){var t=this.normalizeId(e),r=this.schemasById[t];return r?r.getResolvedSchema():this.promise.resolve(null)},e.prototype.loadSchema=function(e){if(!this.requestService){var t=$e(\"json.schema.norequestservice\",\"Unable to load schema from '{0}'. No schema request service available\",Je(e));return this.promise.resolve(new qe({},[t]))}return this.requestService(e).then(function(t){if(!t){var r=$e(\"json.schema.nocontent\",\"Unable to load schema from '{0}': No content.\",Je(e));return new qe({},[r])}var n,o=[];n=B(t,o);var i=o.length?[$e(\"json.schema.invalidFormat\",\"Unable to parse content from '{0}': Parse error at offset {1}.\",Je(e),o[0].offset)]:[];return new qe(n,i)},function(t){var r=$e(\"json.schema.unabletoload\",\"Unable to load schema from '{0}': {1}\",Je(e),t.toString());return new qe({},[r])})},e.prototype.resolveSchemaContent=function(e,t){var r=this,n=e.errors.slice(0),o=e.schema,i=this.contextService,a=function(e,t,r,o){var i=function(e,t){if(!t)return e;var r=e;return\"/\"===t[0]&&(t=t.substr(1)),t.split(\"/\").some(function(e){return!(r=r[e])}),r}(t,o);if(i)for(var a in i)i.hasOwnProperty(a)&&!e.hasOwnProperty(a)&&(e[a]=i[a]);else n.push($e(\"json.schema.invalidref\",\"$ref '{0}' in '{1}' can not be resolved.\",o,r))},s=function(e,t,o,s){return i&&!/^\\w+:\\/\\/.*/.test(t)&&(t=i.resolveRelativePath(t,s)),t=r.normalizeId(t),r.getOrAddSchemaHandle(t).getUnresolvedSchema().then(function(r){if(r.errors.length){var i=o?t+\"#\"+o:t;n.push($e(\"json.schema.problemloadingref\",\"Problems loading reference '{0}': {1}\",i,r.errors[0]))}return a(e,r.schema,t,o),c(e,r.schema,t)})},c=function(e,t,n){if(!e||\"object\"!=typeof e)return Promise.resolve(null);for(var o=[e],i=[],c=[],u=function(e){for(;e.$ref;){var r=e.$ref.split(\"#\",2);if(delete e.$ref,r[0].length>0)return void c.push(s(e,r[0],r[1],n));a(e,t,n,r[1])}!function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++){var i=n[r];\"object\"==typeof i&&o.push(i)}}(e.items,e.additionalProperties,e.not,e.contains,e.propertyNames),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++){var i=n[r];if(\"object\"==typeof i)for(var a in i){var s=i[a];\"object\"==typeof s&&o.push(s)}}}(e.definitions,e.properties,e.patternProperties,e.dependencies),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++){var i=n[r];if(Array.isArray(i))for(var a=0,s=i;a<s.length;a++){var c=s[a];\"object\"==typeof c&&o.push(c)}}}(e.anyOf,e.allOf,e.oneOf,e.items)};o.length;){var f=o.pop();i.indexOf(f)>=0||(i.push(f),u(f))}return r.promise.all(c)};return c(o,o,t).then(function(e){return new He(o,n)})},e.prototype.getSchemaForResource=function(e,t){if(t&&t.root&&\"object\"===t.root.type){var r=t.root.properties.filter(function(e){return\"$schema\"===e.keyNode.value&&e.valueNode&&\"string\"===e.valueNode.type});if(r.length>0){var n=ge(r[0].valueNode);if(n&&function(e,t){if(e.length<t.length)return!1;for(var r=0;r<t.length;r++)if(e[r]!==t[r])return!1;return!0}(n,\".\")&&this.contextService&&(n=this.contextService.resolveRelativePath(n,e)),n){var o=this.normalizeId(n);return this.getOrAddSchemaHandle(o).getResolvedSchema()}}}for(var i=Object.create(null),a=[],s=0,c=this.filePatternAssociations;s<c.length;s++){var u=c[s];if(u.matchesPattern(e))for(var f=0,l=u.getSchemas();f<l.length;f++){var h=l[f];i[h]||(a.push(h),i[h]=!0)}}return a.length>0?this.createCombinedSchema(e,a).getResolvedSchema():this.promise.resolve(null)},e.prototype.createCombinedSchema=function(e,t){if(1===t.length)return this.getOrAddSchemaHandle(t[0]);var r=\"schemaservice://combinedSchema/\"+encodeURIComponent(e),n={allOf:t.map(function(e){return{$ref:e}})};return this.addSchemaHandle(r,n)},e}();function Je(e){try{var t=X.a.parse(e);if(\"file\"===t.scheme)return t.fsPath}catch(e){}return e}function ze(e){var t=e.promiseConstructor||Promise,r=new Be(e.schemaRequestService,e.workspaceContext,t);r.setSchemaContributions(Re);var n=new Te(r,e.contributions,t),i=new Ae(r,e.contributions,t),a=new De(r),s=new we(r,t);return{configure:function(e){r.clearExternalSchemas(),e.schemas&&e.schemas.forEach(function(e){r.registerExternalSchema(e.uri,e.fileMatch,e.schema)}),s.configure(e)},resetSchema:function(e){return r.onResourceChange(e)},doValidation:s.doValidation.bind(s),parseJSONDocument:function(e){return Se(e,{collectComments:!0})},newJSONDocument:function(e,t){return function(e,t){return void 0===t&&(t=[]),new be(e,[],[],t)}(e,t)},doResolve:n.doResolve.bind(n),doComplete:n.doComplete.bind(n),findDocumentSymbols:a.findDocumentSymbols.bind(a),findColorSymbols:function(e,t){return a.findDocumentColors(e,t).then(function(e){return e.map(function(e){return e.range})})},findDocumentColors:a.findDocumentColors.bind(a),getColorPresentations:a.getColorPresentations.bind(a),doHover:i.doHover.bind(i),format:function(e,t,r){var n=void 0;if(t){var i=e.offsetAt(t.start);n={offset:i,length:e.offsetAt(t.end)-i}}var a={tabSize:r?r.tabSize:4,insertSpaces:!r||r.insertSpaces,eol:\"\\n\"};return function(e,t,r){return $(e,t,r)}(e.getText(),n,a).map(function(t){return u.replace(o.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length)),t.content)})}}}var Ke=monaco.Promise,Ge=function(){function e(e){this.wrapped=new monaco.Promise(e)}return e.prototype.then=function(e,t){return this.wrapped.then(e,t)},e.prototype.getWrapped=function(){return this.wrapped},e.prototype.cancel=function(){this.wrapped.cancel()},e.resolve=function(e){return monaco.Promise.as(e)},e.reject=function(e){return monaco.Promise.wrapError(e)},e.all=function(e){return monaco.Promise.join(e)},e}(),Ze=function(){function e(e,t){this._ctx=e,this._languageSettings=t.languageSettings,this._languageId=t.languageId,this._languageService=ze({promiseConstructor:Ge}),this._languageService.configure(this._languageSettings)}return e.prototype.doValidation=function(e){var t=this._getTextDocument(e);if(t){var r=this._languageService.parseJSONDocument(t);return this._languageService.doValidation(t,r)}return Ke.as([])},e.prototype.doComplete=function(e,t){var r=this._getTextDocument(e),n=this._languageService.parseJSONDocument(r);return this._languageService.doComplete(r,t,n)},e.prototype.doResolve=function(e){return this._languageService.doResolve(e)},e.prototype.doHover=function(e,t){var r=this._getTextDocument(e),n=this._languageService.parseJSONDocument(r);return this._languageService.doHover(r,t,n)},e.prototype.format=function(e,t,r){var n=this._getTextDocument(e),o=this._languageService.format(n,t,r);return Ke.as(o)},e.prototype.resetSchema=function(e){return Ke.as(this._languageService.resetSchema(e))},e.prototype.findDocumentSymbols=function(e){var t=this._getTextDocument(e),r=this._languageService.parseJSONDocument(t),n=this._languageService.findDocumentSymbols(t,r);return Ke.as(n)},e.prototype.findDocumentColors=function(e){var t=this._getTextDocument(e),r=this._languageService.parseJSONDocument(t),n=this._languageService.findDocumentColors(t,r);return Ke.as(n)},e.prototype.getColorPresentations=function(e,t,r){var n=this._getTextDocument(e),o=this._languageService.parseJSONDocument(n),i=this._languageService.getColorPresentations(n,o,t,r);return Ke.as(i)},e.prototype._getTextDocument=function(e){for(var t=0,r=this._ctx.getMirrorModels();t<r.length;t++){var n=r[t];if(n.uri.toString()===e)return j.create(e,this._languageId,n.version,n.getValue())}return null},e}();self.onmessage=function(){l.initialize(function(e,t){return new Ze(e,t)})}}]);"
  },
  {
    "path": "latest/editor.worker.js",
    "content": "!function(e){var n=this.webpackHotUpdate;this.webpackHotUpdate=function(e,r){!function(e,n){if(!O[e]||!w[e])return;for(var r in w[e]=!1,n)Object.prototype.hasOwnProperty.call(n,r)&&(h[r]=n[r]);0==--v&&0===b&&D()}(e,r),n&&n(e,r)};var r,t=!0,o=\"a26353f7167734308499\",c=1e4,i={},d=[],a=[];function l(e){var n=P[e];if(!n)return x;var t=function(t){return n.hot.active?(P[t]?-1===P[t].parents.indexOf(e)&&P[t].parents.push(e):(d=[e],r=t),-1===n.children.indexOf(t)&&n.children.push(t)):(console.warn(\"[HMR] unexpected require(\"+t+\") from disposed module \"+e),d=[]),x(t)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return x[e]},set:function(n){x[e]=n}}};for(var c in x)Object.prototype.hasOwnProperty.call(x,c)&&\"e\"!==c&&\"t\"!==c&&Object.defineProperty(t,c,o(c));return t.e=function(e){return\"ready\"===u&&p(\"prepare\"),b++,x.e(e).then(n,function(e){throw n(),e});function n(){b--,\"prepare\"===u&&(m[e]||j(e),0===b&&0===v&&D())}},t.t=function(e,n){return 1&n&&(e=t(e)),x.t(e,-2&n)},t}var s=[],u=\"idle\";function p(e){u=e;for(var n=0;n<s.length;n++)s[n].call(null,e)}var f,h,y,v=0,b=0,m={},w={},O={};function g(e){return+e+\"\"===e?+e:e}function _(e){if(\"idle\"!==u)throw new Error(\"check() is only allowed in idle status\");return t=e,p(\"check\"),(n=c,n=n||1e4,new Promise(function(e,r){if(\"undefined\"==typeof XMLHttpRequest)return r(new Error(\"No browser support\"));try{var t=new XMLHttpRequest,c=x.p+\"\"+o+\".hot-update.json\";t.open(\"GET\",c,!0),t.timeout=n,t.send(null)}catch(e){return r(e)}t.onreadystatechange=function(){if(4===t.readyState)if(0===t.status)r(new Error(\"Manifest request to \"+c+\" timed out.\"));else if(404===t.status)e();else if(200!==t.status&&304!==t.status)r(new Error(\"Manifest request to \"+c+\" failed.\"));else{try{var n=JSON.parse(t.responseText)}catch(e){return void r(e)}e(n)}}})).then(function(e){if(!e)return p(\"idle\"),null;w={},m={},O=e.c,y=e.h,p(\"prepare\");var n=new Promise(function(e,n){f={resolve:e,reject:n}});h={};return j(2),\"prepare\"===u&&0===b&&0===v&&D(),n});var n}function j(e){O[e]?(w[e]=!0,v++,function(e){var n=document.getElementsByTagName(\"head\")[0],r=document.createElement(\"script\");r.charset=\"utf-8\",r.src=x.p+\"\"+e+\".\"+o+\".hot-update.js\",n.appendChild(r)}(e)):m[e]=!0}function D(){p(\"ready\");var e=f;if(f=null,e)if(t)Promise.resolve().then(function(){return E(t)}).then(function(n){e.resolve(n)},function(n){e.reject(n)});else{var n=[];for(var r in h)Object.prototype.hasOwnProperty.call(h,r)&&n.push(g(r));e.resolve(n)}}function E(n){if(\"ready\"!==u)throw new Error(\"apply() is only allowed in ready status\");var r,t,c,a,l;function s(e){for(var n=[e],r={},t=n.slice().map(function(e){return{chain:[e],id:e}});t.length>0;){var o=t.pop(),c=o.id,i=o.chain;if((a=P[c])&&!a.hot._selfAccepted){if(a.hot._selfDeclined)return{type:\"self-declined\",chain:i,moduleId:c};if(a.hot._main)return{type:\"unaccepted\",chain:i,moduleId:c};for(var d=0;d<a.parents.length;d++){var l=a.parents[d],s=P[l];if(s){if(s.hot._declinedDependencies[c])return{type:\"declined\",chain:i.concat([l]),moduleId:c,parentId:l};-1===n.indexOf(l)&&(s.hot._acceptedDependencies[c]?(r[l]||(r[l]=[]),f(r[l],[c])):(delete r[l],n.push(l),t.push({chain:i.concat([l]),id:l})))}}}}return{type:\"accepted\",moduleId:e,outdatedModules:n,outdatedDependencies:r}}function f(e,n){for(var r=0;r<n.length;r++){var t=n[r];-1===e.indexOf(t)&&e.push(t)}}n=n||{};var v={},b=[],m={},w=function(){console.warn(\"[HMR] unexpected require(\"+j.moduleId+\") to disposed module\")};for(var _ in h)if(Object.prototype.hasOwnProperty.call(h,_)){var j;l=g(_);var D=!1,E=!1,H=!1,I=\"\";switch((j=h[_]?s(l):{type:\"disposed\",moduleId:_}).chain&&(I=\"\\nUpdate propagation: \"+j.chain.join(\" -> \")),j.type){case\"self-declined\":n.onDeclined&&n.onDeclined(j),n.ignoreDeclined||(D=new Error(\"Aborted because of self decline: \"+j.moduleId+I));break;case\"declined\":n.onDeclined&&n.onDeclined(j),n.ignoreDeclined||(D=new Error(\"Aborted because of declined dependency: \"+j.moduleId+\" in \"+j.parentId+I));break;case\"unaccepted\":n.onUnaccepted&&n.onUnaccepted(j),n.ignoreUnaccepted||(D=new Error(\"Aborted because \"+l+\" is not accepted\"+I));break;case\"accepted\":n.onAccepted&&n.onAccepted(j),E=!0;break;case\"disposed\":n.onDisposed&&n.onDisposed(j),H=!0;break;default:throw new Error(\"Unexception type \"+j.type)}if(D)return p(\"abort\"),Promise.reject(D);if(E)for(l in m[l]=h[l],f(b,j.outdatedModules),j.outdatedDependencies)Object.prototype.hasOwnProperty.call(j.outdatedDependencies,l)&&(v[l]||(v[l]=[]),f(v[l],j.outdatedDependencies[l]));H&&(f(b,[j.moduleId]),m[l]=w)}var k,M=[];for(t=0;t<b.length;t++)l=b[t],P[l]&&P[l].hot._selfAccepted&&M.push({module:l,errorHandler:P[l].hot._selfAccepted});p(\"dispose\"),Object.keys(O).forEach(function(e){!1===O[e]&&function(e){delete installedChunks[e]}(e)});for(var A,S,U=b.slice();U.length>0;)if(l=U.pop(),a=P[l]){var q={},T=a.hot._disposeHandlers;for(c=0;c<T.length;c++)(r=T[c])(q);for(i[l]=q,a.hot.active=!1,delete P[l],delete v[l],c=0;c<a.children.length;c++){var R=P[a.children[c]];R&&((k=R.parents.indexOf(l))>=0&&R.parents.splice(k,1))}}for(l in v)if(Object.prototype.hasOwnProperty.call(v,l)&&(a=P[l]))for(S=v[l],c=0;c<S.length;c++)A=S[c],(k=a.children.indexOf(A))>=0&&a.children.splice(k,1);for(l in p(\"apply\"),o=y,m)Object.prototype.hasOwnProperty.call(m,l)&&(e[l]=m[l]);var N=null;for(l in v)if(Object.prototype.hasOwnProperty.call(v,l)&&(a=P[l])){S=v[l];var C=[];for(t=0;t<S.length;t++)if(A=S[t],r=a.hot._acceptedDependencies[A]){if(-1!==C.indexOf(r))continue;C.push(r)}for(t=0;t<C.length;t++){r=C[t];try{r(S)}catch(e){n.onErrored&&n.onErrored({type:\"accept-errored\",moduleId:l,dependencyId:S[t],error:e}),n.ignoreErrored||N||(N=e)}}}for(t=0;t<M.length;t++){var L=M[t];l=L.module,d=[l];try{x(l)}catch(e){if(\"function\"==typeof L.errorHandler)try{L.errorHandler(e)}catch(r){n.onErrored&&n.onErrored({type:\"self-accept-error-handler-errored\",moduleId:l,error:r,originalError:e}),n.ignoreErrored||N||(N=r),N||(N=e)}else n.onErrored&&n.onErrored({type:\"self-accept-errored\",moduleId:l,error:e}),n.ignoreErrored||N||(N=e)}}return N?(p(\"fail\"),Promise.reject(N)):(p(\"idle\"),new Promise(function(e){e(b)}))}var P={};function x(n){if(P[n])return P[n].exports;var t=P[n]={i:n,l:!1,exports:{},hot:function(e){var n={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:r!==e,active:!0,accept:function(e,r){if(void 0===e)n._selfAccepted=!0;else if(\"function\"==typeof e)n._selfAccepted=e;else if(\"object\"==typeof e)for(var t=0;t<e.length;t++)n._acceptedDependencies[e[t]]=r||function(){};else n._acceptedDependencies[e]=r||function(){}},decline:function(e){if(void 0===e)n._selfDeclined=!0;else if(\"object\"==typeof e)for(var r=0;r<e.length;r++)n._declinedDependencies[e[r]]=!0;else n._declinedDependencies[e]=!0},dispose:function(e){n._disposeHandlers.push(e)},addDisposeHandler:function(e){n._disposeHandlers.push(e)},removeDisposeHandler:function(e){var r=n._disposeHandlers.indexOf(e);r>=0&&n._disposeHandlers.splice(r,1)},check:_,apply:E,status:function(e){if(!e)return u;s.push(e)},addStatusHandler:function(e){s.push(e)},removeStatusHandler:function(e){var n=s.indexOf(e);n>=0&&s.splice(n,1)},data:i[e]};return r=void 0,n}(n),parents:(a=d,d=[],a),children:[]};return e[n].call(t.exports,t,t.exports,l(n)),t.l=!0,t.exports}x.m=e,x.c=P,x.d=function(e,n,r){x.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},x.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},x.t=function(e,n){if(1&n&&(e=x(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(x.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var t in e)x.d(r,t,function(n){return e[n]}.bind(null,t));return r},x.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return x.d(n,\"a\",n),n},x.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},x.p=\"\",x.h=function(){return o},l(536)(x.s=536)}({536:function(e,n,r){e.exports=function(){return new Worker(r.p+\"51c25ac0adacae5e02ff.worker.js\")}}});"
  },
  {
    "path": "latest/hotReload.js",
    "content": "!function(e){var t=this.webpackHotUpdate;this.webpackHotUpdate=function(e,n){!function(e,t){if(!_[e]||!g[e])return;for(var n in g[e]=!1,t)Object.prototype.hasOwnProperty.call(t,n)&&(y[n]=t[n]);0==--v&&0===b&&P()}(e,n),t&&t(e,n)};var n,r=!0,o=\"a26353f7167734308499\",i=1e4,c={},u=[],a=[];function l(e){var t=E[e];if(!t)return S;var r=function(r){return t.hot.active?(E[r]?-1===E[r].parents.indexOf(e)&&E[r].parents.push(e):(u=[e],n=r),-1===t.children.indexOf(r)&&t.children.push(r)):(console.warn(\"[HMR] unexpected require(\"+r+\") from disposed module \"+e),u=[]),S(r)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return S[e]},set:function(t){S[e]=t}}};for(var i in S)Object.prototype.hasOwnProperty.call(S,i)&&\"e\"!==i&&\"t\"!==i&&Object.defineProperty(r,i,o(i));return r.e=function(e){return\"ready\"===s&&d(\"prepare\"),b++,S.e(e).then(t,function(e){throw t(),e});function t(){b--,\"prepare\"===s&&(m[e]||j(e),0===b&&0===v&&P())}},r.t=function(e,t){return 1&t&&(e=r(e)),S.t(e,-2&t)},r}var f=[],s=\"idle\";function d(e){s=e;for(var t=0;t<f.length;t++)f[t].call(null,e)}var p,y,h,v=0,b=0,m={},g={},_={};function w(e){return+e+\"\"===e?+e:e}function O(e){if(\"idle\"!==s)throw new Error(\"check() is only allowed in idle status\");return r=e,d(\"check\"),(t=i,t=t||1e4,new Promise(function(e,n){if(\"undefined\"==typeof XMLHttpRequest)return n(new Error(\"No browser support\"));try{var r=new XMLHttpRequest,i=S.p+\"\"+o+\".hot-update.json\";r.open(\"GET\",i,!0),r.timeout=t,r.send(null)}catch(e){return n(e)}r.onreadystatechange=function(){if(4===r.readyState)if(0===r.status)n(new Error(\"Manifest request to \"+i+\" timed out.\"));else if(404===r.status)e();else if(200!==r.status&&304!==r.status)n(new Error(\"Manifest request to \"+i+\" failed.\"));else{try{var t=JSON.parse(r.responseText)}catch(e){return void n(e)}e(t)}}})).then(function(e){if(!e)return d(\"idle\"),null;g={},m={},_=e.c,h=e.h,d(\"prepare\");var t=new Promise(function(e,t){p={resolve:e,reject:t}});y={};return j(0),\"prepare\"===s&&0===b&&0===v&&P(),t});var t}function j(e){_[e]?(g[e]=!0,v++,function(e){var t=document.getElementsByTagName(\"head\")[0],n=document.createElement(\"script\");n.charset=\"utf-8\",n.src=S.p+\"\"+e+\".\"+o+\".hot-update.js\",t.appendChild(n)}(e)):m[e]=!0}function P(){d(\"ready\");var e=p;if(p=null,e)if(r)Promise.resolve().then(function(){return x(r)}).then(function(t){e.resolve(t)},function(t){e.reject(t)});else{var t=[];for(var n in y)Object.prototype.hasOwnProperty.call(y,n)&&t.push(w(n));e.resolve(t)}}function x(t){if(\"ready\"!==s)throw new Error(\"apply() is only allowed in ready status\");var n,r,i,a,l;function f(e){for(var t=[e],n={},r=t.slice().map(function(e){return{chain:[e],id:e}});r.length>0;){var o=r.pop(),i=o.id,c=o.chain;if((a=E[i])&&!a.hot._selfAccepted){if(a.hot._selfDeclined)return{type:\"self-declined\",chain:c,moduleId:i};if(a.hot._main)return{type:\"unaccepted\",chain:c,moduleId:i};for(var u=0;u<a.parents.length;u++){var l=a.parents[u],f=E[l];if(f){if(f.hot._declinedDependencies[i])return{type:\"declined\",chain:c.concat([l]),moduleId:i,parentId:l};-1===t.indexOf(l)&&(f.hot._acceptedDependencies[i]?(n[l]||(n[l]=[]),p(n[l],[i])):(delete n[l],t.push(l),r.push({chain:c.concat([l]),id:l})))}}}}return{type:\"accepted\",moduleId:e,outdatedModules:t,outdatedDependencies:n}}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];-1===e.indexOf(r)&&e.push(r)}}t=t||{};var v={},b=[],m={},g=function(){console.warn(\"[HMR] unexpected require(\"+j.moduleId+\") to disposed module\")};for(var O in y)if(Object.prototype.hasOwnProperty.call(y,O)){var j;l=w(O);var P=!1,x=!1,k=!1,D=\"\";switch((j=y[O]?f(l):{type:\"disposed\",moduleId:O}).chain&&(D=\"\\nUpdate propagation: \"+j.chain.join(\" -> \")),j.type){case\"self-declined\":t.onDeclined&&t.onDeclined(j),t.ignoreDeclined||(P=new Error(\"Aborted because of self decline: \"+j.moduleId+D));break;case\"declined\":t.onDeclined&&t.onDeclined(j),t.ignoreDeclined||(P=new Error(\"Aborted because of declined dependency: \"+j.moduleId+\" in \"+j.parentId+D));break;case\"unaccepted\":t.onUnaccepted&&t.onUnaccepted(j),t.ignoreUnaccepted||(P=new Error(\"Aborted because \"+l+\" is not accepted\"+D));break;case\"accepted\":t.onAccepted&&t.onAccepted(j),x=!0;break;case\"disposed\":t.onDisposed&&t.onDisposed(j),k=!0;break;default:throw new Error(\"Unexception type \"+j.type)}if(P)return d(\"abort\"),Promise.reject(P);if(x)for(l in m[l]=y[l],p(b,j.outdatedModules),j.outdatedDependencies)Object.prototype.hasOwnProperty.call(j.outdatedDependencies,l)&&(v[l]||(v[l]=[]),p(v[l],j.outdatedDependencies[l]));k&&(p(b,[j.moduleId]),m[l]=g)}var R,A=[];for(r=0;r<b.length;r++)l=b[r],E[l]&&E[l].hot._selfAccepted&&A.push({module:l,errorHandler:E[l].hot._selfAccepted});d(\"dispose\"),Object.keys(_).forEach(function(e){!1===_[e]&&function(e){delete installedChunks[e]}(e)});for(var C,I,H=b.slice();H.length>0;)if(l=H.pop(),a=E[l]){var $={},M=a.hot._disposeHandlers;for(i=0;i<M.length;i++)(n=M[i])($);for(c[l]=$,a.hot.active=!1,delete E[l],delete v[l],i=0;i<a.children.length;i++){var q=E[a.children[i]];q&&((R=q.parents.indexOf(l))>=0&&q.parents.splice(R,1))}}for(l in v)if(Object.prototype.hasOwnProperty.call(v,l)&&(a=E[l]))for(I=v[l],i=0;i<I.length;i++)C=I[i],(R=a.children.indexOf(C))>=0&&a.children.splice(R,1);for(l in d(\"apply\"),o=h,m)Object.prototype.hasOwnProperty.call(m,l)&&(e[l]=m[l]);var T=null;for(l in v)if(Object.prototype.hasOwnProperty.call(v,l)&&(a=E[l])){I=v[l];var U=[];for(r=0;r<I.length;r++)if(C=I[r],n=a.hot._acceptedDependencies[C]){if(-1!==U.indexOf(n))continue;U.push(n)}for(r=0;r<U.length;r++){n=U[r];try{n(I)}catch(e){t.onErrored&&t.onErrored({type:\"accept-errored\",moduleId:l,dependencyId:I[r],error:e}),t.ignoreErrored||T||(T=e)}}}for(r=0;r<A.length;r++){var N=A[r];l=N.module,u=[l];try{S(l)}catch(e){if(\"function\"==typeof N.errorHandler)try{N.errorHandler(e)}catch(n){t.onErrored&&t.onErrored({type:\"self-accept-error-handler-errored\",moduleId:l,error:n,originalError:e}),t.ignoreErrored||T||(T=n),T||(T=e)}else t.onErrored&&t.onErrored({type:\"self-accept-errored\",moduleId:l,error:e}),t.ignoreErrored||T||(T=e)}}return T?(d(\"fail\"),Promise.reject(T)):(d(\"idle\"),new Promise(function(e){e(b)}))}var E={};function S(t){if(E[t])return E[t].exports;var r=E[t]={i:t,l:!1,exports:{},hot:function(e){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:n!==e,active:!0,accept:function(e,n){if(void 0===e)t._selfAccepted=!0;else if(\"function\"==typeof e)t._selfAccepted=e;else if(\"object\"==typeof e)for(var r=0;r<e.length;r++)t._acceptedDependencies[e[r]]=n||function(){};else t._acceptedDependencies[e]=n||function(){}},decline:function(e){if(void 0===e)t._selfDeclined=!0;else if(\"object\"==typeof e)for(var n=0;n<e.length;n++)t._declinedDependencies[e[n]]=!0;else t._declinedDependencies[e]=!0},dispose:function(e){t._disposeHandlers.push(e)},addDisposeHandler:function(e){t._disposeHandlers.push(e)},removeDisposeHandler:function(e){var n=t._disposeHandlers.indexOf(e);n>=0&&t._disposeHandlers.splice(n,1)},check:O,apply:x,status:function(e){if(!e)return s;f.push(e)},addStatusHandler:function(e){f.push(e)},removeStatusHandler:function(e){var t=f.indexOf(e);t>=0&&f.splice(t,1)},data:c[e]};return n=void 0,t}(t),parents:(a=u,u=[],a),children:[]};return e[t].call(r.exports,r,r.exports,l(t)),r.l=!0,r.exports}S.m=e,S.c=E,S.d=function(e,t,n){S.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},S.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},S.t=function(e,t){if(1&t&&(e=S(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(S.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)S.d(n,r,function(t){return e[t]}.bind(null,r));return n},S.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return S.d(t,\"a\",t),t},S.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},S.p=\"\",S.h=function(){return o},l(259)(S.s=259)}({259:function(e,t,n){\"use strict\";e.exports=n(260)},260:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,o=(r=n(3))&&\"object\"==typeof r&&\"default\"in r?r.default:r,i=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},c=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t},u=function(e){function t(){return i(this,t),c(this,e.apply(this,arguments))}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.render=function(){return o.Children.only(this.props.children)},t}(o.Component);t.AppContainer=u,t.hot=function(){return function(e){return e}},t.areComponentsEqual=function(e,t){return e===t},t.setConfig=function(){},t.cold=function(e){return e}},3:function(e,t,n){\"use strict\";e.exports=n(70)},52:function(e,t,n){\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){r[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,c,u=function(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}(e),a=1;a<arguments.length;a++){for(var l in n=Object(arguments[a]))o.call(n,l)&&(u[l]=n[l]);if(r){c=r(n);for(var f=0;f<c.length;f++)i.call(n,c[f])&&(u[c[f]]=n[c[f]])}}return u}},53:function(e,t,n){\"use strict\";var r=function(e){};e.exports=function(e,t,n,o,i,c,u,a){if(r(t),!e){var l;if(void 0===t)l=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var f=[n,o,i,c,u,a],s=0;(l=new Error(t.replace(/%s/g,function(){return f[s++]}))).name=\"Invariant Violation\"}throw l.framesToPop=1,l}}},54:function(e,t,n){\"use strict\";e.exports={}},55:function(e,t,n){\"use strict\";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},70:function(e,t,n){\"use strict\";\n/** @license React v16.4.2\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r=n(52),o=n(53),i=n(54),c=n(55),u=\"function\"==typeof Symbol&&Symbol.for,a=u?Symbol.for(\"react.element\"):60103,l=u?Symbol.for(\"react.portal\"):60106,f=u?Symbol.for(\"react.fragment\"):60107,s=u?Symbol.for(\"react.strict_mode\"):60108,d=u?Symbol.for(\"react.profiler\"):60114,p=u?Symbol.for(\"react.provider\"):60109,y=u?Symbol.for(\"react.context\"):60110,h=u?Symbol.for(\"react.async_mode\"):60111,v=u?Symbol.for(\"react.forward_ref\"):60112;u&&Symbol.for(\"react.timeout\");var b=\"function\"==typeof Symbol&&Symbol.iterator;function m(e){for(var t=arguments.length-1,n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=0;r<t;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);o(!1,\"Minified React error #\"+e+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",n)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function _(e,t,n){this.props=e,this.context=t,this.refs=i,this.updater=n||g}function w(){}function O(e,t,n){this.props=e,this.context=t,this.refs=i,this.updater=n||g}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e&&m(\"85\"),this.updater.enqueueSetState(this,e,t,\"setState\")},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},w.prototype=_.prototype;var j=O.prototype=new w;j.constructor=O,r(j,_.prototype),j.isPureReactComponent=!0;var P={current:null},x=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r=void 0,o={},i=null,c=null;if(null!=t)for(r in void 0!==t.ref&&(c=t.ref),void 0!==t.key&&(i=\"\"+t.key),t)x.call(t,r)&&!E.hasOwnProperty(r)&&(o[r]=t[r]);var u=arguments.length-2;if(1===u)o.children=n;else if(1<u){for(var l=Array(u),f=0;f<u;f++)l[f]=arguments[f+2];o.children=l}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===o[r]&&(o[r]=u[r]);return{$$typeof:a,type:e,key:i,ref:c,props:o,_owner:P.current}}function k(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===a}var D=/\\/+/g,R=[];function A(e,t,n,r){if(R.length){var o=R.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function C(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>R.length&&R.push(e)}function I(e,t,n,r){var o=typeof e;\"undefined\"!==o&&\"boolean\"!==o||(e=null);var i=!1;if(null===e)i=!0;else switch(o){case\"string\":case\"number\":i=!0;break;case\"object\":switch(e.$$typeof){case a:case l:i=!0}}if(i)return n(r,e,\"\"===t?\".\"+H(e,0):t),1;if(i=0,t=\"\"===t?\".\":t+\":\",Array.isArray(e))for(var c=0;c<e.length;c++){var u=t+H(o=e[c],c);i+=I(o,u,n,r)}else if(null===e||void 0===e?u=null:u=\"function\"==typeof(u=b&&e[b]||e[\"@@iterator\"])?u:null,\"function\"==typeof u)for(e=u.call(e),c=0;!(o=e.next()).done;)i+=I(o=o.value,u=t+H(o,c++),n,r);else\"object\"===o&&m(\"31\",\"[object Object]\"===(n=\"\"+e)?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":n,\"\");return i}function H(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function $(e,t){e.func.call(e.context,t,e.count++)}function M(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?q(e,r,n,c.thatReturnsArgument):null!=e&&(k(e)&&(t=o+(!e.key||t&&t.key===e.key?\"\":(\"\"+e.key).replace(D,\"$&/\")+\"/\")+n,e={$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}),r.push(e))}function q(e,t,n,r,o){var i=\"\";null!=n&&(i=(\"\"+n).replace(D,\"$&/\")+\"/\"),t=A(t,i,r,o),null==e||I(e,\"\",M,t),C(t)}var T={Children:{map:function(e,t,n){if(null==e)return e;var r=[];return q(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;t=A(null,null,t,n),null==e||I(e,\"\",$,t),C(t)},count:function(e){return null==e?0:I(e,\"\",c.thatReturnsNull,null)},toArray:function(e){var t=[];return q(e,t,null,c.thatReturnsArgument),t},only:function(e){return k(e)||m(\"143\"),e}},createRef:function(){return{current:null}},Component:_,PureComponent:O,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:y,_calculateChangedBits:t,_defaultValue:e,_currentValue:e,_currentValue2:e,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null}).Provider={$$typeof:p,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:v,render:e}},Fragment:f,StrictMode:s,unstable_AsyncMode:h,unstable_Profiler:d,createElement:S,cloneElement:function(e,t,n){(null===e||void 0===e)&&m(\"267\",e);var o=void 0,i=r({},e.props),c=e.key,u=e.ref,l=e._owner;if(null!=t){void 0!==t.ref&&(u=t.ref,l=P.current),void 0!==t.key&&(c=\"\"+t.key);var f=void 0;for(o in e.type&&e.type.defaultProps&&(f=e.type.defaultProps),t)x.call(t,o)&&!E.hasOwnProperty(o)&&(i[o]=void 0===t[o]&&void 0!==f?f[o]:t[o])}if(1===(o=arguments.length-2))i.children=n;else if(1<o){f=Array(o);for(var s=0;s<o;s++)f[s]=arguments[s+2];i.children=f}return{$$typeof:a,type:e.type,key:c,ref:u,props:i,_owner:l}},createFactory:function(e){var t=S.bind(null,e);return t.type=e,t},isValidElement:k,version:\"16.4.2\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:P,assign:r}},U={default:T},N=U&&T||U;e.exports=N.default?N.default:N}});"
  },
  {
    "path": "latest/icons-24a6ef8280df161e3d389800fa2107ae/.cache",
    "content": "{\"hash\":\"24a6ef8280df161e3d389800fa2107ae\",\"version\":\"0.0.9\",\"optionHash\":\"278bdd39bccd5fd52bccf2cd61efb334\",\"result\":{\"outputFilePrefix\":\"icons-24a6ef8280df161e3d389800fa2107ae/\",\"html\":[\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"57x57\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-57x57.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"60x60\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-60x60.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"72x72\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-72x72.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"76x76\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-76x76.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"114x114\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-114x114.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"120x120\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-120x120.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"144x144\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-144x144.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"152x152\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-152x152.png\\\">\",\"<link rel=\\\"apple-touch-icon\\\" sizes=\\\"180x180\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-180x180.png\\\">\",\"<meta name=\\\"apple-mobile-web-app-capable\\\" content=\\\"yes\\\">\",\"<meta name=\\\"apple-mobile-web-app-status-bar-style\\\" content=\\\"black-translucent\\\">\",\"<meta name=\\\"apple-mobile-web-app-title\\\" content=\\\"L1\\\">\",\"<link rel=\\\"icon\\\" type=\\\"image/png\\\" sizes=\\\"32x32\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/favicon-32x32.png\\\">\",\"<link rel=\\\"icon\\\" type=\\\"image/png\\\" sizes=\\\"16x16\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/favicon-16x16.png\\\">\",\"<link rel=\\\"shortcut icon\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/favicon.ico\\\">\",\"<meta name=\\\"mobile-web-app-capable\\\" content=\\\"yes\\\">\",\"<meta name=\\\"theme-color\\\" content=\\\"#fff\\\">\",\"<meta name=\\\"application-name\\\" content=\\\"L1\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-320x460.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-640x920.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-640x1096.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-750x1294.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1182x2208.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1242x2148.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-748x1024.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-768x1004.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1496x2048.png\\\">\",\"<link rel=\\\"apple-touch-startup-image\\\" media=\\\"(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)\\\" href=\\\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1536x2008.png\\\">\"],\"files\":[\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-57x57.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-60x60.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-72x72.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-76x76.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-114x114.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-120x120.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-144x144.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-152x152.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-167x167.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-180x180.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-precomposed.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/favicon-16x16.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/favicon-32x32.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/favicon.ico\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-36x36.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-48x48.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-72x72.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-96x96.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-144x144.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-192x192.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-256x256.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-384x384.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/android-chrome-512x512.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/firefox_app_60x60.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/firefox_app_128x128.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/firefox_app_512x512.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-320x460.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-640x1096.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-640x920.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-748x1024.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-750x1294.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-768x1004.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1182x2208.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1242x2148.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1496x2048.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1536x2008.png\",\"icons-24a6ef8280df161e3d389800fa2107ae/manifest.json\",\"icons-24a6ef8280df161e3d389800fa2107ae/manifest.webapp\"]}}"
  },
  {
    "path": "latest/icons-24a6ef8280df161e3d389800fa2107ae/manifest.json",
    "content": "{\n  \"name\": \"L1\",\n  \"short_name\": \"L1\",\n  \"description\": null,\n  \"dir\": \"auto\",\n  \"lang\": \"en-US\",\n  \"display\": \"standalone\",\n  \"orientation\": \"any\",\n  \"start_url\": \"/?homescreen=1\",\n  \"background_color\": \"#fff\",\n  \"icons\": [\n    {\n      \"src\": \"android-chrome-36x36.png\",\n      \"sizes\": \"36x36\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-48x48.png\",\n      \"sizes\": \"48x48\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-72x72.png\",\n      \"sizes\": \"72x72\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-96x96.png\",\n      \"sizes\": \"96x96\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-144x144.png\",\n      \"sizes\": \"144x144\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-192x192.png\",\n      \"sizes\": \"192x192\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-256x256.png\",\n      \"sizes\": \"256x256\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-384x384.png\",\n      \"sizes\": \"384x384\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"android-chrome-512x512.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image/png\"\n    }\n  ]\n}"
  },
  {
    "path": "latest/icons-24a6ef8280df161e3d389800fa2107ae/manifest.webapp",
    "content": "{\n  \"version\": \"1.0\",\n  \"name\": \"L1\",\n  \"description\": null,\n  \"icons\": {\n    \"60\": \"firefox_app_60x60.png\",\n    \"128\": \"firefox_app_128x128.png\",\n    \"512\": \"firefox_app_512x512.png\"\n  },\n  \"developer\": {\n    \"name\": null,\n    \"url\": null\n  }\n}"
  },
  {
    "path": "latest/index.html",
    "content": "<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Tensor Studio</title>\n<link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-57x57.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-60x60.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-72x72.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-76x76.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-114x114.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-120x120.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-144x144.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-152x152.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-icon-180x180.png\"><meta name=\"apple-mobile-web-app-capable\" content=\"yes\"><meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"><meta name=\"apple-mobile-web-app-title\" content=\"L1\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/favicon-32x32.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/favicon-16x16.png\"><link rel=\"shortcut icon\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/favicon.ico\"><meta name=\"mobile-web-app-capable\" content=\"yes\"><meta name=\"theme-color\" content=\"#fff\"><meta name=\"application-name\" content=\"L1\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-320x460.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-640x920.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-640x1096.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-750x1294.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1182x2208.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1242x2148.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-748x1024.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-768x1004.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1496x2048.png\"><link rel=\"apple-touch-startup-image\" media=\"(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)\" href=\"icons-24a6ef8280df161e3d389800fa2107ae/apple-touch-startup-image-1536x2008.png\"></head>\n<body>\n    <div id=\"studio\"></div>\n    <script>\n        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n        ga('create', 'UA-3499003-2', 'auto');\n        ga('send', 'pageview');\n    </script>\n<script type=\"text/javascript\" src=\"app.js?a26353f7167734308499\"></script></body>\n</html>"
  },
  {
    "path": "latest/json.worker.js",
    "content": "!function(e){var n=this.webpackHotUpdate;this.webpackHotUpdate=function(e,r){!function(e,n){if(!O[e]||!w[e])return;for(var r in w[e]=!1,n)Object.prototype.hasOwnProperty.call(n,r)&&(h[r]=n[r]);0==--v&&0===b&&D()}(e,r),n&&n(e,r)};var r,t=!0,o=\"a26353f7167734308499\",c=1e4,i={},d=[],a=[];function l(e){var n=P[e];if(!n)return x;var t=function(t){return n.hot.active?(P[t]?-1===P[t].parents.indexOf(e)&&P[t].parents.push(e):(d=[e],r=t),-1===n.children.indexOf(t)&&n.children.push(t)):(console.warn(\"[HMR] unexpected require(\"+t+\") from disposed module \"+e),d=[]),x(t)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return x[e]},set:function(n){x[e]=n}}};for(var c in x)Object.prototype.hasOwnProperty.call(x,c)&&\"e\"!==c&&\"t\"!==c&&Object.defineProperty(t,c,o(c));return t.e=function(e){return\"ready\"===u&&p(\"prepare\"),b++,x.e(e).then(n,function(e){throw n(),e});function n(){b--,\"prepare\"===u&&(m[e]||j(e),0===b&&0===v&&D())}},t.t=function(e,n){return 1&n&&(e=t(e)),x.t(e,-2&n)},t}var s=[],u=\"idle\";function p(e){u=e;for(var n=0;n<s.length;n++)s[n].call(null,e)}var f,h,y,v=0,b=0,m={},w={},O={};function g(e){return+e+\"\"===e?+e:e}function _(e){if(\"idle\"!==u)throw new Error(\"check() is only allowed in idle status\");return t=e,p(\"check\"),(n=c,n=n||1e4,new Promise(function(e,r){if(\"undefined\"==typeof XMLHttpRequest)return r(new Error(\"No browser support\"));try{var t=new XMLHttpRequest,c=x.p+\"\"+o+\".hot-update.json\";t.open(\"GET\",c,!0),t.timeout=n,t.send(null)}catch(e){return r(e)}t.onreadystatechange=function(){if(4===t.readyState)if(0===t.status)r(new Error(\"Manifest request to \"+c+\" timed out.\"));else if(404===t.status)e();else if(200!==t.status&&304!==t.status)r(new Error(\"Manifest request to \"+c+\" failed.\"));else{try{var n=JSON.parse(t.responseText)}catch(e){return void r(e)}e(n)}}})).then(function(e){if(!e)return p(\"idle\"),null;w={},m={},O=e.c,y=e.h,p(\"prepare\");var n=new Promise(function(e,n){f={resolve:e,reject:n}});h={};return j(3),\"prepare\"===u&&0===b&&0===v&&D(),n});var n}function j(e){O[e]?(w[e]=!0,v++,function(e){var n=document.getElementsByTagName(\"head\")[0],r=document.createElement(\"script\");r.charset=\"utf-8\",r.src=x.p+\"\"+e+\".\"+o+\".hot-update.js\",n.appendChild(r)}(e)):m[e]=!0}function D(){p(\"ready\");var e=f;if(f=null,e)if(t)Promise.resolve().then(function(){return E(t)}).then(function(n){e.resolve(n)},function(n){e.reject(n)});else{var n=[];for(var r in h)Object.prototype.hasOwnProperty.call(h,r)&&n.push(g(r));e.resolve(n)}}function E(n){if(\"ready\"!==u)throw new Error(\"apply() is only allowed in ready status\");var r,t,c,a,l;function s(e){for(var n=[e],r={},t=n.slice().map(function(e){return{chain:[e],id:e}});t.length>0;){var o=t.pop(),c=o.id,i=o.chain;if((a=P[c])&&!a.hot._selfAccepted){if(a.hot._selfDeclined)return{type:\"self-declined\",chain:i,moduleId:c};if(a.hot._main)return{type:\"unaccepted\",chain:i,moduleId:c};for(var d=0;d<a.parents.length;d++){var l=a.parents[d],s=P[l];if(s){if(s.hot._declinedDependencies[c])return{type:\"declined\",chain:i.concat([l]),moduleId:c,parentId:l};-1===n.indexOf(l)&&(s.hot._acceptedDependencies[c]?(r[l]||(r[l]=[]),f(r[l],[c])):(delete r[l],n.push(l),t.push({chain:i.concat([l]),id:l})))}}}}return{type:\"accepted\",moduleId:e,outdatedModules:n,outdatedDependencies:r}}function f(e,n){for(var r=0;r<n.length;r++){var t=n[r];-1===e.indexOf(t)&&e.push(t)}}n=n||{};var v={},b=[],m={},w=function(){console.warn(\"[HMR] unexpected require(\"+j.moduleId+\") to disposed module\")};for(var _ in h)if(Object.prototype.hasOwnProperty.call(h,_)){var j;l=g(_);var D=!1,E=!1,H=!1,I=\"\";switch((j=h[_]?s(l):{type:\"disposed\",moduleId:_}).chain&&(I=\"\\nUpdate propagation: \"+j.chain.join(\" -> \")),j.type){case\"self-declined\":n.onDeclined&&n.onDeclined(j),n.ignoreDeclined||(D=new Error(\"Aborted because of self decline: \"+j.moduleId+I));break;case\"declined\":n.onDeclined&&n.onDeclined(j),n.ignoreDeclined||(D=new Error(\"Aborted because of declined dependency: \"+j.moduleId+\" in \"+j.parentId+I));break;case\"unaccepted\":n.onUnaccepted&&n.onUnaccepted(j),n.ignoreUnaccepted||(D=new Error(\"Aborted because \"+l+\" is not accepted\"+I));break;case\"accepted\":n.onAccepted&&n.onAccepted(j),E=!0;break;case\"disposed\":n.onDisposed&&n.onDisposed(j),H=!0;break;default:throw new Error(\"Unexception type \"+j.type)}if(D)return p(\"abort\"),Promise.reject(D);if(E)for(l in m[l]=h[l],f(b,j.outdatedModules),j.outdatedDependencies)Object.prototype.hasOwnProperty.call(j.outdatedDependencies,l)&&(v[l]||(v[l]=[]),f(v[l],j.outdatedDependencies[l]));H&&(f(b,[j.moduleId]),m[l]=w)}var k,M=[];for(t=0;t<b.length;t++)l=b[t],P[l]&&P[l].hot._selfAccepted&&M.push({module:l,errorHandler:P[l].hot._selfAccepted});p(\"dispose\"),Object.keys(O).forEach(function(e){!1===O[e]&&function(e){delete installedChunks[e]}(e)});for(var A,S,U=b.slice();U.length>0;)if(l=U.pop(),a=P[l]){var q={},T=a.hot._disposeHandlers;for(c=0;c<T.length;c++)(r=T[c])(q);for(i[l]=q,a.hot.active=!1,delete P[l],delete v[l],c=0;c<a.children.length;c++){var R=P[a.children[c]];R&&((k=R.parents.indexOf(l))>=0&&R.parents.splice(k,1))}}for(l in v)if(Object.prototype.hasOwnProperty.call(v,l)&&(a=P[l]))for(S=v[l],c=0;c<S.length;c++)A=S[c],(k=a.children.indexOf(A))>=0&&a.children.splice(k,1);for(l in p(\"apply\"),o=y,m)Object.prototype.hasOwnProperty.call(m,l)&&(e[l]=m[l]);var N=null;for(l in v)if(Object.prototype.hasOwnProperty.call(v,l)&&(a=P[l])){S=v[l];var C=[];for(t=0;t<S.length;t++)if(A=S[t],r=a.hot._acceptedDependencies[A]){if(-1!==C.indexOf(r))continue;C.push(r)}for(t=0;t<C.length;t++){r=C[t];try{r(S)}catch(e){n.onErrored&&n.onErrored({type:\"accept-errored\",moduleId:l,dependencyId:S[t],error:e}),n.ignoreErrored||N||(N=e)}}}for(t=0;t<M.length;t++){var L=M[t];l=L.module,d=[l];try{x(l)}catch(e){if(\"function\"==typeof L.errorHandler)try{L.errorHandler(e)}catch(r){n.onErrored&&n.onErrored({type:\"self-accept-error-handler-errored\",moduleId:l,error:r,originalError:e}),n.ignoreErrored||N||(N=r),N||(N=e)}else n.onErrored&&n.onErrored({type:\"self-accept-errored\",moduleId:l,error:e}),n.ignoreErrored||N||(N=e)}}return N?(p(\"fail\"),Promise.reject(N)):(p(\"idle\"),new Promise(function(e){e(b)}))}var P={};function x(n){if(P[n])return P[n].exports;var t=P[n]={i:n,l:!1,exports:{},hot:function(e){var n={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:r!==e,active:!0,accept:function(e,r){if(void 0===e)n._selfAccepted=!0;else if(\"function\"==typeof e)n._selfAccepted=e;else if(\"object\"==typeof e)for(var t=0;t<e.length;t++)n._acceptedDependencies[e[t]]=r||function(){};else n._acceptedDependencies[e]=r||function(){}},decline:function(e){if(void 0===e)n._selfDeclined=!0;else if(\"object\"==typeof e)for(var r=0;r<e.length;r++)n._declinedDependencies[e[r]]=!0;else n._declinedDependencies[e]=!0},dispose:function(e){n._disposeHandlers.push(e)},addDisposeHandler:function(e){n._disposeHandlers.push(e)},removeDisposeHandler:function(e){var r=n._disposeHandlers.indexOf(e);r>=0&&n._disposeHandlers.splice(r,1)},check:_,apply:E,status:function(e){if(!e)return u;s.push(e)},addStatusHandler:function(e){s.push(e)},removeStatusHandler:function(e){var n=s.indexOf(e);n>=0&&s.splice(n,1)},data:i[e]};return r=void 0,n}(n),parents:(a=d,d=[],a),children:[]};return e[n].call(t.exports,t,t.exports,l(n)),t.l=!0,t.exports}x.m=e,x.c=P,x.d=function(e,n,r){x.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},x.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},x.t=function(e,n){if(1&n&&(e=x(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(x.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var t in e)x.d(r,t,function(n){return e[n]}.bind(null,t));return r},x.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return x.d(n,\"a\",n),n},x.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},x.p=\"\",x.h=function(){return o},l(537)(x.s=537)}({537:function(e,n,r){e.exports=function(){return new Worker(r.p+\"b339297726b01d858501.worker.js\")}}});"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"l1-tensor-studio\",\n  \"version\": \"0.0.1\",\n  \"description\": \"L1: Tensor Studio\",\n  \"main\": \"index.js\",\n  \"license\": \"MIT\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/mlajtos/L1.git\"\n  },\n  \"scripts\": {\n    \"dev\": \"webpack-dev-server --content-base dist/ --mode development\",\n    \"build\": \"webpack-cli --mode production --progress\",\n    \"serve\": \"http-server -p 7171 dist/\",\n    \"clean\": \"rm -rf latest\",\n    \"move\": \"mv dist latest\",\n    \"git:add-build\": \"git add latest\",\n    \"git:commit-build\": \"git commit -m '🚀 Deploy'\",\n    \"git:push\": \"git push\",\n    \"deploy\": \"run-s build clean move git:add-build git:commit-build git:push\"\n  },\n  \"dependencies\": {\n    \"@tensorflow/tfjs\": \"^0.12.4\",\n    \"@types/lodash-es\": \"^4.17.1\",\n    \"buffer\": \"^5.2.0\",\n    \"dedent\": \"^0.7.0\",\n    \"firacode\": \"https://github.com/tonsky/FiraCode\",\n    \"fontfaceobserver\": \"^2.0.13\",\n    \"js-base64\": \"^2.4.8\",\n    \"lodash-es\": \"^4.17.10\",\n    \"mnist\": \"^1.1.0\",\n    \"monaco-editor\": \"^0.13.1\",\n    \"normalize.css\": \"^8.0.0\",\n    \"numeral\": \"^2.0.6\",\n    \"ohm-js\": \"0.14.0\",\n    \"ramda\": \"^0.25.0\",\n    \"react\": \"16.4.2\",\n    \"react-dom\": \"16.4.2\",\n    \"rxjs\": \"^6.2.2\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.0.0-beta.55\",\n    \"@babel/plugin-proposal-class-properties\": \"^7.0.0-beta.55\",\n    \"@babel/plugin-syntax-dynamic-import\": \"^7.0.0-beta.55\",\n    \"@babel/plugin-transform-runtime\": \"^7.0.0-beta.55\",\n    \"@babel/polyfill\": \"^7.0.0-beta.55\",\n    \"@babel/preset-env\": \"^7.0.0-beta.55\",\n    \"@babel/preset-react\": \"^7.0.0-beta.55\",\n    \"@babel/runtime\": \"^7.0.0-beta.55\",\n    \"babel-loader\": \"^8.0.0-beta.4\",\n    \"buffer-loader\": \"^0.0.1\",\n    \"css-loader\": \"^1.0.0\",\n    \"favicons-webpack-plugin\": \"^0.0.9\",\n    \"file-loader\": \"^1.1.11\",\n    \"html-webpack-plugin\": \"^3.2.0\",\n    \"loader-utils\": \"^1.1.0\",\n    \"node-sass\": \"^4.9.2\",\n    \"npm-run-all\": \"^4.1.3\",\n    \"raw-loader\": \"^0.5.1\",\n    \"react-hot-loader\": \"^4.3.4\",\n    \"sass-loader\": \"^7.1.0\",\n    \"style-loader\": \"^0.21.0\",\n    \"url-loader\": \"^1.0.1\",\n    \"webpack\": \"^4.16.3\",\n    \"webpack-bundle-analyzer\": \"^2.13.1\",\n    \"webpack-cli\": \"^3.1.0\",\n    \"webpack-dev-server\": \"^3.1.5\",\n    \"worker-loader\": \"^2.0.0\"\n  }\n}\n"
  },
  {
    "path": "src/__tests__/0-tensor_literals/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport assert from \"assert\"\n\nimport Evaluator from \"../../components/Evaluator\"\n\nconst source = `\na: 1\n`\n\nconst evaluationResult = Evaluator.evaluateSync(source)\nconst actual = evaluationResult.computedValues\n\nconst expected = {\n    a: tf.scalar(1)\n}\n\nassert.equal(\n    actual.a.dataSync().toString(),\n    expected.a.dataSync().toString(),\n    \"Equality of a scalar literal\"\n)\n\n"
  },
  {
    "path": "src/components/Board/Code/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport monaco from \"../../MonacoEditor\"\n\nimport \"./style.sass\"\n\nexport default class Code extends PureComponent {\n    state = {\n        colorizedValue: null,\n    }\n    static defaultProps = {\n        language: \"L1\"\n    }\n    _mounted = false\n    colorize = async (value) => {\n        const stringValue = \"\" + value\n        const colorizedValue = await monaco.editor.colorize(stringValue, this.props.language)\n        if (this._mounted) {\n            this.setState({ colorizedValue })\n        }\n    }\n    componentDidUpdate() {\n        this.colorize(this.props.children)\n    }\n    componentDidMount() {\n        this._mounted = true\n        this.colorize(this.props.children)\n    }\n    componentWillUnmount() {\n        this._mounted = false\n    }\n    render() {\n        if (!this.state.colorizedValue) {\n            return <div className=\"codeHighlight\">{this.props.children}</div>\n        } else {\n            return <div className=\"codeHighlight\" dangerouslySetInnerHTML={{__html: this.state.colorizedValue}} />\n        }\n    }\n\n}"
  },
  {
    "path": "src/components/Board/Code/style.sass",
    "content": ".codeHighlight\n    font-family: \"Fira Code\""
  },
  {
    "path": "src/components/Board/Error/index.js",
    "content": "import React from \"react\"\n\nimport PropertyWrapper from \"../PropertyWrapper\"\n\nimport \"./style.sass\"\n\nexport default (props) => (\n    <PropertyWrapper {...props} type=\"error\" symbol=\"🚫\">\n        <div className=\"error-content\">{props.data.message}</div>\n    </PropertyWrapper>\n)"
  },
  {
    "path": "src/components/Board/Error/style.sass",
    "content": ".property.error\n    background: #fadcd9\n    border-color: hsl(3, 36%, 73%)\n\n.error-content\n    color: #7d2116"
  },
  {
    "path": "src/components/Board/Function/index.js",
    "content": "import React from \"react\"\n\nimport PropertyWrapper from \"../PropertyWrapper\"\n\nimport \"./style.sass\"\n\nexport default (props) => (\n    <PropertyWrapper {...props} type=\"function\" symbol=\"λ => λ\">\n        <div className=\"function-content\">λ</div>\n    </PropertyWrapper>\n)"
  },
  {
    "path": "src/components/Board/Function/style.sass",
    "content": ".function-content\n    font-size: xx-large\n    text-align: center\n    align-self: center\n    flex: 1\n    color: darkgray"
  },
  {
    "path": "src/components/Board/Markdown/index.js",
    "content": "import React, { PureComponent } from \"react\"\nimport { isString } from \"lodash-es\"\nimport { Base64 } from \"js-base64\"\n\nimport monaco, { renderMarkdown } from \"../../MonacoEditor\"\n\nimport \"./style.sass\"\n\nconst markdownToHTML = (value) => {\n    const result = renderMarkdown({\n        value\n    }, {\n        inline: false,\n        codeBlockRenderer: async function (languageAlias = \"L1\", value) {\n            const codeblock = await monaco.editor.colorize(value, languageAlias)\n\n            return `\n                <div class=\"codeContainer\">\n                    <button class=\"runButton\" onclick=\"loadCode('${Base64.encode(value)}')\">Run</button>\n                    ${codeblock}\n                </div>\n            `\n        }\n    })\n    return result\n}\n\nexport default class Markdown extends PureComponent {\n    _containerElement = null\n    _colorizedElement = null\n\n    colorize = async (value) => {\n        if (!this._containerElement) {\n            return\n        }\n\n        if (!isString(value)) {\n            return\n        }\n        const stringValue = \"\" + value\n\n        const colorizedElement = markdownToHTML(stringValue)\n\n        if (this._colorizedElement) {\n            this._containerElement.replaceChild(colorizedElement, this._colorizedElement)\n        } else {\n            this._containerElement.appendChild(colorizedElement)\n        }\n\n        this._colorizedElement = colorizedElement\n\n    }\n    componentDidUpdate() {\n        this.colorize(this.props.children)\n    }\n    componentDidMount() {\n        this._mounted = true\n        this.colorize(this.props.children)\n    }\n    componentWillUnmount() {\n        this._mounted = false\n    }\n    render() {\n        return <div ref={e => this._containerElement = e} className=\"property markdown\" />\n    }\n\n}"
  },
  {
    "path": "src/components/Board/Markdown/style.sass",
    "content": ".markdown\n    font-family: \"Helvetica Neue\", \"Helvetica\", \"Segoe UI\", Arial, sans-serif\n    width: 100%\n    grid-column-start: 1\n    grid-column-end: -1\n    display: block\n    line-height: 1.5em\n    box-sizing: border-box\n    padding: 15px\n\n    &:hover\n        background-color: white !important\n\n    > *\n        width: 100%\n        box-sizing: border-box\n\n    h1, h2, h3, h4, h5, h6\n        margin-top: 24px\n        margin-bottom: 16px\n        font-weight: 600\n        line-height: 1.25\n\n        &:first-child\n            margin-top: 0\n\n    h1\n        font-size: 1.8em\n\n    h1, h2\n        padding-bottom: 0.3em\n        border-bottom: 1px solid #eaecef\n    .code, code\n        font-family: \"Fira Code\"\n        padding: 0.5em 1em\n        margin: 0.5em 0\n        font-size: 85%\n        background-color: #f6f8fa\n        overflow: auto\n        border-radius: 5px\n        position: relative\n\n    code\n        padding: 0.3em\n        margin: initial\n\n    ol, ul\n        padding-left: 2em\n\n    blockquote\n        margin: 0\n        margin-left: 15px\n        padding: 0 1em\n        color: #6a737d\n        border-left: 0.25em solid #dfe2e5\n\n.codeContainer\n    .runButton\n        position: absolute\n        right: 0\n        top: 0\n        right: 0\n        bottom: 0\n        vertical-align: top\n        border-radius: 0 8px 8px 0\n        border: 1px solid darkgray\n        background-color: #eee\n        padding: 0 1em\n        font-size: 1.1em\n        cursor: pointer\n        font-weight: bold\n        color: #333\n        outline: none\n        background-color: rgba(0, 160, 236, 0.05)\n        border-color: rgba(15, 143, 255, 0.69)\n        color: rgba(15, 143, 255, 0.69)\n        mix-blend-mode: multiply\n        border-width: 0\n        &:hover\n            filter: invert(1)"
  },
  {
    "path": "src/components/Board/Object/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport { get, has } from \"lodash-es\"\n\nimport ObjectProperty from \"../ObjectProperty\"\nimport PropertyWrapper from \"../PropertyWrapper\"\nimport Markdown from \"../Markdown\"\nimport Symbols from \"../../Interpreter/symbols\"\n\nimport \"./style.sass\"\n\nconst _m = Symbols.meta\nconst _doc = Symbols.doc\n\n/*\n    `Object.betterEntries(obj)` returns array of triplets [value, key, obj],\n    so it is aligned with `Array.filter` and `Array.map` with signatures\n    of [elem, index, array]\n*/\n\nObject.betterEntries = (obj) => {\n    const entries = Object.entries(obj)\n    return entries.map(([key, value]) => [value, key, obj])\n}\n\n// use _.get\nconst isSilent = ([value, key, props]) => !(props[_m] && props[_m][key] && props[_m][key].silent)\n\nexport default class ObjectVis extends PureComponent {\n    render() {\n        const { data } = this.props\n\n        const props = Object.betterEntries(data)\n            .filter(isSilent)\n            .map(([value, key, props]) => {\n                // use _.get\n                const _meta = (props[_m] && props[_m][key]) ? props[_m][key] : null\n\n                return (\n                    <ObjectProperty {...{\n                        key,\n                        name: key,\n                        data: value,\n                        _meta\n                    }} />\n                )\n            })\n\n        const hasDoc = data.hasOwnProperty(Symbols.doc)\n        const doc = hasDoc ? <Markdown>{data[_doc]}</Markdown> : null\n\n        return (\n            <PropertyWrapper type=\"object\" symbol=\"{}\" {...this.props}>\n                <div className=\"properties\">\n                    {doc}\n                    {props}\n                </div>\n            </PropertyWrapper>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/Object/style.sass",
    "content": ".properties\n    display: grid\n    flex: 1\n    overflow: auto\n    grid-template-columns: repeat(auto-fit, minmax(14em, 1fr))\n    grid-gap: 0.5em\n    grid-auto-flow: dense\n    align-items: stretch\n\n.property.object\n    grid-column-start: 1\n    grid-column-end: -1\n\n.property.unknown\n    $opacity: 0.5\n    $color1: rgba(darkgray, $opacity)\n    $color2: rgba(lightgray, $opacity)\n    mix-blend-mode: normal\n    background: repeating-linear-gradient(135deg, $color1, $color1 20px, $color2 20px, $color2 40px)\n    background-size: 56px 56px\n    animation: danger linear 2s infinite\n\n\n@keyframes danger\n    0%\n        background-position: 0 0\n    100%\n        background-position: 56px 0"
  },
  {
    "path": "src/components/Board/ObjectProperty/index.js",
    "content": "import React, { PureComponent } from \"react\"\nimport * as tf from \"@tensorflow/tfjs-core\"\nimport { isObject, isFunction, stubTrue, isString, isNumber, isBoolean } from \"lodash-es\"\nimport { Observable } from \"rxjs\"\n\nimport TensorVis from \"../Tensor\"\nimport ScalarVis from \"../Scalar\"\nimport FunctionVis from \"../Function\"\nimport UnknownVis from \"../Unknown\"\nimport PromiseVis from \"../Promise\"\nimport ObservableVis from \"../Observable\"\nimport ObjectVis from \"../Object\"\nimport ErrorVis from \"../Error\"\n\nimport PropertyWrapper from \"../PropertyWrapper\"\n\nconst isUndefined = (value) => (value === undefined)\nconst isNull = (value) => (value === null)\nconst isPromise = (value) => (value.toString() === \"[object Promise]\")\nconst isTensor = (value) => value instanceof tf.Tensor\nconst isScope = (value) => (isObject(value) && !isPromise(value))\nconst isError = (value) => value instanceof Error\nconst isObservable = (value) => value instanceof Observable\n\nconst StringVis = (props) => (\n    <PropertyWrapper {...props} type=\"string\" symbol={\"\\\"abc\\\"\"}>\n        <div>{props.data}</div>\n    </PropertyWrapper>\n)\n\nconst NumberVis = (props) => (\n    <PropertyWrapper {...props} type=\"number\" symbol=\"123\">\n        <div>{props.data}</div>\n    </PropertyWrapper>\n)\n\nconst BooleanVis = (props) => (\n    <PropertyWrapper {...props} type=\"boolean\" symbol=\"0/1\">\n        <div>{props.data ? \"True\" : \"False\"}</div>\n    </PropertyWrapper>\n)\n\nconst UndefinedVis = (props) => (\n    <PropertyWrapper {...props} type=\"undefined\" symbol=\"()\">\n    </PropertyWrapper>\n)\n\nconst NullVis = (props) => (\n    <PropertyWrapper {...props} type=\"null\" symbol=\"NULL\" />\n)\n\nexport default class ObjectProperty extends PureComponent {\n    visualizations = [\n        [isUndefined,   UndefinedVis  ],\n        [isNull,        NullVis       ],\n        [isBoolean,     BooleanVis    ],\n        [isError,       ErrorVis      ],\n        [isString,      StringVis     ],\n        [isNumber,      NumberVis     ],\n        [isTensor,      TensorVis     ],\n        [isFunction,    FunctionVis   ],\n        [isObservable,  ObservableVis ],\n        [isScope,       ObjectVis     ],\n        [isPromise,     PromiseVis    ],\n        [stubTrue,      UnknownVis    ],\n    ]\n    valueToVis = value => this.visualizations.find(([cond, result]) => cond(value))[1]\n    render() {\n        const Component = this.valueToVis(this.props.data)\n        return (\n            <Component {...this.props} />\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/Observable/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport ObjectProperty from \"../ObjectProperty\"\n\nimport \"./style.sass\"\n\nexport default class Observable extends PureComponent {\n    state = {\n        data: null,\n        value: undefined,\n        error: undefined,\n        completed: false\n    }\n    _mounted = false\n    onNext = (value) => this.setState({ value, error: undefined })\n    onError = (error) => this.setState({ value: undefined, error })\n    onCompleted = () => this.setState({ completed: true })\n\n    componentDidMount() {\n        this._mounted = true\n        this.subscription = this.props.data.subscribe(this.onNext, this.onError, this.onCompleted)\n    }\n\n    static getDerivedStateFromProps(nextProps, prevState) {\n        if (nextProps.data !== prevState.data) {\n            return {\n                data: nextProps.data\n            }\n        }\n\n        return null\n    }\n\n    componentDidUpdate = (prevProps, prevState) => {\n        if (prevState.data !== this.state.data) {\n            this.subscription.unsubscribe()\n            this.subscription = this.state.data.subscribe(this.onNext, this.onError, this.onCompleted)\n        }\n    }\n\n    componentWillUnmount() {\n        this._mounted = false\n        this.subscription.unsubscribe()\n    }\n\n    render = () => (\n        <div className={\"observable \" + (this.state.error ? \"error\" : \"\")}>\n            <ObjectProperty {...this.props} data={this.state.error || this.state.value} />\n        </div>\n    )\n}"
  },
  {
    "path": "src/components/Board/Observable/style.sass",
    "content": ".observable\n    //border: 1px solid red\n    border-radius: 5px\n    padding: 1px\n    display: flex\n\n    &.error\n        //border: 3px solid red"
  },
  {
    "path": "src/components/Board/Promise/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport ObjectProperty from \"../ObjectProperty\"\n\nimport \"./style.sass\"\n\nexport default class Promise extends PureComponent {\n    state = {\n        data: null,\n        resolved: false\n    }\n    _mounted = false\n    \n    resolve() {\n        this.props.data.then(data => {\n            if (this._mounted) {\n                this.setState({\n                    data,\n                    resolved: true\n                })\n            }\n        })\n    }\n\n    componentDidMount() {\n        this._mounted = true\n        this.resolve()\n    }\n\n    componentWillUnmount() {\n        this._mounted = false\n    }\n\n    componentDidUpdate(prevProps) {\n        if (prevProps.data !== this.props.data) {\n            this.setState({\n                resolved: false\n            })\n            this.resolve()\n        }\n    }\n\n    render() {\n        return (\n            <div className={\"promise \" + (this.state.resolved ? \"resolved\" : \"unresolved\")}>\n                <ObjectProperty {...this.props} data={this.state.data} />\n            </div>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/Promise/style.sass",
    "content": ".promise\n    display: contents\n    > *\n        transition: filter 0.3s, box-shadow 0.3s\n    &.resolved\n        > *\n            filter: none\n    &.unresolved\n        > *\n            filter: saturate(0) invert(0.05) opacity(0.5)\n            box-shadow: inset 0 0 20px 0px #bfbfbf\n            animation: 2s infinite pulse\n            animation-delay: 1s\n            cursor: wait\n\n@keyframes pulse\n    0%\n        box-shadow: inset 0 0 20px 0px #bfbfbf\n    50%\n        box-shadow: inset 0 0 20px 10px #bfbfbf\n    100%\n        box-shadow: inset 0 0 20px 0px #bfbfbf"
  },
  {
    "path": "src/components/Board/PropertyWrapper/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport Code from \"../Code\"\n\nimport \"./style.sass\"\n\nexport default class PropertyWrapper extends PureComponent {\n    onMouseOver = (e) => {\n        // console.log(this.props.source)\n    }\n    render() {\n\n        const name = this.props.name || \"\"\n        const symbol = this.props.symbol || \"\"\n        const type = this.props.type || \"\"\n\n        return (\n            <div className={`property ${type}`} onMouseOver={this.onMouseOver}>\n                <div className=\"header\">\n                    <div className=\"cell name\">\n                        <Code>{name}</Code>\n                    </div>\n                    <div className=\"cell symbol\">\n                        <Code>{symbol}</Code>\n                    </div>\n                </div>\n                <div className=\"content\">\n                    {this.props.children}\n                </div>\n            </div>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/PropertyWrapper/style.sass",
    "content": ".property\n    display: grid\n    grid-template-rows: max-content\n    font-family: \"Fira Code\"\n    padding: 0.5em\n    background-color: white\n    border-radius: 5px\n    box-sizing: border-box\n    border: 1px solid lightgray\n    flex: 1\n\n    &:hover, &:focus-within\n        background-color: rgba(0, 160, 236, 0.05)\n        border-color: hsla(208, 100%, 53%, 0.69)\n        mix-blend-mode: screen\n\n    .header\n        display: flex\n        flex-direction: row\n        text-align: left\n        margin-bottom: 0.1em\n        .cell\n            flex: 1\n            &.symbol\n                text-align: right\n                font-size: 0.6em\n                display: flex\n                align-items: center\n                justify-content: flex-end\n                flex: none\n    .content\n        // overflow: hidden\n        display: flex\n"
  },
  {
    "path": "src/components/Board/Scalar/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport Code from \"../Code\"\nimport { formatNumber } from \"../Tensor\"\n\nimport \"./style.sass\"\n\nexport default class ScalarVis extends PureComponent {\n    state = {\n        numericValue: 0\n    }\n    static getDerivedStateFromProps(nextProps, prevState) {\n        return {\n            numericValue: nextProps.data.dataSync()[0]\n        }\n    }\n    onKeyDown = (e) => {\n        console.log(e)\n        let delta = 1\n\n        if (e.key === \"ArrowUp\") {\n\n        } else if (e.key === \"ArrowDown\") {\n            delta *= -1\n        } else {\n            return\n        }\n\n        e.preventDefault()\n\n        if (e.metaKey) {\n            delta *= 100\n        }\n        if (e.shiftKey) {\n            delta *= 10\n        }\n        if (e.altKey) {\n            delta *= 0.1\n        }\n\n        const newValue = this.state.numericValue + delta\n\n        this.setState({\n            numericValue: newValue\n        })\n    }\n    render() {\n        return (\n            <div className=\"property scalar-input\" tabIndex=\"0\" onKeyDown={this.onKeyDown}>\n                <Code>\n                    {formatNumber(this.state.numericValue)}\n                </Code>\n            </div>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/Scalar/style.sass",
    "content": ".scalar-input\n    flex: 1\n    position: relative\n    font-size: larger\n    max-height: 2em\n\n    &:hover\n        background-color: rgba(0, 160, 236, 0.05)\n        mix-blend-mode: screen\n        border-color: rgba(15, 143, 255, 1)\n        cursor: pointer\n\n    &:focus\n        outline: none\n        background-color: white !important\n        border-color: rgba(15, 143, 255, 1) !important\n\n        &:after\n            content: \"↑↓\"\n            position: absolute\n            right: 0.5em\n            height: 1em\n            top: 0\n            bottom: 0\n            font-size: smaller\n            color: #9e9e9e\n            margin: auto"
  },
  {
    "path": "src/components/Board/Tensor/CanvasTensor/index.js",
    "content": "import React, { PureComponent } from \"react\"\nimport { isFunction } from \"lodash-es\"\n\nimport { normalizeTensor } from \"../index\"\n\nimport \"./style.sass\"\n\nexport default class CanvasTensor extends PureComponent {\n    canvas = null\n    _mount = (el) => {\n        this.canvas = el\n        if (this.canvas) {\n            this._draw(this.props.data)\n        }\n    }\n\n    _draw = async (tensor) => {\n        const canvas = this.canvas\n        const context = canvas.getContext(\"2d\")\n\n        const rank = tensor.rank\n        const fn = this[`_createImageData${rank}D`]\n        if (!isFunction(fn)) {\n            throw Error(`Drawing function is not available.`)\n        }\n\n        const imageData = await fn(tensor, context)\n\n        // console.log(imageData)\n\n        canvas.width = imageData.width\n        canvas.height = imageData.height\n\n        window.requestAnimationFrame(() => context.putImageData(imageData, 0, 0))\n    }\n    _createImageData0D = async (tensor, context) => {\n        const imageData = context.createImageData(1, 1)\n        return imageData\n    }\n    _createImageData1D = async (tensor, context) => {\n        let [height, width] = ((tensorShape) => {\n            const [w = 1, h = 1] = tensorShape\n            return [h, w]\n        })(tensor.shape)\n\n        const imageData = context.createImageData(width, height)\n\n        const normalized = await normalizeTensor(tensor)\n        const data = await normalized.data()\n\n        for (let i = 0; i < tensor.size; i++) {\n            const j = i * 4\n            const v = Math.round(data[i])\n            const valid = !isNaN(v)\n            imageData.data[j + 0] = valid ? v : 255\n            imageData.data[j + 1] = valid ? v : 0\n            imageData.data[j + 2] = valid ? v : 0\n            imageData.data[j + 3] = 255\n        }\n\n        return imageData\n    }\n    _createImageData2D = async (tensor, context) => {\n        let [height, width] = ((tensorShape) => {\n            const [h = 1, w = 1] = tensorShape\n            return [h, w]\n        })(tensor.shape)\n\n        const imageData = context.createImageData(width, height)\n\n        const normalized = await normalizeTensor(tensor)\n        const data = await normalized.data()\n\n        for (let i = 0; i < tensor.size; i++) {\n            const j = i * 4\n            const v = Math.round(data[i])\n            const valid = !isNaN(v)\n            imageData.data[j + 0] = valid ? v : 255\n            imageData.data[j + 1] = valid ? v : 0\n            imageData.data[j + 2] = valid ? v : 0\n            imageData.data[j + 3] = 255\n        }\n\n        return imageData\n    }\n    _createImageData3D = async (tensor, context) => {\n        return this._createImageData2D(tensor, context)\n    }\n    componentDidUpdate(prevProps, prevState) {\n        this._draw(this.props.data)\n    }\n    render() {\n        return (\n            <div className=\"canvas\">\n                <canvas className=\"tensor-canvas\" ref={this._mount} />\n            </div>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/Tensor/CanvasTensor/style.sass",
    "content": "div.canvas\n    flex: 1\n    align-items: center\n    justify-content: center\n    display: flex\n    .tensor-canvas\n        image-rendering: pixelated\n        box-sizing: border-box\n        margin: 0.2em\n        filter: drop-shadow(0px 0px 1px darkgray)\n        object-fit: fill\n        min-width: 75%\n        max-width: 100%\n        max-height: 200px\n        min-height: 100%"
  },
  {
    "path": "src/components/Board/Tensor/Stats/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport Code from \"../../Code\"\n\nimport { formatNumber } from \"..\"\n\nimport \"./style.sass\"\n\nexport default class Stats extends PureComponent {\n    state = {\n        data: null,\n        min: 0,\n        max: 0,\n        mean: 0,\n        computing: false,\n        revisionId: 0\n    }\n    static getDerivedStateFromProps(nextProps, prevState) {\n        if (nextProps.data === prevState.data && nextProps.revisionId === prevState.revisionId) {\n            return null\n        }\n\n        const newState = {\n            data: nextProps.data,\n            revisionId: nextProps.revisionId,\n            computing: true\n        }\n\n        return newState\n    }\n    componentDidMount() {\n        this.updateStats()\n        this._mounted = true\n    }\n    componentWillUnmount() {\n        this._mounted = false\n    }\n    componentDidUpdate(prevProps, prevState) {\n        if (prevState.data !== this.state.data || prevState.revisionId !== this.state.revisionId) {\n            this.updateStats()\n        }\n    }\n    async updateStats() {\n        const updatedState = {\n            min: (await this.props.data.min().data())[0],\n            max: (await this.props.data.max().data())[0],\n            mean: (await this.props.data.mean().data())[0],\n            computing: false\n        }\n        \n        if (this._mounted) {\n            this.setState(updatedState)\n        }\n    }\n    render() {\n        return (\n            <div className=\"info\">\n                <Field name=\"Shape\">\n                    {\"[\" + this.state.data.shape.map(formatNumber).join(\" \") + \"]\"}\n                </Field>\n                <Field name=\"Size\">\n                    {formatNumber(this.state.data.size)}\n                </Field>\n                <Field name=\"Rank\">\n                    {formatNumber(this.state.data.rank)}\n                </Field>\n                <Field name=\"Mean\">\n                    {formatNumber(+this.state.mean)}\n                </Field>\n                <Field name=\"Range\">\n                    {formatNumber(this.state.max - this.state.min)}\n                </Field>\n                <Field name=\"Min\">\n                    {formatNumber(+this.state.min)}\n                </Field>\n                <Field name=\"Max\">\n                    {formatNumber(+this.state.max)}\n                </Field>\n                {/* { this.state.computing ? \"Computing...\" : null} */}\n            </div>\n        )\n    }\n}\n\nconst Field = ({ name, children }) => (\n    <div className=\"field\">\n        <div className=\"label\">\n            <Code>{name}</Code>\n        </div>\n        <div className=\"value\">\n            <Code>{children}</Code>\n        </div>\n    </div>\n)"
  },
  {
    "path": "src/components/Board/Tensor/Stats/style.sass",
    "content": ".info\n    margin-left: 0.5em\n    flex: 1\n    .field\n        font-size: smaller\n        display: flex\n        align-items: baseline\n        .label, .value\n            flex: 1\n\n        .value\n            text-align: right\n            white-space: pre\n            font-size: smaller"
  },
  {
    "path": "src/components/Board/Tensor/SvgTensor/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport { normalizeTensor, formatNumber } from \"../index\"\n\nimport \"./style.sass\"\n\nexport default class SvgTensor extends PureComponent {\n    render = () => {\n        const { props } = this\n\n        const [height, width] = ((tensorShape) => {\n            if (tensorShape.length === 2) {\n                const [h = 1, w = 1] = tensorShape\n                return [h, w]\n            } else {\n                const [w = 1] = tensorShape\n                return [1, w]\n            }\n            \n        })(props.data.shape)\n\n        const normalized = normalizeTensor(props.data)\n        const normalizedData = normalized.dataSync()\n        const data = props.data.dataSync()\n\n        const size = props.data.size\n\n        const tileHeight = 40\n        const tileWidth = 40\n\n        const svgWidth = tileWidth * width\n        const svgHeight = tileHeight * height\n\n        return (\n                <svg className=\"svg-tensor\" viewBox={`0 0 ${svgWidth} ${svgHeight}`}>\n                    <g>\n                    {\n                        Array.from({ length: size }, (_, i) => {\n\n                            const color = normalizedData[i]\n                            const bgColor = `rgb(${color}, ${color}, ${color})`\n                            const inverseRoundedValue = color > 128 ? 0 : 255\n                            const fgColor = `rgb(${inverseRoundedValue}, ${inverseRoundedValue}, ${inverseRoundedValue})`\n                            const dx = tileWidth * (i % width)\n                            const dy = tileHeight * Math.floor(i / width)\n\n                            return (\n                                <g key={i} transform={`translate(${dx}, ${dy})`}>\n                                    <rect width={tileWidth} height={tileHeight} fill={bgColor} />\n                                    <text x={tileWidth / 2} y={tileHeight / 2} textAnchor=\"middle\" dominantBaseline=\"central\" fill={fgColor}>{formatNumber(data[i], 1)}</text>\n                                </g>\n                            )\n                        })\n                    }\n                    </g>\n                </svg>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/Tensor/SvgTensor/style.sass",
    "content": "svg.svg-tensor\n    margin: 0.2em\n    filter: drop-shadow(0px 0px 1px darkgray)\n    min-height: 10px\n    max-height: 200px\n    min-width: 100%\n    max-width: 100%\n\n    text\n        font-size: 0.8em"
  },
  {
    "path": "src/components/Board/Tensor/index.js",
    "content": "import React, { PureComponent } from \"react\"\nimport * as tf from \"@tensorflow/tfjs-core\"\n\nimport { repeat } from \"lodash-es\"\nimport numeral from \"numeral\"\n\nimport ScalarVis from \"../Scalar\"\nimport PropertyWrapper from \"../PropertyWrapper\"\nimport SvgTensor from \"./SvgTensor\"\nimport CanvasTensor from \"./CanvasTensor\"\n\nimport Stats from \"./Stats\"\n\nimport \"./style.sass\"\n\nexport default class Tensor extends PureComponent {\n    state = {\n        isVariable: false,\n        data: null,\n        revisionId: 0\n    }\n    static getDerivedStateFromProps(nextProps, prevState) {\n        if (nextProps.data !== prevState.data) {\n            const isVariable = (nextProps.data instanceof tf.Variable)\n            const symbol = (isVariable ? \"$\" : \"\") + \"[]\"\n            return {\n                data: nextProps.data,\n                isVariable,\n                symbol,\n                revisionId: prevState.revisionId\n            }\n        }\n\n        return null\n    }\n    componentDidMount() {\n        if (this.state.isVariable) {\n            this.state.data.subscribe(this.update)\n        }\n    }\n    componentDidUpdate(prevProps) {\n        if (prevProps.data !== this.props.data) {\n            if (prevProps.data instanceof tf.Variable) {\n                prevProps.data.unsubscribe(this.update)\n            }\n            if (this.state.isVariable) {\n                this.state.data.subscribe(this.update)\n            }\n        }\n    }\n    componentWillUnmount() {\n        if (this.state.isVariable) {\n            this.state.data.unsubscribe(this.update)\n        }\n    }\n    update = () => {\n        this.setState({\n            revisionId: this.state.revisionId + 1\n        })\n    }\n    render() {\n        if (!this.state.data) {\n            return null\n        }\n\n        const isEmpty = (this.state.data.size === 0)\n        const isScalar = (this.state.data.rank === 0)\n        const Component =\n            isEmpty\n                ? EmptyTensor\n                : isScalar\n                    ? ScalarVis\n                    : GenericTensor\n\n        return (\n            <PropertyWrapper {...this.props} type={\"tensor \" + (isScalar ? \"scalar\" : \"\")} symbol={this.state.symbol}>\n                <Component data={this.state.data} revisionId={this.state.revisionId} />\n            </PropertyWrapper>\n        )\n    }\n}\n\nconst EmptyTensor = (props) => (\n    <div>Empty tensor</div>\n)\n\nclass GenericTensor extends PureComponent {\n    render() {\n        const data = this.props.data\n\n        return (\n            <div className=\"tensor-content\">\n                <div className=\"visualization\">\n                    {\n                        (this.props.data.size > 25)\n                            ? <CanvasTensor key=\"canvas\" data={data} revisionId={this.props.revisionId} />\n                            : <SvgTensor data={data} />\n                    }\n                </div>\n                <Stats key=\"stats\" data={data} revisionId={this.props.revisionId} />\n            </div>\n        )\n    }\n}\n\nexport const formatNumber = (number, decimalDigits = 2) => {\n    try {\n        return numeral(number).format(`0,0.[${repeat(\"0\", decimalDigits)}]`).replace(/,/g, \"_\")\n    } catch (e) {\n        console.log(number, e)\n        return \"???\"\n    }\n}\n\nconst scaleFeatures = (t, a, b) => {\n    const min = t.min()\n    const max = t.max()\n    // a + ((r - min) / (max - min)) * (b - a))\n    return a.add(t.sub(min).div(max.sub(min)).mul(b.sub(a)))\n}\n\nexport const normalizeTensor = (tensor) => {\n    // r = (x - mu)\n    const r = tensor.sub(tensor.mean())\n    const a = tf.scalar(-1)\n    const b = tf.scalar(1)\n    const normalized = scaleFeatures(r, a, b)\n    return scaleFeatures(normalized, tf.scalar(0), tf.scalar(255))\n}"
  },
  {
    "path": "src/components/Board/Tensor/style.sass",
    "content": "div.tensor-content\n    display: flex\n    flex-direction: row\n    flex: 1\n    flex-wrap: wrap\n    align-items: center\n\n    div.visualization\n        display: flex\n        flex: 1"
  },
  {
    "path": "src/components/Board/Unknown/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport PropertyWrapper from \"../PropertyWrapper\"\n\nimport \"./style.sass\"\n\nconst Unknown = (props) => (\n    <PropertyWrapper {...props} type=\"unknown\">\n        {/* <div className=\"WestWorldQuote\">\n            Doesn't look like anything to me.\n            <pre>\n                {JSON.stringify(props.data)}\n            </pre>\n        </div> */}\n    </PropertyWrapper>\n)\n\nexport default Unknown"
  },
  {
    "path": "src/components/Board/Unknown/style.sass",
    "content": ".WestWorldQuote\n    font-size: small\n    text-align: center\n    align-self: center\n    flex: 1"
  },
  {
    "path": "src/components/Board/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport Object from \"./Object\"\nimport ObjectPropery from \"./ObjectProperty\"\n\nexport default class Board extends PureComponent {\n    render() {\n        // if (!this.props.data) {\n        //     return null\n        // }\n        \n        return (\n            <ObjectPropery data={this.props.data} type={\"panel\"} />\n        )\n    }\n}"
  },
  {
    "path": "src/components/Board/style.sass",
    "content": ""
  },
  {
    "path": "src/components/Dataset/index.js",
    "content": "\nconst loadFile = async (file) => {\n    const data = await import(\"./data/\" + file)\n    const buffer = Buffer.from(Object.values(data))\n    buffer.readUInt32BE(0) // skip magic number\n    return buffer\n}\n\nexport const loadTestLabels = async () => {\n    const buffer = await loadFile(\"t10k-labels-idx1-ubyte.bin\")\n    const length = buffer.readUInt32BE(4)\n    const labels = Array.from({ length }, (v, i) => buffer.readUInt8(8 + i))\n    return labels\n}\n\nexport const loadTestImages = async () => {\n    const buffer = await loadFile(\"t10k-images-idx3-ubyte.bin\")\n    const length = buffer.readUInt32BE(4)\n    const rows = buffer.readUInt32BE(8)\n    const cols = buffer.readUInt32BE(12)\n    console.log(rows, cols)\n    const images = Array.from({ length }, (v, i) => {\n        //const offset = 16 + Math.pow(28, 2)\n    })\n\n    return []\n\n    // return labels\n//   var images = _.range(m - n).map(function (i) {\n//     var offset = 16 + Math.pow(28, 2) * i;\n//     return _.range(28).map(function (j) {\n//       return _.range(28).map(function (k) {\n//         return buffer.readUInt8(offset + (28 * j) + k);\n//       });\n//     });\n//   });\n}"
  },
  {
    "path": "src/components/Editor/index.js",
    "content": "import React, { PureComponent } from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { isFunction } from \"lodash-es\"\nimport FontFaceObserver from \"fontfaceobserver\"\nimport { Subject } from \"rxjs\"\nimport { scan } from \"rxjs/operators\"\n\nimport \"./style.sass\"\n\nimport monaco from \"../MonacoEditor\"\n\nexport default class Editor extends PureComponent {\n    static defaultProps = {\n        onChange: () => {},\n        onExecute: () => {},\n        onSave: () => {}, \n        defaultValue: \"\",\n        language: \"L1\",\n        readOnly: false,\n        tabSize: 4\n    }\n\n    container = null\n    editor = null\n\n    decorations = []\n    viewZones = []\n    markers = []\n\n    issues = new Subject\n\n    _forced = false\n\n    _mount = async (el) => {\n        this.container = el\n        if (this.container) {\n            const font = new FontFaceObserver(\"Fira Code\")\n            font.load().then(this.instantiateEditor, (e) => {\n                console.log(\"Could not load the font\")\n            })\n        }\n    }\n    instantiateEditor = () => {\n        const config = {\n            value: this.props.content,\n            language: this.props.language,\n            theme: \"L1\",\n            fontFamily: \"Fira Code\",\n            fontSize: 16,\n            fontLigatures: true,\n            tabSize: this.props.tabSize,\n            readOnly: this.props.readOnly,\n            glyphMargin: true,\n            // lineNumbers: false,\n            lineNumbersMinChars: 2,\n            lineDecorationsWidth: 0,\n            wordWrap: \"bounded\",\n            wrappingIndent: \"indent\",\n            autoIndent: true,\n            formatOnType: true, \n            minimap: {\n                enabled: false\n            },\n            scrollBeyondLastLine: true, // good when there is multiline error message on last line\n            scrollbar: {\n                useShadows: true,\n                verticalScrollbarSize: 5,\n                vertical: \"visible\",\n                horizontalScrollbarSize: 5,\n                horizontal: \"hidden\"\n            }\n        }\n\n        this.editor = monaco.editor.create(this.container, config)\n\n        window.addEventListener(\"resize\", (e) => {\n            this.editor.layout()\n        })\n\n        this.editor.onDidChangeModelContent((e) => {\n            const fn = this.props.onChange\n            if (isFunction(fn)) {\n                const code = this.editor.getValue()\n                this.issues.next(null)\n                fn.apply(null, [code, this.editor, this.issues, this._forced])\n            }\n        })\n\n        this.editor.addAction({\n            id: \"executeCode\",\n            label: \"Execute Code\",\n            keybindings: [\n                monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter\n            ],\n            run: (editor) => {\n                const fn = this.props.onExecute\n                if (isFunction(fn)) {\n                    this.issues.next(null)\n                    fn.apply(null, [editor, this.issues])\n                }\n                return null;\n            }\n        })\n\n        this.editor.addAction({\n            id: \"save\",\n            label: \"Save\",\n            keybindings: [\n                monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S\n            ],\n            run: (editor) => {\n                const fn = this.props.onSave\n                if (isFunction(fn)) {\n                    fn()\n                }\n                return null;\n            }\n        })\n\n        this.subscribeToIssues()\n        \n        const action = this.editor.getAction(\"executeCode\")\n        action.run()\n    }\n    setDecorations = (issues) => {\n        const markers = issues.map(issueToMarker)\n        const lineDecorations = issues.map(issueToLineDecoration)\n\n        this.editor.changeViewZones(changeAccessor => {\n            this.viewZones.forEach(viewZone => changeAccessor.removeZone(viewZone))\n\n            this.viewZones = issues.map(issue => {\n                const domNode = document.createElement(\"div\")\n                this.renderIssue(issue, domNode)\n\n                return changeAccessor.addZone({\n                    afterLineNumber: issue.startLineNumber,\n                    // afterColumn: 0,\n                    heightInLines: 0,\n                    domNode\n                })\n            })\n        })\n\n        this.decorations = this.editor.deltaDecorations(this.decorations, lineDecorations)\n        monaco.editor.setModelMarkers(this.editor.getModel(), \"test\", markers)\n    }\n    subscribeToIssues() {\n        this.issues.pipe(\n            scan(\n                (acc, curr) => ((curr === null) ? [] : [...acc, curr]),\n                []\n            )\n        ).subscribe(this.setDecorations)\n    }\n    renderIssue(issue, element) {\n        ReactDOM.render(<Issue {...issue} />, element)\n    }\n    setContent(content) {\n        this._forced = true\n        this.editor.setValue(content)\n        this._forced = false\n    }\n    render() {\n        return (\n            <div className=\"editor-container\">\n                <div style={{ width: \"100%\", height: \"100%\" }} ref={this._mount} />\n            </div>\n        )\n    }\n}\n\nconst Issue = (props) => (\n    <div className={`message ${props.severity}`}><span>{props.message}</span></div>\n)\n\nconst severityTable = {\n    \"error\": monaco.Severity.Error,\n    \"warning\": monaco.Severity.Warning,\n    \"info\": monaco.Severity.Info\n}\n\nconst issueToMarker = (issue) => ({\n    startLineNumber: issue.startLineNumber,\n    startColumn: issue.startColumn,\n    endLineNumber: issue.endLineNumber,\n    endColumn: issue.endColumn,\n    message: issue.message,\n    severity: severityTable[issue.severity]\n})\n\nconst issueToLineDecoration = (issue) => ({\n    range: new monaco.Range(\n        issue.startLineNumber,\n        issue.startColumn,\n        issue.startLineNumber,\n        issue.startColumn\n    ),\n    options: {\n        isWholeLine: true,\n        className: `inlineDecoration ${issue.severity}`,\n        glyphMarginClassName: `glyphDecoration ${issue.severity}`,\n        glyphMarginHoverMessage: issue.message\n    }\n})"
  },
  {
    "path": "src/components/Editor/style.sass",
    "content": ".editor-container\n    flex: 1\n    border: 1px solid lightgray\n    border-radius: 5px\n    overflow: hidden\n\n$backgroundColor: #f6bfbb\n$hoverBackgroundColor: darken($backgroundColor, 10%)\n    \n.message\n    font-family: \"Fira Code\"\n    color: #791515\n    padding: 0 0.5em 0 0.5em\n    font-size: smaller\n    line-height: 24px\n    position: absolute\n    // overflow: hidden\n    text-overflow: ellipsis\n    right: 0\n    top: -1.8em\n    white-space: nowrap\n    max-width: 35% // should be set externaly to width of the remaining space on line\n    z-index: 1\n    display: flex\n\n    &:before\n        content: \"\"\n        width: 17px\n        height: 17px\n        position: absolute\n        left: 0\n        background: linear-gradient(45deg, $backgroundColor, $backgroundColor, $backgroundColor, transparent, transparent)\n        transform: rotate(45deg)\n        transform-origin: top left\n        border-radius: 0 0 0 3px\n\n    span\n        width: 100%\n        flex: 1\n        text-overflow: ellipsis\n        overflow: hidden\n        margin-left: 0.1em\n        z-index: 1\n\n    &:hover\n        white-space: initial\n        border-radius: 0 0 5px 5px\n        z-index: 100\n        &.error\n            background-color: $hoverBackgroundColor\n\n        &:before\n            background: $hoverBackgroundColor\n\n    &.error\n        background-color: hsla(4, 77%, 85%, 1)\n    &.warning\n        background-color: hsla(41, 79%, 85%, 1)\n\n$errorBackground: rgb(250, 220, 217)\n\n.inlineDecoration\n    &.error\n        background-color: $errorBackground\n    &.warning\n        background-color: hsla(55, 100%, 50%, 0.15)\n.glyphDecoration\n    width: 100% !important\n    &.error\n        background-color: $errorBackground\n        &:after\n            content: \"🚫\"\n            //content: \"🐞\"\n    &.warning\n        background-color: hsla(55, 100%, 50%, 0.15)\n        &:after\n            content: \"⚠️\"\n    &:after\n        font-size: small\n        margin-left: 0.3em\n        text-shadow: 0 0 0px #000000ad\n\ncanvas.decorationsOverviewRuler\n    display: none\n.vs .monaco-scrollable-element > .scrollbar > .slider\n    border-radius: 10px\n    left: -1px !important\n\n.margin-view-overlays\n    position: relative !important\n\n    .line-numbers\n        color: #6f6f6f !important\n\n    &:after\n        content: \"\"\n        position: absolute\n        top: 0\n        bottom: 0\n        right: 11px\n        left: 0\n        box-sizing: border-box\n        border-right: 1px solid lightgray\n        background-color: hsla(0, 0%, 50%, 0.05)\n        pointer-events: none\n"
  },
  {
    "path": "src/components/Evaluator/index.js",
    "content": "import Parser from \"../Parser\"\nimport Interpreter from \"../Interpreter\"\n\nclass Evaluator {\n    evaluate = async (code, env = {}, issues) => {\n        const parsingResult = await Parser.parse(code, issues)\n        const ast = parsingResult.result || undefined\n        const interpretingResult = ast ? await Interpreter.interpret(ast, env, issues) : undefined\n        const computedValues = interpretingResult ? interpretingResult.success.result || [] : {}\n\n        return {\n            code,\n            ast,\n            computedValues\n        }\n    }\n}\n\nexport default new Evaluator"
  },
  {
    "path": "src/components/Interpreter/index.js",
    "content": "import { combineLatest, of, throwError } from \"rxjs\"\nimport { map, tap, shareReplay, catchError, switchMap } from \"rxjs/operators\"\nimport { get, isFunction, isObject, set, merge, assign, hasIn } from \"lodash-es\"\n\nimport Symbols from \"./symbols\"\nimport RootEnv from \"./rootEnvironment\"\n\nclass Interpreter {\n    issues = null\n\n    rootEnv = RootEnv\n\n    interpret = (ast, env = {}, issues) => {\n        this.issues = issues\n\n        const state = of(Object.assign(Object.create(this.rootEnv), { Self: this.rootEnv }, env))\n        const result = this.processToken(ast, state)\n\n        return {\n            success: {\n                result,\n                state\n            }\n        }\n    }\n\n    processToken = (token, state) => {\n        console.log(token)\n        if (!state) { console.error(\"No state to operate on!\") }\n\n        const fn = this.tokenActions[token.type] || this.tokenActions.__unknown__\n        let result\n        try {\n            result = fn(token, state)\n        } catch (e) {\n            const issue = {\n                source: token._source || null,\n                message: e.message,\n                severity: e.severity\n            }\n\n            this.reportIssue(issue)\n            console.error(e)\n\n            result = null\n        }\n\n        return result\n    }\n\n    reportIssue({ source, message, severity = \"error\" }) {\n        const issue = {\n            ...source,\n            message,\n            severity\n        }\n        this.issues.next(issue)\n    }\n\n    catchIssue = (e, token, value) => {\n        const issue = {\n            source: token._source || null,\n            message: e.message,\n            severity: \"error\"\n        }\n\n        this.reportIssue(issue)\n        return value || of(e)\n    }\n\n    tokenActions = {\n        Program: (token, state) => {\n            let stateAcc = state.pipe(\n                tap(\n                    (state) => {\n                        console.groupCollapsed(\"State\")\n                        console.log(\"Create new state from:\", state)\n                    }\n                ),\n                map(\n                    (state) => Object.assign(\n                        Object.create(state),\n                        {\n                            [Symbols.meta]: {}\n                        }\n                    )\n                ),\n                shareReplay(),\n                tap(\n                    (state) => {\n                        console.log(\"New state:\", (state))\n                        console.groupEnd()\n                    }\n                )\n            )\n\n            token.value.forEach(token => {\n                const stateDelta = this.processToken(token, stateAcc)\n                stateAcc = combineLatest(stateAcc, stateDelta).pipe(\n                    tap(\n                        ([state, stateDelta]) => {\n                            console.groupCollapsed(\"State merge\")\n                            console.log(\"Going to merge state and stateDelta\", state, stateDelta)\n                        }\n                    ),\n                    map(\n                        ([state, stateDelta]) => {\n                            const key = Object.keys(stateDelta)[0]\n                            let newState\n                            let meta = merge(state[Symbols.meta], stateDelta[Symbols.meta])\n                            if (state.hasOwnProperty(key)) {\n                                newState = merge(state, stateDelta)\n                            } else {\n                                // newState = assign(state, stateDelta)\n                                newState = Object.assign(state, stateDelta)\n                            }\n                            newState[Symbols.meta] = meta\n\n                            return newState\n                        }\n                    ),\n                    tap(\n                        (state) => {\n                            console.log(\"New merged state\", state)\n                            console.groupEnd()\n                        }\n                    ),\n                    shareReplay(),\n                )\n            })\n\n            // Object.freeze?\n            return stateAcc\n        },\n        Assignment: (token, state) => {\n            const path = this.processToken(token.path, state)\n            const value = this.processToken(token.value, state)\n\n            return combineLatest(path, value).pipe(\n                tap(\n                    ([path, value]) => {\n                        console.groupCollapsed(\"Assignment\")\n                        console.log(\"Creating state delta\", path, value)\n                    }\n                ),\n                catchError(\n                    e => this.catchIssue(e, token)\n                ),\n                map(\n                    ([path, value]) => {\n                        const metaPath = [Symbols.meta, ...path]\n                        const obj = set({}, metaPath, {\n                            silent: token.silent,\n                            source: token._source\n                        })\n\n                        set(obj, path, value)\n                        return obj\n                    }\n                ),\n                tap(\n                    (stateDelta) => {\n                        console.log(\"New state delta\", stateDelta)\n                        console.groupEnd()\n                    }\n                )\n            )\n        },\n        Path: (token, state) => of(token.value),\n        FunctionApplication: (token, state) => {\n            const fn = this.processToken(token.function, state)\n            const arg = this.processToken(token.argument, state)\n\n            return combineLatest(fn, arg).pipe(\n                tap(\n                    ([fn, arg]) => {\n                        console.groupCollapsed(\"Function Application\")\n                        console.log(\"Function\", fn)\n                        console.log(\"Argument\", arg)\n                    }\n                ),\n                switchMap(\n                    ([fn, arg]) => {\n                        return call(fn, arg)\n                    }\n                ),\n                catchError(\n                    e => this.catchIssue(e, token)\n                ),\n                tap(\n                    (value) => {\n                        console.log(\"Value\", value)\n                        console.groupEnd()\n                    }\n                )\n            )\n        },\n        Reference: (token, state) => {\n            const path = this.processToken(token.value, state)\n            return combineLatest(path, state).pipe(\n                tap(\n                    ([path, state]) => {\n                        console.groupCollapsed(\"Reference\")\n                        console.log(\"Getting a value from reference\")\n                        console.log(\"Path\", path)\n                        console.log(\"State\", state)\n                    }\n                ),\n                map(\n                    ([path, state]) => {\n                        const exists = hasIn(state, path)\n                        \n                        if (!exists) {\n                            // return throwError(new Error(`No value for ${path.join(\".\")}`))\n                            throw new Error(`No value for ${path.join(\".\")}`)\n                        }\n\n                        const value = get(state, path)\n                        return value\n                    }\n                ),\n                catchError(\n                    e => this.catchIssue(e, token, of(undefined))\n                ),\n                tap(\n                    (value) => {\n                        console.log(\"Value\", value)\n                        console.groupEnd()\n                    }\n                )\n            )\n        },\n        Function: (token, state) => {\n            return state.pipe(\n                tap(\n                    (state) => {\n                        console.groupCollapsed(\"Function\")\n                        console.log(\"State\", state)\n                        console.log(\"Argument\", token.argument)\n                    }\n                ),\n                map(\n                    (state) => {\n                        const fn = (arg) => {\n                            const boundEnv = Object.assign(Object.create(state), {\n                                [token.argument]: arg\n                            })\n                            return this.processToken(token.value, of(boundEnv))\n                        }\n\n                        return fn\n                    }\n                ),\n                tap(\n                    (fn) => {\n                        console.log(\"Function\", fn)\n                        console.groupEnd()\n                    }\n                )\n            )\n        },\n        Operation: (token, state) => {\n            const left = this.processToken(token.left, state)\n            const right = this.processToken(token.right, state)\n            const fn = of(this.rootEnv[token.operator])\n\n            return combineLatest(fn, left, right).pipe(\n                tap(\n                    ([fn, left, right]) => {\n                        console.groupCollapsed(\"Operation\")\n                        console.log(\"Operator\", fn)\n                        console.log(\"Left argument\", left)\n                        console.log(\"Right argument\", right)\n                    }\n                ),\n                map(\n                    ([fn, a, b]) => {\n                        return call(fn, { a, b })\n                    }\n                ),\n                catchError(\n                    e => this.catchIssue(e, token)\n                ),\n                tap(\n                    (result) => {\n                        console.log(\"Result from operation:\", result)\n                        console.groupEnd()\n                    }\n                ),\n            )\n        },\n        Tensor: (token, state) => {\n            const value = this.processToken(token.value, state)\n            return of(tf.tensor(value))\n        },\n        TensorLiteral: (token, state) => token.value,\n        Object: (token, state) => {\n            const result = this.processToken(token.value, state)\n            return result\n        },\n        String: (token, state) => of(token.value),\n        None: (token, state) => of(undefined),\n        __unknown__: (token, state) => {\n            throw new Error(`Unrecognized token: ${token.type}, rest: ${token}`)\n        }\n    }\n\n}\n\n// TODO: when arg is {}, consider only own props\n// arg = isObject(arg) ? {...arg} : arg\nconst call = (fn, arg) => {\n\n    if (isFunction(fn)) {\n        return fn(arg)\n    }\n\n    if (isObject(fn)) {\n        const isCallable = fn.hasOwnProperty(Symbols.call)\n\n        if (isCallable) {\n            return call(fn[Symbols.call], arg)\n        }\n    }\n\n    throw new Error(`${fn} is not callable`)\n}\n\nexport default new Interpreter"
  },
  {
    "path": "src/components/Interpreter/modules/ActivationFunctions/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../symbols\"\n\nconst doc_relu =\n`# Rectified Linear Unit\n\nReplaces negative values with zero.\n\n\\`\\`\\`L1\na: RectifiedLinearUnit [-1 0 1] ; [0 0 1]\n\\`\\`\\`\n`\n\nexport default {\n    RectifiedLinearUnit: {\n        [Symbols.doc]: doc_relu,\n        [Symbols.call]: arg => of(tf.relu(arg))\n    },\n\n    ExponentialLinearUnit: {\n        [Symbols.doc]: `# Exponential Linear Unit`,\n        [Symbols.call]: arg => of(tf.elu(arg))\n    },\n\n    ScaledExponentialLinearUnit: {\n        [Symbols.doc]: `# Scaled Exponential Linear Unit`,\n        [Symbols.call]: arg => of(tf.selu(arg))\n    },\n\n    Sigmoid: {\n        [Symbols.doc]: `# Sigmoid`,\n        [Symbols.call]: arg => of(tf.sigmoid(arg))\n    },\n\n    Softmax: {\n        [Symbols.doc]: `# Softmax`,\n        [Symbols.call]: arg => of(tf.softmax(arg))\n    },\n\n    Softplus: {\n        [Symbols.doc]: `# Softplus`,\n        [Symbols.call]: arg => of(tf.softplus(arg))\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Arithmetics/Clip/doc.md",
    "content": "# Clip\n\nClips values of the tensor to the provided minimum and/or maximum.\n\n```L1\n::Clip\n\nclip-1: Clip ! ; 0-1\nclip-2: Clip {\n    min: 0\n    max: 1\n}\n\nReLU: Clip { min: 0 }\ntest: RandomNormal [28 28] -> ReLU\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Arithmetics/Clip/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\nimport { of } from \"rxjs\"\nimport { isObject } from \"lodash-es\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => tensor.dataSync()[0]\n\nexport default {\n    [Symbols.doc]: doc,\n    [Symbols.call]: (arg) => {\n        if (arg === undefined) {\n            return of({\n                [Symbols.doc]: `\n# Clipper\nClips values to interval \\`0\\` – \\`1\\`\n\\`\\`\\`L1\nclipper: Clip !\na: RandomNormal [10 10] -> clipper\n\\`\\`\\`\n                `,\n                [Symbols.call]: tensor => of(tf.maximum(tf.minimum(tensor, 1), 0))\n            })\n        }\n        if (isObject(arg)) {\n            const { min, max } = {...arg}\n\n            return of({\n                [Symbols.doc]: `\n# Clipper\nClips values to provided \\`min\\` and \\`max\\`\n\\`\\`\\`L1\nclipper: Clip {${ min ? \"\\n    min: \" + $(min) : \"\"}${ max ? \"\\n    max: \" + $(max) : \"\"}\n}\na: RandomNormal [10 10] -> clipper\n\\`\\`\\`\n                `,\n                [Symbols.call]: tensor => {\n                    if (max && max instanceof tf.Tensor) {\n                        tensor = tf.minimum(tensor, max)\n                    }\n                    if (min && min instanceof tf.Tensor) {\n                        tensor = tf.maximum(tensor, min)\n                    }\n                    return of(tensor)\n                }\n            })\n        }\n    },\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Arithmetics/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\nimport { of } from \"rxjs\"\n\nimport Clip from \"./Clip\"\n\nexport default {\n    Square: a => of(tf.square(a)),\n    SquareRoot: a => of(tf.sqrt(a)),\n    Sign: a => of(tf.sign(a)),\n    Floor: a => of(tf.floor(a)),\n    Ceiling: a => of(tf.ceil(a)),\n    Round: a => of(tf.round(a)),\n    Absolute: a => of(tf.abs(a)),\n    Logarithm: a => of(tf.log(a)),\n    Clip\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Documentation/doc.md",
    "content": "# Syntax\n\n## Comments\n\n```L1\n; This is a comment\n\n; This is a\n;   multiline\n;       comment\n```\n\n1. Everything after a semicolon is a comment.\n1. There are only single-line comments.\n\n## Assignment\n\n```L1\na: 0\n```\n\n1. Yes, a colon. It's a name–value pair, a prop(erty).\n1. Names can be in `camelCase`, `PascalCase`, `python_case`, `kebab-case`, `UPPERCASE`, `lowercase` or `FüčK3d_Úp-_cäšE-ಠ_ಠ`. Nobody cares.\n1. Choosing good names is **your** responsibility.\n\n## Numbers\n\n```L1\na: 0\nb: 1\nc: -2\nd: -3.14\ne: 1_000\n```\n\n1. There are no *types*. It's just a numeric value.\n1. *But to be honest – 32-bit float.* [Extra](https://mlajtos.github.io/L1/latest/#eDogMC4xKygwLjIrMC4zKSwKeTogKDAuMSswLjIpKzAuMw==)\n1. If your numbers are too big, too small (or they aren't numbers at all), you gotta pump those rookie numbers up.\n\n### Tensors\n\n```L1\nscalar: 23\nvector1: [1 2 3]\nvector2: [1,2,3]\nmatrix1: [1 2, 3 4]\nmatrix2: [\n    1 2\n    3 4\n]\n```\n\n1. Only scalars, vectors and matrices.\n1. `Reshape` any tensor however you like.\n\n## Operators\n\n```L1\na: 1 + 2               ; 3\nb: 2 - 1               ; 1\nc: 1 + 2 * 2           ; 1 + 4\nd: 2 * 3 / 6           ; 1\ne: 3 * 2 ^ 2 + 1       ; 3 * 4 + 1\nf: (3 * 2) ^ (2 + 1)   ; 6^3\n```\n\n1. Natural order of operations. You got this!\n1. Applicable to tensors of all sizes (auto broadcast).\n1. There are some fancy operators.\n\n```L1\na: [1 2 3] * 3   ; [1 2 3] × 3\nb: [3 6 9] / 3   ; [3 6 9] ÷ 3\nc: [1 2 3] % 2\n\n; matrix multiplication\nd: [1 2, 3 4] @ [1 2, 3 4]   ; [1 2, 3 4] ⊗ [1 2, 3 4]\n```\n\n## Function Application\n\n```L1\na: Square 23              ; Square(23) = 23^2\nb: Square [1 2 3]         ; Square([1 2 3]) = [1 4 9]\nc: SquareRoot Square 23   ; SquareRoot(Square(23))\nd: RandomNormal !         ; RandomNormal()\n```\n\n```L1\nsize1: Size [1 2 3]         ; size1 = 3\nsize2: Size [1,2,3]         ; size2 = 3\nsize3: Size [1 2, 3 4]      ; size3 = 4\n\nshape1: Shape [1 2 3]       ; shape1 = [3]\nshape2: Shape [1 2, 3 4]    ; shape2 = [2 2]\n\nrank0: Rank 23              ; rank0 = 0\nrank1: Rank [1 2 3]         ; rank1 = 1\nrank2: Rank [1 2, 3 4]      ; rank2 = 2\n\nmin: Min [0 1 2]            ; min = 0\nmax: Max [0 1 2]            ; max = 2\nmean: Mean [0 1 2]          ; mean = 1\n```\n\n1. There is always only one argument. One is enough.\n1. The argument does not have to be in parenthesis.\n1. Use parenthesis if you must.\n1. Use `!` to call function without an argument.\n\n### Pipeline\n\n```L1\na: 23 -> Square                ; Square 23\nb: 23 -> Square -> SquareRoot  ; SquareRoot Square 23\nc: [1 2, 3 4] -> Square\nd: [1 2, 3 4]\n    -> Square\n    -> SquareRoot\n```\n\n1. Pipeline is a function application with the reversed order.\n1. Pipeline can turn nested expression into a linear one.\n\n## Objects\n\n```L1\nObj1: {\n    x: 1\n    y: 2\n}\nObj2: { x: 1, y: 2}\n```\n\n1. Objects hold name–value pairs, prop(ertie)s.\n1. Child object can refer to parent props directly.\n1. Dot `.` operator works.\n1. Shorthand notation for `abc: abc` is `::abc`. Also works for paths.\n\n```L1\nA: {\n    x: 1\n    B: {\n        y: x + 1\n    }\n}\nz: A.B.y  ; z: 2\n```\n\n```L1\ny: {\n    x: 2\n    value: x * 3\n}.value\n```\n\n```L1\nA: {\n    i: 23\n    B:  {\n        j: 47\n    }\n    C: {\n        ::i     ; i: i\n        ::B.j   ; j: B.j\n    }\n}\n```\n\n## Functions\n\n```L1\nFn: x => x^2\na: Fn 3\n```\n\n1. There is only one argument.\n1. Higher-order functions are okay.\n\n```L1\nFn: x => {\n    linear: x\n    quadratic: x^2\n    cubic: x^3\n}\nA: Fn 3\n\n; A: {\n;     linear: 3\n;     quadratic: 9\n;     cubic: 27\n; }\n```\n\n```L1\nFn: x => y => x + y     ; higher-order function\na: (Fn 2) 3             ; JS: Fn(2)(3)\nb: 3 -> (2 -> Fn)\nc: 3 -> (Fn 2)\nd: (2 -> Fn) 3\n```\n\n```L1\nFn: A => {\n    z: A.x + A.y\n    value: z^2\n}.value\n\na: Fn {\n    x: 1\n    y: 2\n}\n```\n\n```L1\nFlip: S => {\n    a: S.b\n    b: S.a\n}\n\nmu: { a: 0, b: 1 }\n    -> Flip\n    -> Flip\n    -> Flip\n```\n\n## IIFE\n\n```L1\niife1: 22 -> a => a + 1\niife2: (a => a + 1) 22\n```\n\n## Functional Objects\n\n1. Object can be used as a function.\n1. Good for many things, mostly encapsulation.\n1. Can have documentation attached.\n\n```L1\nfn: {\n    #call: a => a + 23\n    #doc: \"Adds 23 and the provided *value*\"\n}\n\ntest: fn 24\n```\n\n# Extra info\n\n### Self\n\nTop-level prop `Self` contains everything that is available by default, something like \"standard library\".\n\n```L1\n:: Self\n```\n\n### Silent assignment\n\n```L1\n_a: 23\n_b: 24\nc: a + b\n```\n1. Use underscore `_` in front of an assignment, to silence it.\n1. (Therefore, no names with leading `_`, yay!)\n1. Values still exist and can be used – they are just not displayed.\n\n### None\n\nExpressions `()` and `!` (and top-level prop `None`) have value that is equivalent of `None` in Python or `undefined` in Javascript. It is useful when calling a function that does not need an argument.\n\n```L1\na: ()\nb: !\nc: None\n```\n\n### Booleans\n\nThere are top-level props called `False` and `True`. There is no use for them yet.\n\n### Strings\n\nThere is a rudimentary support for strings. However, no concatenation, no interpolation, no manipulation. They are necessary for documentation right now.\n\n### Symbols\n\nFollowing example shows two assignments. First is a normal prop – string as a key, second is a symbol prop – symbol as a key:\n```L1\nmu: 2\n#mu: 2\n```\n\nSymbol props are not displayed (silenced by default), and have a special purpose. For example, `#call` is used when object is used as a function in function application. `#doc` holds a Markdown documentation for the object.\n\nThere is also a `#meta` prop, that is used internally to do various stuff:\n\n```L1\nmu: {\n    a: 23\n    _b: 47\n}\n\nmeta: mu.#meta\n```\n\nSymbol props can store any values and can be accessed in the same way as a normal props.\n\n### Keyboard shortcuts\n* force-evaluate code – `Ctrl+Enter` or `Cmd-Return`\n* create sharable URL – `Ctrl+S` or `Cmd-S`\n"
  },
  {
    "path": "src/components/Interpreter/modules/Documentation/index.js",
    "content": "import doc from \"./doc.md\"\n\nexport default {\n    [Symbol.for(\"doc\")]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/Eye/doc.md",
    "content": "# Eye\n\nReturns an identity matrix of size `n`.\n\n```L1\n::Eye\na: Eye !    ; 1\nc: Eye 2    ; [1 0, 0 1]\nd: Eye 10\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/Eye/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\nimport { of } from \"rxjs\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => tensor.dataSync()[0]\n\nexport default {\n    [Symbol.for(\"doc\")]: doc,\n    [Symbol.for(\"call\")]: arg => {\n        if (arg === undefined) {\n            return of(tf.scalar(1))\n        }\n\n        return of(tf.eye($(arg)))\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/LinearSpace/doc.md",
    "content": "# LinearSpace\n\nReturns a vector of length `count` with values from `start` to `stop`.\n\n```L1\n::LinearSpace\na: LinearSpace ! ; [0 1]\nb: LinearSpace {\n    start: 0\n    stop:  1\n    count: 2\n}\n\nshape: Shape b      ; shape = [2] = count\nmin: Min b          ; min = 0 = start\nmax: Max b          ; max = 1 = stop\n\nc: LinearSpace {\n    count: 100\n}\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/LinearSpace/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\nimport { of } from \"rxjs\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => tensor.dataSync()[0]\n\nexport default {\n    [Symbol.for(\"doc\")]: doc,\n    [Symbol.for(\"call\")]: arg => {\n        if (arg === undefined) {\n            return of(tf.linspace(0, 1, 2))\n        }\n\n        const start = arg.hasOwnProperty(\"start\") ? $(arg.start) : 0\n        const stop = arg.hasOwnProperty(\"stop\") ? $(arg.stop) : 1\n        const count = arg.hasOwnProperty(\"count\") ? $(arg.count) : 2\n\n        return of(tf.linspace(start, stop, count))\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/Ones/doc.md",
    "content": "# Ones\n\nReturns a tensor filled with 1 everywhere.\n\n```L1\n::Ones\na: Ones !           ; a = Ones []\nb: Ones [2 2]       ; b = [1 1, 1 1]\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/Ones/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\nimport { of } from \"rxjs\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => tensor.dataSync()\n\nexport default {\n    [Symbol.for(\"doc\")]: doc,\n    [Symbol.for(\"call\")]: shape => {\n        if (shape === undefined) {\n            return of(tf.ones([]))\n        }\n\n        return of(tf.ones($(shape)))\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/Zeros/doc.md",
    "content": "# Zeros\n\nReturns a tensor filled with 0 everywhere.\n\n```L1\n::Zeros\na: Zeros !           ; a = Zeros [] = 0\nb: Zeros [2 2]       ; b = [0 0, 0 0]\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/Zeros/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\nimport { of } from \"rxjs\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => tensor.dataSync()\n\nexport default {\n    [Symbol.for(\"doc\")]: doc,\n    [Symbol.for(\"call\")]: shape => {\n        if (shape === undefined) {\n            return of(tf.zeros([]))\n        }\n\n        return of(tf.zeros($(shape)))\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Generators/index.js",
    "content": "import LinearSpace from \"./LinearSpace\"\nimport Ones from \"./Ones\"\nimport Zeros from \"./Zeros\"\nimport Eye from \"./Eye\"\n\nexport default {\n    Ones,\n    Zeros,\n    Eye,\n    LinearSpace,\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Expand/doc.md",
    "content": "# Expand\n\nExpand the shape of a tensor.\n\nInsert a new axis that will appear at the axis position in the expanded tensor shape.\n\n```L1\n::Expand\na: [1 2 3 4]\nshape-a: Shape a ; shape-a = [4]\n\nb: a -> Expand 0\nshape-b: Shape b ; shape-b = [1 4]\n\nc: a -> Expand 1\nshape-c: Shape c ; shape-b = [4 1]\n\n\nexpander-0: Expand 0 \n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Expand/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (axis) => {\n        const axis_native = axis.dataSync()[0]\n\n        return of({\n            [Symbols.call]: (tensor) => of(tf.expandDims(tensor, axis_native)),\n            [Symbols.doc]: `# Expander\nExpands axis ${axis_native} of provided tensor\n\\`\\`\\`L1\nexpander: Expand ${axis_native}\na: RandomNormal [20 20] -> expander\n\\`\\`\\`\n`\n        })\n    },\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Rank/doc.md",
    "content": "# Rank\n\nRank returns the rank of the provided tensor\n\n```L1\n::Rank\nrank-0: Rank 1 ; rank-0 = 0\nrank-1: Rank [1 2 3] ; rank-1 = 1\nrank-2: Rank [1 2, 3 4] ; rank-2 = 2\nrank-3: Rank RankUp [1 2, 3 4] ; rank-3 = 3\n```\n\nRank can be expressed as the size of the shape of a tensor:\n```L1\nRank: a => Size Shape a\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Rank/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.tensor(tensor.rank)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Reshape/doc.md",
    "content": "# Reshape\n\nReturns a function that reshapes a tensor to specified shape.\n\n```L1\n::Reshape\na: [1 2 3 4]\nshape1: Shape a ; shape = [4]\nb: a -> Reshape [2 2]\nshape2: Shape b ; shape = [2 2]\nc: (Reshape [4 1]) a\n\nreshaper: Reshape [10 10]\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Reshape/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (shape) => {\n        const shape_native = shape.dataSync()\n        // const size = shape.prod()\n        const size = shape_native.reduce((a, c) => a * c)\n        const shape_string = \"[\" + shape_native.join(\" \") + \"]\"\n\n        return of({\n            [Symbols.call]: (tensor) => of(tf.reshape(tensor, shape_native)),\n            [Symbols.doc]: `# Reshaper\nReshapes tensor to ${shape_string}\n\\`\\`\\`L1\nreshaper: Reshape ${shape_string}\na: RandomNormal ${size} -> reshaper\n\\`\\`\\`\n`\n        })\n    },\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Reverse/doc.md",
    "content": "# Reverse\n\nReverses the tensor.\n\n```L1\n::Reverse\n\na: Reverse [1 2 3]\nb: Reverse [1 2, 3 4]\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Reverse/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.reverse(tensor)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Shape/doc.md",
    "content": "# Shape\n\nShape returns shape of the provided tensor.\n\n```L1\nshape-1: Shape 1 ; shape = []\nshape-2: Shape [1] ; shape = [1]\nshape-3: Shape [1 2 3] ; shape = [3]\nshape-4: Shape [1 2, 3 4] ; shape = [2 2]\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Shape/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.tensor(tensor.shape)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Size/doc.md",
    "content": "# Size\n\nSize returns size (number of elements) of the provided tensor.\n\n```L1\nsize-1: Size 1 ; size = 1\nsize-2: Size [1] ; size = 1\nsize-3: Size [1 2 3] ; size = 3\nsize-4: Size [1 2, 3 4] ; size = 4\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Size/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.tensor(tensor.size)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Transpose/doc.md",
    "content": "# Transpose\n\nTransposes the tensor.\n\n```L1\n::Transpose\n\n_test: x => {\n    original: x\n    transposed: Transpose x\n}\n\na: test [1,2,3]\nb: test [\n    1 2 3\n    4 5 6\n    7 8 9\n]\nc: test [1 2 3, 4 5 6]\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/Transpose/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.transpose(tensor)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Meta/index.js",
    "content": "// Shape, Size, Rank should be differentiable for AutoML\n// No idea what that means :D\n\nimport Shape from \"./Shape\"\nimport Size from \"./Size\"\nimport Rank from \"./Rank\"\nimport Reshape from \"./Reshape\"\nimport Expand from \"./Expand\"\nimport Transpose from \"./Transpose\"\nimport Reverse from \"./Reverse\"\n\nexport default {\n    Shape, Size, Rank, Reshape, Expand, Transpose, Reverse\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Mouse.js",
    "content": "import { fromEvent } from \"rxjs\"\nimport { map } from \"rxjs/operators\"\n\nimport Symbols from \"../symbols\"\n\nexport default {\n    [Symbols.doc]: \n`\n# Mouse\nProvides mouse coordinates (\\`x\\` and \\`y\\`) inside the window.\n\n\\`\\`\\`L1\nx: Mouse.x\ny: Mouse.y\n\\`\\`\\`\n`,\n    x: fromEvent(window, \"mousemove\").pipe(map(e => tf.scalar(e.x))),\n    y: fromEvent(window, \"mousemove\").pipe(map(e => tf.scalar(e.y))),\n}\n"
  },
  {
    "path": "src/components/Interpreter/modules/Random/Normal/doc.md",
    "content": "# RandomNormal\n\nReturns a tensor with values sampled from a normal distribution.\n\n```L1\n::RandomNormal\nrandomScalar: RandomNormal!\nrandomVector1: RandomNormal [10]\nrandomVector2: [10] -> RandomNormal\nrandomMatrix: [10 10] -> RandomNormal\n\na: RandomNormal {\n    shape: [28 28]\n}\n\nb: RandomNormal {\n    shape: [28 28]\n    mean: 0\n    stdDev: 1\n}\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Random/Normal/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\nimport { isObject } from \"lodash-es\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => Array.from(tensor.dataSync())\n\nexport default {\n    RandomNormal: {\n        [Symbols.doc]: doc,\n        [Symbols.call]: arg => {\n            let shape   = tf.scalar(1)\n            let mean    = tf.scalar(0)\n            let stdDev  = tf.scalar(1)\n\n            if (arg === undefined) {\n                return of(tf.scalar($(tf.randomNormal($(shape), $(mean)[0], $(stdDev)[0]))[0]))\n            }\n\n            if (arg instanceof tf.Tensor) {\n                shape = arg\n                return of(tf.randomNormal($(shape), $(mean)[0], $(stdDev)[0]))\n            }\n\n            if (!isObject(arg)) {\n                throw Error(\"RandomNormal needs tensor or object\")\n            }\n\n            if (arg.hasOwnProperty(\"shape\")) {\n                shape = arg.shape\n            } else {\n                throw Error(\"RandomNormal { shape: ? }\")\n            }\n\n            if (arg.hasOwnProperty(\"mean\")) {\n                mean = arg.mean\n            }\n\n            if (arg.hasOwnProperty(\"stdDev\")) {\n                stdDev = arg.stdDev\n            }\n\n            return of(tf.randomNormal($(shape), $(mean)[0], $(stdDev)[0]))\n        }\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Random/Uniform/doc.md",
    "content": "# RandomUniform\n\nReturns a tensor with values sampled from a uniform distribution.\n\n```L1\n::RandomUniform\nrandomScalar: RandomUniform!\nrandomVector1: RandomUniform [10]\nrandomVector2: [10] -> RandomUniform\nrandomMatrix: [10 10] -> RandomUniform\n\na: RandomUniform {\n    shape: [28 28]\n}\n\nb: RandomUniform {\n    shape: [28 28]\n    min: 0\n    max: 1\n}\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Random/Uniform/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\nimport { isObject } from \"lodash-es\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nconst $ = (tensor) => Array.from(tensor.dataSync())\n\nexport default {\n    RandomUniform: {\n        [Symbols.doc]: doc,\n        [Symbols.call]: arg => {\n            let shape   = tf.scalar(1)\n            let min     = tf.scalar(0)\n            let max     = tf.scalar(1)\n\n            if (arg === undefined) {\n                return of(tf.scalar($(tf.randomUniform($(shape), $(min)[0], $(max)[0]))[0]))\n            }\n\n            if (arg instanceof tf.Tensor) {\n                shape = arg\n                return of(tf.randomUniform($(shape), $(min)[0], $(max)[0]))\n            }\n\n            if (!isObject(arg)) {\n                throw Error(\"RandomUniform needs tensor or object\")\n            }\n\n            if (arg.hasOwnProperty(\"shape\")) {\n                shape = arg.shape\n            } else {\n                throw Error(\"RandomUniform { shape: ? }\")\n            }\n\n            if (arg.hasOwnProperty(\"min\")) {\n                min = arg.min\n            }\n\n            if (arg.hasOwnProperty(\"max\")) {\n                max = arg.max\n            }\n\n            return of(tf.randomUniform($(shape), $(min)[0], $(max)[0]))\n        }\n    }\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Random/index.js",
    "content": "import Normal from \"./Normal\"\nimport Uniform from \"./Uniform\"\n\nexport default {\n    ...Normal,\n    ...Uniform\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Max/doc.md",
    "content": "# Max\n\nMax returns the maximum of the provided tensor\n\n```L1\n::Max\nmax-1: Max 1 ; max = 1\nmax-2: Max [1 2 3] ; max = 3\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Max/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.max(tensor)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Mean/doc.md",
    "content": "# Mean\n\nReturns the mean of the provided tensor\n\n```L1\n::Mean\nmean-1: Mean 1 ; mean = 1\nmean-2: Mean [1 2 3] ; mean = 2\nmean-3: Mean [1 2] ; mean = 1.5\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Mean/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.mean(tensor)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Min/doc.md",
    "content": "# Min\n\nMin returns the minimum of the provided tensor\n\n```L1\n::Min\nmin-1: Min 1 ; min = 1\nmin-2: Min [1 2 3] ; min = 1\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Min/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.min(tensor)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Product/doc.md",
    "content": "# Product\n\nProduct returns the product of the provided tensor.\n\n**Note:** *TensorFlow.js does not support product (tf.prod) at the moment.*\n\n```L1\n::Product\nprod-1: Product 1        ; prod-1 = 1\nprod-2: Product [1 2 3]  ; prod-2 = 6\nprod-3: *[1 2 3]         ; prod-3 = 6\nprod-4: *[1 2, 3 4]      ; prod-4 = 24\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Product/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => {\n        if (tf.prod) {\n            return of(tf.prod(tensor))\n        } else {\n            return of(new Error(\"TensorFlow.js does not support tf.prod().\"))\n        }\n    },\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Sum/doc.md",
    "content": "# Sum\n\nSum returns the sum of the provided tensor\n\n```L1\n::Sum\nsum-1: Sum 1 ; sum-1 = 1\nsum-2: Sum [1 2 3] ; sum-2 = 6\nsum-3: +[1 2 3] ; sum-3 = 6\nsum-4: +[1 2, 3 4] ; sum-4 = 10\n```"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/Sum/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../../symbols\"\n\nimport doc from \"./doc.md\"\n\nexport default {\n    [Symbols.call]: (tensor) => of(tf.sum(tensor)),\n    [Symbols.doc]: doc\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Reducers/index.js",
    "content": "import Min from \"./Min\"\nimport Max from \"./Max\"\nimport Mean from \"./Mean\"\nimport Sum from \"./Sum\"\nimport Product from \"./Product\"\n\nexport default {\n    Min, Max, Mean, Sum, Product\n}"
  },
  {
    "path": "src/components/Interpreter/modules/TensorOperators/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs\"\n\nconst binarize = (fn) => (({ a, b }) => fn(a, b))\n\nexport default {\n    \"+\": ({a, b}) => {\n        if (a === undefined) {\n            return tf.sum(b)\n        }\n        return tf.add(a, b)\n    },\n    \"-\": ({a, b}) => {\n        if (a === undefined) {\n            return tf.neg(b)\n        }\n        return tf.sub(a, b)\n    },\n    \"*\": ({a, b}) => {\n        if (a === undefined) {\n            if (!tf.prod) {\n                return new Error(\"TensorFlow.js does not support tf.prod().\")\n            }\n            return tf.prod(b)\n        }\n        return tf.mul(a, b)\n    },\n    \"×\": ({a, b}) => {\n        if (a === undefined) {\n            if (!tf.prod) {\n                return new Error(\"TensorFlow.js does not support tf.prod().\")\n            }\n            return tf.prod(b)\n        }\n        return tf.mul(a, b)\n    },\n    \"/\": ({a, b}) => {\n        if (a === undefined) {\n            return tf.reciprocal(b)\n        }\n        return tf.div(a, b)\n    },\n    \"÷\": ({a, b}) => {\n        if (a === undefined) {\n            return tf.reciprocal(b)\n        }\n        return tf.div(a, b)\n    },\n    \"^\": binarize(tf.pow),\n    \"%\": binarize(tf.mod),\n    \"@\": binarize(tf.matMul),\n    \"⊗\": binarize(tf.matMul),\n}"
  },
  {
    "path": "src/components/Interpreter/modules/Trigonometry/index.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nimport { of } from \"rxjs\"\n\nimport Symbols from \"../../symbols\"\n\nexport default {\n    Sine: a => of(tf.sin(a)),\n    Cosine: a => of(tf.cos(a)),\n    Tangent: a => of(tf.tan(a)),\n    ArcusSine: a => of(tf.asin(a)),\n    ArcusCosine: a => of(tf.acos(a)),\n    ArcusTangent: a => of(tf.atan(a)),\n}"
  },
  {
    "path": "src/components/Interpreter/rootEnvironment.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nwindow.tf = tf\n\nimport Symbols from \"./symbols\"\n\nimport Mouse from \"./modules/Mouse\"\n\nimport Documentation from \"./modules/Documentation\"\n\nimport Random from \"./modules/Random\"\nimport ActivationFunctions from \"./modules/ActivationFunctions\"\nimport Trigonometry from \"./modules/Trigonometry\"\nimport TensorOperators from \"./modules/TensorOperators\"\nimport Arithmetics from \"./modules/Arithmetics\"\nimport Generators from \"./modules/Generators\"\nimport Reducers from \"./modules/Reducers\"\nimport Meta from \"./modules/Meta\"\n\nexport default {\n    ...Documentation,\n\n    Empty: {},\n    False: false,\n    True: true,\n    None: undefined,\n\n    ...Meta,\n    ...Reducers,\n    ...TensorOperators,\n    ...Generators,\n    ...Random,\n    ...ActivationFunctions,\n    ...Trigonometry,\n    ...Arithmetics,\n\n    \".\": ({a, b}) => a[b],\n\n    Mouse\n}"
  },
  {
    "path": "src/components/Interpreter/symbols.js",
    "content": "export const toSymbol = (tag) => Symbol.for(tag)\n\nconst Symbols = {\n    meta: toSymbol(\"meta\"),\n    doc: toSymbol(\"doc\"),\n    call: toSymbol(\"call\"),\n    // value: toSymbol(\"value\"),\n    true: toSymbol(\"true\"),\n    false: toSymbol(\"false\")\n}\n\nexport default Symbols"
  },
  {
    "path": "src/components/Interpreter_OLD/index.js",
    "content": "import runtimeEnvironment from \"./runtimeEnvironment\"\nimport * as tf from \"@tensorflow/tfjs-core\"\nimport { isPlainObject, isFunction, has, hasIn, set, get, merge, isObject } from \"lodash-es\"\nimport { Subject, Observable, combineLatest, of } from \"rxjs\"\nimport { map } from \"rxjs/operators\"\n\nimport { operatorToFunction } from \"./operators\"\nimport { SYMBOLS } from \"./symbols\"\n\nimport { forEach_async, get_async, combineLatestObj } from \"./utils\"\n\nclass Interpreter {\n    issues = new Subject()\n    tokenActions = {\n        Program: async (token, state) => {\n            // tf.tidy somewhere here\n            let stateAcc = Object.create(state)\n            const assignments = await forEach_async(token.value, async (assignment) => {\n                // is it possible to do merging without mutation?\n                const stateDelta = await this.processToken(assignment, stateAcc)\n                stateAcc = merge(stateAcc, stateDelta)\n                const _m = SYMBOLS.meta\n                stateAcc[_m] = merge({}, stateAcc[_m], stateDelta[_m])\n            })\n            return stateAcc\n        },\n        // ripe for refactoring\n        Assignment: async (token, state) => {\n\n            const path = await this.processToken(token.path, state)\n            const value = this.processToken(token.value, state) // do not await value\n\n            const silent = token.silent || false\n            const isVariable = token.variable || false\n\n            const exists = has(state, path)\n            \n            const baseValue = {\n                [SYMBOLS.meta]: {\n                    [path]: {\n                        silent,\n                        source: token._source\n                    }\n                }\n            }\n            \n            if (exists) {\n                console.log(`${path.join(\".\")} exists in`, state)\n                const oldValue = await get(state, path)\n                const valueIsVariable = oldValue instanceof tf.Variable\n                if (valueIsVariable) {\n                    const fn = getFunction(\"Assign\")\n                    const newValue = call(fn, {\n                        tensor: oldValue,\n                        value\n                    })\n                    return set(baseValue, path, newValue)\n                } else {\n                    throw Error(`Only variables can be reassigned. Use $${path.join(\".\")}`)\n                }\n            } else {\n                if (isVariable) {\n                    const fn = getFunction(\"Variable\")\n                    const newValue = call(fn, value)\n                    return set(baseValue, path, newValue)\n                } else {\n                    // when checking value of ref\n                    //      if flag or same as provided value\n                    //          use state.__proto__ instead for lookup\n                    const mu = set(baseValue, path, value)\n                    return mu\n                }\n            }\n\n            throw Error(`This will never happen.`)\n        },\n        Reference: async (token, state) => {\n            const path = await this.processToken(token.value, state)\n            const value = await get_async(state, path, null)\n            // console.log(\"Reference\",path, value, state)\n            if (!value) {\n                console.log(Object.keys(state).join(\", \"))\n                throw new Error(`No value for \"${path.join(\".\")}\".`)\n            }\n            return value\n        },\n        Path: async (token, state) => {\n            return token.value\n        },\n        Function: async (token, state) => {\n            const fn = async (arg) => {\n                const boundEnv = Object.create(Object.assign(Object.create(state), { [token.argument]: arg }))\n                return await this.processToken(token.value, boundEnv)\n            }\n            return fn\n        },\n        FunctionApplication: async (token, state) => {\n            // <fuckup>\n            // when there is no argument for function === only one value (reference)\n            // this is a wart at the grammar level\n            if (!token.argument) {\n                let value = await this.processToken(token.function, state)\n                if (!(value instanceof Observable)) {\n                    value = of(value)\n                }\n                return value\n            }\n            // </fuckup>\n\n            let fn = await this.processToken(token.function, state)\n            let value = await this.processToken(token.argument, state)\n\n            if (!(fn instanceof Observable)) {\n                fn = of(fn)\n            }\n\n            if (!(value instanceof Observable)) {\n                value = of(value)\n            }\n\n            const result = combineLatest(fn, value).pipe(map(async (v) => {\n                return await call(await v[0], await v[1])\n            }))\n            console.log(result)\n            return result\n            \n            // const result = value.pipe(map(async (v) => await call(fn, await v)))\n            // return call(fn, value)\n        },\n        BinaryOperation: async (token, state) => {\n            let a = await this.processToken(token.left, state)\n            let b = await this.processToken(token.right, state)\n            let fn = operatorToFunction(token.operator, 2)\n\n            if (!(fn instanceof Observable)) {\n                fn = of(fn)\n            }\n\n            if (!(a instanceof Observable)) {\n                a = of(a)\n            }\n\n            if (!(b instanceof Observable)) {\n                b = of(b)\n            }\n\n            console.log(fn, a, b)\n\n            const observable = combineLatest(fn, a, b).pipe(map(async (v) => await call(v[0], {\n                a: await v[1],\n                b: await v[2]\n            })))\n\n            return observable\n            // return call(fn, { a, b })\n\n\n        },\n        UnaryOperation: async (token, state) => {\n            let value = await this.processToken(token.value, state)\n            let fn = operatorToFunction(token.operator, 1)\n            if (!(value instanceof Observable)) {\n                value = of(value)\n            }\n            const observable = value.pipe(map(async (v) => await call(fn, await v)))\n            return observable\n\n            // return call(fn, value)\n        },\n        Tensor: async (token, state) => {\n            const value = await this.processToken(token.value, state)\n            const fn = getFunction(\"Tensor\")\n            return call(fn, value)\n        },\n        TensorLiteral: async (token, state) => {\n            return token.value\n        },\n        Object: async (token, state) => {\n            const result = await this.processToken(token.value, Object.create(state))\n            return result\n        },\n        __unknown__: async (token, state) => {\n            console.log(token)\n            return `Unrecognized token: ${token.type}, rest: ${token}`\n        }\n    }\n    interpret = async (ast, env = {}, issues) => {\n        const state = Object.assign(Object.create(runtimeEnvironment), env)\n        this.issues = issues\n        const result = await this.processToken(ast, state)\n        return {\n            success: {\n                result,\n                state\n            }\n        }\n    }\n    reportIssue({ source, message, severity = \"error\" }) {\n        const issue = {\n            ...source,\n            message,\n            severity\n        }\n        this.issues.next(issue)\n    }\n    processToken = async (token, state) => {\n        if (!state) {\n            console.error(\"No state to operate on!\")\n        }\n        // console.log(token)\n        const fn = this.tokenActions[token.type] || this.tokenActions.__unknown__\n        let result\n        try {\n            result = await fn(token, state)\n        } catch (e) {\n            if (token._source) {\n                const issue = {\n                    // [SYMBOLS.meta]: {},\n                    source: token._source,\n                    message: e.message,\n                    severity: e.severity\n                }\n                this.reportIssue(issue)\n                console.error(e)\n                throw new Error(e.message)\n                // return new Error(e.message)\n            } else {\n                console.error(e)\n            }\n\n            result = null\n        }\n\n        return result\n    }\n}\n\n// This is basically a reference with top-down name resolution.\nexport const getFunction = (path, state = runtimeEnvironment) => {\n    const passThrough = arg => arg\n    const fn = get(state, path, null)\n    if (!fn) {\n        throw ({\n            message: `Function \"${name}\"?`,\n            severity: \"error\"\n        })\n    }\n    return fn || passThrough\n}\n\n/*\n**TODO**:\n    - memoize maybe?\n    - fn should consider only ownProps of arg\n    - how to inject dynamic scope?\n*/\nconst call = async (fn, arg) => {\n    console.log(\"call\", fn, arg)\n    fn = await fn\n    arg = await arg\n\n    if (isFunction(fn)) {\n        return fn(arg)\n    }\n\n    if (isObject(fn)) {\n        const isCallable = fn.hasOwnProperty(SYMBOLS.call)\n\n        if (isCallable) {\n            return call(fn[SYMBOLS.call], arg)\n        }\n    }\n\n    console.log(fn)\n    throw new Error(`${fn} is not callable.`)\n}\n\nexport default new Interpreter"
  },
  {
    "path": "src/components/Interpreter_OLD/operators.js",
    "content": "import { getFunction } from \"./index\"\n\nexport const OPERATORS = {\n    \"1\": {\n        \"'\": \"ConvertToNative\",\n        \"-\": \"Negative\",\n        \"/\": \"Reciprocal\"\n    },\n    \"2\": {\n        \"+\": \"Add\",\n        \"-\": \"Subtract\",\n        \"*\": \"Multiply\",\n        \"×\": \"Multiply\",\n        \"/\": \"Divide\",\n        \"÷\": \"Divide\",\n        \"^\": \"Power\",\n        \"%\": \"Modulus\",\n        \"@\": \"MatrixMultiply\",\n        \"⊗\": \"MatrixMultiply\",\n\n        \".\": \"PropertyAccess\"\n        // TODO: strict versions should be ++, --, **, //, etc. (if they are needed)\n    }\n}\n\nexport const operatorToFunction = (operator, arity) => {\n    if (!arity) {\n        console.error(`Missing \"arity\" argument for operator \"${operator}\".`)\n    }\n    const functionName = OPERATORS[arity][operator]\n    if (!functionName) {\n        console.error(`Operator \"${operator}\" does not have an associated function.`)\n    }\n    const fn = getFunction(functionName)\n    return fn\n}"
  },
  {
    "path": "src/components/Interpreter_OLD/runtimeEnvironment.js",
    "content": "import * as tf from \"@tensorflow/tfjs-core\"\nwindow.tf = tf\n//import * as mnist from \"mnist\"\nimport { flow, get, hasIn } from \"lodash-es\"\n\nimport { Observable, fromEvent, of } from \"rxjs\"\nimport { map, combineLatest } from \"rxjs/operators\"\nimport { combineLatestObj }  from \"./utils\"\n\nimport { SYMBOLS } from \"./symbols\"\n\nimport doc from \"../../../README.md\"\n\nclass Variable extends tf.Variable {\n    _mutationObservers = []\n    assign(newValue) {\n        super.assign(newValue)\n        this.notify()\n    }\n    subscribe(fn) {\n        this._mutationObservers.push(fn)\n    }\n    unsubscribe(fn) {\n        this._mutationObservers = this._mutationObservers.filter(mo => mo !== fn)\n    }\n    notify() {\n        this._mutationObservers.forEach(mo => mo.call())\n    }\n}\n\nclass Scope {\n    [SYMBOLS.meta] = {}\n    [SYMBOLS.doc] = doc\n\n    constructor(config) {\n\n    }\n\n    PropertyAccess = ({ a, b }) => {\n        const found = hasIn(a, b)\n        if (!found) {\n            throw new Error(`No such thing.`)\n        }\n        return get(a, b)\n    }\n\n    Tensor = tf.tensor\n    Variable = async (tensor) => new Variable(await tensor)\n    Assign = async ({ tensor, value }) => {\n        tensor = await tensor\n        tensor.assign(await value)\n        return tensor\n    }\n    Shape = (tensor) => tf.tensor(tensor.shape)\n    Rank = (tensor) => tf.scalar(tensor.rank)\n    Size = (tensor) => tf.scalar(tensor.size)\n\n    L1 = Object.assign({\n        [SYMBOLS.call]: async (args) => {\n            return this\n        },\n        [SYMBOLS.doc]: doc,\n        mu: tf.scalar(23)\n    }, Object.create(Scope))\n\n    Mouse = {\n        [SYMBOLS.doc]: \n`\nProvides mouse coordinates (\\`x\\` and \\`y\\`) inside the window.\n\\`\\`\\`\nx: Mouse.x\ny: Mouse.y\npressed: Mouse.pressed\n\\`\\`\\`\n`,\n        x: fromEvent(window, \"mousemove\").pipe(map(e => tf.scalar(e.x))),\n        y: fromEvent(window, \"mousemove\").pipe(map(e => tf.scalar(e.y))),\n    } \n\n    Mean = async (args) => {\n        if (!args) { // Mean ?\n            return this.Mean\n        }\n\n        if (args.axis) {\n            const axis = await args.axis\n            const axis_n = await this.ConvertToNative(axis)\n\n            if (args.tensor) {\n                const tensor = await args.tensor\n                return tf.mean(tensor, axis_n)\n            }\n\n            return async (tensor) => this.Mean({ tensor, axis })\n        }\n    }\n    Sum = async (args) => {\n        if (!args) { // Sum ?\n            return this.Sum\n        }\n\n        if (args.axis) {\n            const axis = await args.axis\n            const axis_n = await this.ConvertToNative(axis)\n\n            if (args.tensor) {\n                const tensor = await args.tensor\n                return tf.sum(tensor, axis_n)\n            }\n\n            return async (tensor) => this.Sum({ tensor, axis })\n        }\n    }\n    Min = async ({ tensor, axis = tf.scalar(0) }) => {\n        axis = await this.ConvertToNative(await axis)\n        return tf.min(await tensor, await axis)\n    }\n\n    /*\n\n        Reshape { input: tensor, shape: [100 100] }     # ukecané\n        Reshape {shape: [100 100]} tensor               # Re-shape-shape \n        Reshape [100 100] tensor                        # hm\n        tensor -> Reshape [100 100]                     # ok\n        tensor -> Reshape { shape: [100 100] }          # ukecané\n        tensor.reshape([100, 100])                      # orig\n\n    */\n\n    // Shape shifters\n    Reshape = async ({ tensor, shape }) => {\n        shape = tf.tensor([tensor.shape])\n        shape = await this.ConvertToNative(await shape)\n        return tf.reshape(await tensor, await shape)\n    }\n    Squeeze = async ({ tensor, axis }) => {\n        axis = await this.ConvertToNative(await axis)\n        return tf.squeeze(await tensor, await axis)\n    }\n    SqueezeAll = async (tensor) => {\n        return tf.squeeze(await tensor)\n    }\n    Transpose = async (tensor) => {\n        return tf.transpose(await tensor)\n    }\n    ExpandDimension = async (args) => {\n        console.log(\"Expand dimension:\", args)\n        if (!args) { // ExpandDimension ?\n            return this.ExpandDimension\n        }\n\n        if (args.axis) {\n            const axis = await args.axis\n            const axis_n = await this.ConvertToNative(axis)\n\n            if (args.tensor) {\n                const tensor = await args.tensor\n                return tf.expandDims(tensor, axis_n)\n            }\n\n            return async (tensor) => this.ExpandDimension({ tensor, axis })\n        }\n\n        throw new Error(`Expected axis parameter.`)\n        \n    }\n    // ExpandDimension = async ({ tensor, axis = tf.scalar(0) }) => {\n    //     const axis_n = await this.ConvertToNative(await axis)\n\n    //     if (tensor) {\n    //         tensor = await tensor\n    //         return tf.expandDims(tensor, axis_n)\n    //     }\n\n    //     //return async (tensor) => tf.expandDims(tensor, axis)\n    //     return async (tensor) => this.ExpandDimension({ tensor, axis })\n    // }\n    RankUp = async (tensor) => {\n        return tf.expandDims(await tensor, 0)\n    }\n    ResizeBilinear = async ({ tensor, shape }) => {\n        shape = shape || this.Shape(await tensor)\n        shape = await this.ConvertToNative(await shape)\n        return tf.image.resizeBilinear(await tensor, await shape)\n    }\n    MaxPool = async ({ tensor, filterSize = tf.scalar(1), strides = tf.scalar(1) }) => {\n        filterSize = await this.ConvertToNative(await filterSize)\n        strides = await this.ConvertToNative(strides)\n        return tf.maxPool(await tensor, await filterSize, await strides, \"same\")\n    }\n    Convolution2D = async ({ tensor, filter, strides = tf.scalar(1) }) => {\n        strides = this.ConvertToNative(await strides)\n        return tf.conv2d(await tensor, await filter, await strides, \"same\")\n    }\n    Tile = async ({ tensor, reps }) => {\n        reps = await this.ConvertToNative(await reps)\n        return tf.tile(await tensor, await reps)\n    }\n    Slice = async ({ tensor, begin, size }) => {\n        begin = this.ConvertToNative(await begin)\n        size = this.ConvertToNative(await size)\n        return tf.slice(await tensor, await begin, await size)\n    }\n\n    // Arithmetics\n    Negative = tf.neg\n    Add = ({ a, b }) => tf.add(a, b)\n    Subtract = ({ a, b }) => tf.sub(a, b)\n    // Multiply = ({ a, b }) => tf.mul(a, b)\n    Multiply = ({ a, b }) => combineLatest(a, b).pipe(map(([a, b]) => tf.mul(a, b)))\n    Divide = ({ a, b }) => tf.div(a, b)\n    Modulus = ({ a, b }) => tf.mod(a, b)\n    Power = ({ a, b }) => tf.pow(a, b)\n    MatrixMultiply = ({ a, b }) => tf.matMul(a, b)\n    Square = tf.square\n    SquareRoot = tf.sqrt\n    Reciprocal = tf.reciprocal\n    Sign = tf.sign\n    Floor = tf.floor\n    Ceiling = tf.ceil\n    // Round = async (tensor) => tf.round(await tensor)\n    Round = a => {\n        console.log(a)\n        return a.pipe(map(a => tf.round(a)))\n    }\n    Absolute = tf.abs\n    Logarithm = tf.log\n\n    // Trigonometry\n    Sine = tf.sin\n    Cosine = tf.cos\n    Tangent = tf.tan\n    ArcusSine = tf.asin\n    ArcusCosine = tf.acos\n    ArcusTangent = tf.atan\n\n    // Activation Functions\n    ExponentialLinearUnit = tf.elu\n    RectifiedLinearUnit = tf.relu\n    Sigmoid = tf.sigmoid\n    Softmax = tf.softmax\n    Softplus = tf.softplus\n\n    /*\n    mu: Round (Mouse.x / 1440)\nx: mu * RandomNormal {\n    shape: [100 100]\n}\n    */\n\n    // Generators\n    RandomNormal = async ({ shape = of(tf.tensor([1])), mean = of(tf.scalar(0)), stdDev = of(tf.scalar(1)) }) => {\n        return combineLatestObj({ shape, mean, stdDev }).pipe(map(\n            async ({ shape, mean, stdDev }) => {\n                shape = await this.ConvertToNative(args.shape)\n                mean = await this.ConvertToNative(mean)\n                stdDev = await this.ConvertToNative(stdDev)\n\n                return tf.randomNormal(shape, mean, stdDev)\n            }\n        ))\n    }\n    RandomUniform = ({ shape, min = tf.scalar(0), max = tf.scalar(1), dtype }) => {\n        shape = this.ConvertToNative(shape)\n        min = this.ConvertToNative(min)\n        max = this.ConvertToNative(max)\n        return tf.randomUniform(shape, min, max, dtype)\n    }\n    LinearSpace = ({ start = tf.scalar(0), stop = tf.scalar(1), num = tf.scalar(10) }) => {\n        start = this.ConvertToNative(start)\n        stop = this.ConvertToNative(stop)\n        num = this.ConvertToNative(num)\n        return tf.linspace(start, stop, num)\n    }\n    Iota = async (value) => {\n        value = await this.ConvertToNative(value)\n        return tf.linspace(1, value, value)\n    }\n    Ones = (shape) => {\n        shape = this.ConvertToNative(shape)\n        return tf.ones(shape)\n    }\n    Zeros = (shape) => {\n        shape = this.ConvertToNative(shape)\n        return tf.zeros(shape)\n    }\n\n    GetDigit = (classes = tf.scalar(0)) => {\n        classes = this.ConvertToNative(classes)\n        // return tf.tensor(mnist[classes].get()).reshape([28, 28])\n    }\n\n    Gradient = (f) => {\n        return tf.grad(f)\n    }\n    StochasticGradientDescent = async ({\n            learningRate = tf.scalar(1),\n            maxIterations = tf.scalar(10),\n            maxTime = tf.scalar(1000)\n        }) => {\n        learningRate = await this.ConvertToNative(await learningRate)\n        maxIterations = await this.ConvertToNative(await maxIterations)\n        maxTime = await this.ConvertToNative(await maxTime)\n\n        const optimizer = tf.train.sgd(learningRate)\n        const minimize = optimizer.minimize.bind(optimizer)\n\n        const optimize = async (lossFn) => {\n            lossFn = await lossFn\n            const losses = []\n            const mu = new Variable(tf.tensor1d([]))\n            const t0 = performance.now()\n            for (let i = 0; i < maxIterations; i++) {\n                const u0 = performance.now()\n                const loss = await lossFn.call()\n                const cost = minimize((() => loss), true)\n                losses.push(await this.RankUp(await loss))\n                //mu.assign(tf.concat(await Promise.all(losses)))\n                const u1 = performance.now()\n\n                const timePerIteration = u1 - u0\n                const totalTime = u1 - t0\n\n                //console.log(\"timePerIteration\", timePerIteration)\n                //console.log(\"totalTime\", totalTime)\n\n                if (totalTime > maxTime) {\n                    break;\n                }\n                await tf.nextFrame()\n            }\n            //return mu\n            return tf.concat(await Promise.all(losses))\n        }\n\n        return optimize\n    }\n\nFlow = async ({ fn = async a => a, count = tf.scalar(1) }) => {\n    fn = await fn\n    count = await this.ConvertToNative(count)\n    return flow(Array.from({ length: count }, (v, i) => fn))\n}\n\nConvertToNative = async (tensor) => {\n    tensor = await tensor\n    const isTensor = (tensor instanceof tf.Tensor)\n    if (!isTensor) {\n        throw new Error(`Only tensors can be converted to native type.`)\n        console.log(tensor)\n        return\n    }\n    const data = await tensor.data()\n    if (tensor.rank === 0 && tensor.size === 1) {\n        return data[0]\n    }\n    return Array.from(data)\n}\n\n}\n\n// const registerMaxPool = () => {\n//     return registerFunction({\n//         description = {\n//             config: {\n//                 tensor: \"The input tensor, of rank 4 or rank 3 of shape [batch, height, width, inChannels]. If rank 3, batch of 1 is assumed.\",\n//                 filterSize: \"The filter size, a tuple [filterHeight, filterWidth]\",\n//                 stride: \"The strides of the pooling: [strideHeight, strideWidth]\"\n//             }\n//         },\n//         implementation = tf.maxPool(config.tensor, config.filterSize, config.strides, \"same\")\n//     })\n// }\n\nconst library = new Scope()\nexport default library"
  },
  {
    "path": "src/components/Interpreter_OLD/symbols.js",
    "content": "export const SYMBOLS = {\n    meta: Symbol.for(\"meta\"),\n    doc: Symbol.for(\"doc\"),\n    call: Symbol.for(\"call\")\n}"
  },
  {
    "path": "src/components/Interpreter_OLD/utils.js",
    "content": "import { Subject, Observable, combineLatest, of } from \"rxjs\"\nimport { map } from \"rxjs/operators\"\n\nexport const forEach_async = async (array, callback) => {\n    for (let index = 0; index < array.length; index++) {\n        await callback(array[index], index, array)\n    }\n}\n\nexport const get_async = async (object, path, defaultValue) => {\n    let index = 0\n    const length = path.length\n  \n    while (object !== null && index < length) {\n        object = await object[path[index++]]\n    }\n    return (index && (index === length)) ? object : defaultValue\n}\n\nexport const combineLatestObj = (obj) => {\n    var sources = []\n    var keys = []\n    for (let key in obj) {\n        if (obj.hasOwnProperty(key)) {\n            sources.push(obj[key])\n        }\n    }\n    return combineLatest(sources, () => {\n        var argsLength = arguments.length\n        var combination = {}\n        for (var i = argsLength - 1; i >= 0; i--) {\n            combination[keys[i]] = arguments[i]\n        }\n        return combination;\n    })\n  }"
  },
  {
    "path": "src/components/MonacoEditor/index.js",
    "content": "// import * as monaco from \"monaco-editor\"\n\n// (1) Desired editor features:\nimport 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';\nimport 'monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js';\n// import 'monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget.js';\n// import 'monaco-editor/esm/vs/editor/browser/widget/diffNavigator.js';\nimport 'monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js';\nimport 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js';\n// import 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js';\nimport 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js';\n// import 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js';\n// import 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorDetector.js';\nimport 'monaco-editor/esm/vs/editor/contrib/comment/comment.js';\nimport 'monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js';\nimport 'monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js';\nimport 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js';\nimport 'monaco-editor/esm/vs/editor/contrib/find/findController.js';\n// import 'monaco-editor/esm/vs/editor/contrib/folding/folding.js';\nimport 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js';\n// import 'monaco-editor/esm/vs/editor/contrib/goToDeclaration/goToDeclarationCommands.js';\n// import 'monaco-editor/esm/vs/editor/contrib/goToDeclaration/goToDeclarationMouse.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js';\nimport 'monaco-editor/esm/vs/editor/contrib/hover/hover.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js';\nimport 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/links/links.js';\nimport 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js';\n// import 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js';\n// import 'monaco-editor/esm/vs/editor/contrib/quickFix/quickFixCommands.js';\nimport 'monaco-editor/esm/vs/editor/contrib/referenceSearch/referenceSearch.js';\nimport 'monaco-editor/esm/vs/editor/contrib/rename/rename.js';\nimport 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js';\n// import 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js';\nimport 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickOutline.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/gotoLine.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickCommand.js';\n// import 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\n\nimport { renderMarkdown as rm } from 'monaco-editor/esm/vs/base/browser/htmlContentRenderer.js';\nexport const renderMarkdown = rm\n\n// (2) Desired languages:\n// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';\n// import 'monaco-editor/esm/vs/language/css/monaco.contribution';\nimport 'monaco-editor/esm/vs/language/json/monaco.contribution';\n// import 'monaco-editor/esm/vs/language/html/monaco.contribution';\n// import 'monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/css/css.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/go/go.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/html/html.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/java/java.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/less/less.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js';\nimport 'monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/php/php.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/python/python.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/r/r.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js';\n// import 'monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js';\n\nconst languageName = \"L1\"\n\nconst language = {\n    id: languageName,\n    extensions: [\".l1\", \".L1\"]\n}\n\nconst languageConfiguration = {\n    comments: {\n        lineComment: \";\"\n    }\n}\n\nconst provider = {\n    brackets: [\n        [\"{\", \"}\", \"delimiter.curly\"],\n        [\"[\", \"]\", \"delimiter.square\"],\n        [\"(\", \")\", \"delimiter.parenthesis\"],\n        [\"<\", \">\", \"delimiter.angle\"]\n    ],\n\n    tokenizer: {\n        root: [\n            [/-?[0-9][0-9_]*(\\.[0-9_]*)?/, \"number\"],\n            [/\\p{Lu}(\\p{Ll}|\\p{Lu}|\\p{Lt}|\\p{Lm}|\\p{Lo}|[-_0-9])*/u, \"type.identifier\"],\n            [/#(\\p{Ll}|\\p{Lu}|\\p{Lt}|\\p{Lm}|\\p{Lo})(\\p{Ll}|\\p{Lu}|\\p{Lt}|\\p{Lm}|\\p{Lo}|[-_0-9])*/u, \"symbol\"],\n            [/(\\p{Ll}|\\p{Lu}|\\p{Lt}|\\p{Lm}|\\p{Lo})(\\p{Ll}|\\p{Lu}|\\p{Lt}|\\p{Lm}|\\p{Lo}|[-_0-9])*/u, \"identifier\"],\n            [/[{}()\\[\\]]/, \"@brackets\"],\n            [/\"/, { token: \"string.quote\", bracket: \"@open\", next: \"@string\" } ],\n            [/[;].*$/, \"comment\"],\n            [/(\\p{Po}|\\p{Sm}|[\\^\\-])/u, \"operator\"]\n        ],\n        string: [\n            [/[^\\\\\"]+/, \"string\"],\n            [/\"/, { token: \"string.quote\", bracket: \"@close\", next: \"@pop\" } ]\n          ],\n    }\n}\n\nconst theme = {\n    base: \"vs\",\n    inherit: true,\n    rules: [\n        { token: \"operator\", foreground: \"ff0000\" },\n        { token: \"identifier\", foreground: \"3b8e23\" },\n        { token: \"symbol\", foreground: \"327a1f\" },\n        { token: \"type.identifier\", foreground: \"1459a9\" },\n        { token: \"number\", foreground: \"b1871b\" },\n        { token: \"string\", foreground: \"c225ca\" },\n        { token: \"comment\", foreground: \"73c0e2\" },\n    ]\n}\n\nmonaco.languages.register(language)\nmonaco.languages.setLanguageConfiguration(languageName, languageConfiguration)\nmonaco.editor.defineTheme(languageName, theme)\nmonaco.languages.setMonarchTokensProvider(languageName, provider)\n\nconst functions = [\"Shape\", \"Rank\", \"Min\", \"Max\", \"RankUp\", \"Transpose\", \"RandomNormal\", \"RandomUniform\"]\n\nmonaco.languages.registerCompletionItemProvider(languageName, {\n    provideCompletionItems: () => {\n        return [\n            ...(functions.map(label => ({\n                label,\n                kind: monaco.languages.CompletionItemKind.Function,\n                documentation: \"mu\"\n            }))),\n            {\n                label: 'ifelse',\n                kind: monaco.languages.CompletionItemKind.Snippet,\n                insertText: {\n                    value: [\n                        'if (${1:condition}) {',\n                        '\\t$0',\n                        '} else {',\n                        '\\t',\n                        '}'\n                    ].join('\\n')\n                },\n                documentation: 'If-Else Statement'\n            }\n        ]\n    }\n});\n\nexport default monaco"
  },
  {
    "path": "src/components/Panel/index.js",
    "content": "import React, { PureComponent } from \"react\"\n\nimport \"./style.sass\"\n\nexport default class Panel extends PureComponent {\n    state = {\n        scrolled: false\n    }\n    onScroll = (e) => {\n        if (e.target.scrollTop > 0 && !this.state.scrolled) {\n            this.setState({\n                scrolled: true\n            })\n            return\n        }\n\n        if (e.target.scrollTop === 0 && this.state.scrolled) {\n            this.setState({\n                scrolled: false\n            })\n            return\n        }\n    }\n    render() {\n        const scrolled = this.props.scrollable && this.state.scrolled\n        const className = \"panel\" + (scrolled ? \" scrolled\" : \"\") + (this.props.disabled ? \" disabled\" : \"\")\n\n        return (\n            <div id={this.props.id || \"\"} className={className} onScroll={this.props.scrollable ? this.onScroll : undefined}>\n                { this.props.children }\n            </div>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Panel/style.sass",
    "content": ".panel\n    display: grid\n    overflow-y: scroll\n    overflow-x: hidden\n    position: relative\n    flex: 1\n\n    &::-webkit-scrollbar\n        width: 5px\n    &::-webkit-scrollbar-thumb\n        border-radius: 10px\n        background-color: rgba(100, 100, 100, .4)\n        &:hover\n            background-color: rgba(100, 100, 100, .7)\n        &:active\n            background-color: rgba(0, 0, 0, .6)\n\n\n    &:after\n        content: \"\"\n        position: absolute\n        width: calc(100% - 2px)\n        left: 1px\n        height: 6px\n        border-radius: 5px\n        box-shadow: #ddd 0 6px 6px -6px inset\n        pointer-events: none\n        opacity: 0\n        transition: opacity 0.2s\n\n    &.scrolled:after\n        opacity: 1\n\n    &.disabled\n        filter: grayscale(1) opacity(0.5)\n\n    > .header\n        display: none\n\n    &.property\n        will-change: transform\n        &:hover\n            background-color: transparent !important\n            border-color: lightgray !important"
  },
  {
    "path": "src/components/Parser/grammar.ohm",
    "content": "L1 {\n    StartHere\n        = Program\n\n    Program\n        = Assignment*\n\n    Assignment\n        = \"_\"? Path \":\" Value (\"\\n\"|\",\")? -- normal\n        | \"::\" Path (\"\\n\"|\",\"|\";\")? -- import\n        \n    Function\n        = (identifier) \"=>\" Expression\n\n    Value\n        = Expression\n        \n    Expression (an expression)\n        = Pipeline\n        \n    Pipeline\n    \t= Pipeline (\"->\"|\"|>\") (~Assignment Addition) -- binary\n        | Addition -- fallthrough\n        \n    Addition\n        = (Addition (\"+\"|\"-\") Multiplication) -- binary\n        | Multiplication -- fallthrough\n        | \"+\" Multiplication -- sum\n        | \"-\" Multiplication -- negative\n    Multiplication\n        = (Multiplication (\"*\"|\"×\"|\"/\"|\"÷\"|\"%\"|\"@\"|\"⊗\") Exponentiation) -- binary\n        | Exponentiation -- fallthrough\n        | \"*\" Multiplication  -- product\n        | \"/\" Multiplication  -- reciprocal\n    Exponentiation\n        = Access \"^\" Exponentiation  -- binary\n        | Access -- fallthrough\n    Access\n        = Access \".\" Path -- binary\n        | FunctionApplication -- fallthrough\n\n    FunctionApplication\n        = PrimitiveExpression (~Assignment FunctionApplication)?\n    \n    PrimitiveExpression\n        = \"(\" Value \")\"  -- paren\n        | \"'\" PrimitiveExpression  -- magic\n        | Function\n        | Object\n        | Reference -- path\n        | Tensor  -- tensor\n        | \"[\" \"]\" -- emptyTensor\n        | \"(\" \")\" -- none1\n        | \"!\" -- none2\n        | string\n        \n    Reference\n        = Path\n    Path\n        = nonemptyListOf<(identifier | symbol), \".\">\n\n    Object (object)\n        = \"{\" Program \"}\"\n\n    Scalar\n        = number\n    Vector (vector)\n        = \"[\" row \"]\"\n    Matrix (matrix)\n        = \"[\" rows \"]\"\n    Tensor\n        = (Scalar | Vector | Matrix)\n\n    rows\n        = nonemptyListOf<row, rowSeparator>\n    row\n        = spaceButNewLine* nonemptyListOf<number, spaceButNewLine*> spaceButNewLine*\n    rowSeparator\n        = (\"\\n\" | \",\")\n    spaceButNewLine\n        = ~\"\\n\" space\n    number (a number)\n        = \"-\"? (digit|\"_\")+ (\".\" (digit|\"_\")*)?\n\n    string\n        = \"\\\"\" (~\"\\\"\" any)* \"\\\"\"\n\n    identifier (an identifier)\n        = &letter (alnum | \"_\" | \"-\")+\n    symbol (a symbol)\n        = \"#\" identifier\n\n    // TODO: Comment that will comment out the rest of the program.\n    space\n        += lineComment\n    lineComment\n        = ((\";\") (~\"\\n\" any)*) \"\\n\"?\n}"
  },
  {
    "path": "src/components/Parser/index.js",
    "content": "import ohm from \"ohm-js\"\nimport grammar from \"./grammar.ohm\"\nimport semantics from \"./semantics.js\"\n\nclass Parser {\n    grammar = null\n    semantics = null\n    constructor() {\n        this.grammar = ohm.grammar(grammar)\n        this.semantics = this.grammar.createSemantics().addOperation(semantics.operation, semantics.actions)\n    }\n    parse = (code, issues) => {\n        return new Promise(resolve => {\n            const result = this.parseSync(code, issues)\n            resolve(result)\n        })\n    }\n    parseSync = (code, issues) => { \n        const match = this.grammar.match(code)\n        const success = match.succeeded()\n        if (success) {\n            const semanticMatch = this.semantics(match)\n            const result = semanticMatch[semantics.operation].call(semanticMatch)\n            return {\n                result\n            }\n        } else {\n            const issue = {\n                ...convertToLineNumberAndColumn(code, match.getRightmostFailurePosition()),\n                message: \"Expected \" + match.getExpectedText(),\n                severity: \"error\"\n            }\n            issues.next(issue)\n\n            return {\n                result: null\n            }\n        }\n    }\n}\n\nexport default new Parser\n\nexport const convertToLineNumberAndColumn = (code, startOffset, endOffset) => {\n    endOffset = endOffset || startOffset\n\n    const start = getLineAndColumn(code, startOffset)\n    const end = getLineAndColumn(code, endOffset)\n    return {\n        startLineNumber: start.lineNum,\n        startColumn: start.colNum,\n        endLineNumber: end.lineNum,\n        endColumn: end.colNum,\n        _value: code.substring(startOffset, endOffset)\n    }\n}\n\n// import { getLineAndColumn } from \"ohm/src/util\"\nexport const getLineAndColumn = function(str, offset) {\n    var lineNum = 1;\n    var colNum = 1;\n  \n    var currOffset = 0;\n    var lineStartOffset = 0;\n  \n    var nextLine = null;\n    var prevLine = null;\n    var prevLineStartOffset = -1;\n  \n    while (currOffset < offset) {\n      var c = str.charAt(currOffset++);\n      if (c === '\\n') {\n        lineNum++;\n        colNum = 1;\n        prevLineStartOffset = lineStartOffset;\n        lineStartOffset = currOffset;\n      } else if (c !== '\\r') {\n        colNum++;\n      }\n    }\n  \n    // Find the end of the target line.\n    var lineEndOffset = str.indexOf('\\n', lineStartOffset);\n    if (lineEndOffset === -1) {\n      lineEndOffset = str.length;\n    } else {\n      // Get the next line.\n      var nextLineEndOffset = str.indexOf('\\n', lineEndOffset + 1);\n      nextLine = nextLineEndOffset === -1 ? str.slice(lineEndOffset)\n                                          : str.slice(lineEndOffset, nextLineEndOffset);\n      // Strip leading and trailing EOL char(s).\n      nextLine = nextLine.replace(/^\\r?\\n/, '').replace(/\\r$/, '');\n    }\n  \n    // Get the previous line.\n    if (prevLineStartOffset >= 0) {\n      prevLine = str.slice(prevLineStartOffset, lineStartOffset)\n                    .replace(/\\r?\\n$/, '');  // Strip trailing EOL char(s).\n    }\n  \n    // Get the target line, stripping a trailing carriage return if necessary.\n    var line = str.slice(lineStartOffset, lineEndOffset).replace(/\\r$/, '');\n\n    return {\n      lineNum: lineNum,\n      colNum: colNum,\n      line: line,\n      prevLine: prevLine,\n      nextLine: nextLine\n    };\n  };"
  },
  {
    "path": "src/components/Parser/semantics.js",
    "content": "import { isEmpty } from \"lodash-es\"\nimport dedent from \"dedent\"\n\nimport { convertToLineNumberAndColumn } from \"./index\"\n\nconst semantics = {\n    operation: \"eval\",\n    actions: {\n        Program: function(data) {\n            return {\n                ...includeSource(this.source),\n                type: \"Program\",\n                value: data.eval()\n            }\n        },\n        Assignment_normal: function(f1, p, o, v, __) {\n            const silent = (f1.sourceString === \"_\")\n\n            const path = p.eval()\n            const value = v.eval()\n            return {\n                ...includeSource(this.source),\n                type: \"Assignment\",\n                path,\n                value,\n                silent\n            }\n        },\n        Assignment_import: function(_, p, __) {\n            const path = p.eval()\n            return {\n                ...includeSource(this.source),\n                type: \"Assignment\",\n                path: {\n                    ...includeSource(this.source),\n                    type: \"Path\",\n                    value: [path.value.slice(-1).pop()]\n                },\n                value: {\n                    ...includeSource(this.source),\n                    type: \"Reference\",\n                    value: path\n                }\n            }\n        },\n        FunctionApplication: function(fn, arg) {\n            arg = arg.eval()\n            fn = fn.eval()\n\n            if (isEmpty(arg)) {\n                return fn\n            }\n\n            return {\n                ...includeSource(this.source),\n                type: \"FunctionApplication\",\n                direction: \"backward\",\n                function: fn,\n                argument: arg[0]\n            }\n        },\n        Pipeline_binary: function (arg, _, fn) {\n            let argument = arg.eval()\n            return {\n                ...includeSource(this.source),\n                type: \"FunctionApplication\",\n                direction: \"forward\",\n                function: fn.eval(),\n                argument\n            }\n        },\n        Path: function(mu) {\n            return {\n                ...includeSource(this.source),\n                type: \"Path\",\n                value: mu.eval()\n            }\n        },\n        Function: function(argument, _, value) {\n            return {\n                ...includeSource(this.source),\n                type: \"Function\",\n                argument: argument.eval(),\n                value: value.eval()\n            }\n        },\n        Object: function(_, data, __) {\n            return {\n                ...includeSource(this.source),\n                type: \"Object\",\n                value: data.eval()\n            }\n        },\n        Matrix: function(_, data, __) {\n            return {\n                ...includeSource(this.source),\n                type: \"TensorLiteral\",\n                rank: 2,\n                value: data.eval()\n            }\n        },\n        Vector: function(_, data, __) {\n            return {\n                ...includeSource(this.source),\n                type: \"TensorLiteral\",\n                rank: 1,\n                value: data.eval()\n            }\n        },\n        Scalar: function(data) {\n            return {\n                ...includeSource(this.source),\n                type: \"TensorLiteral\",\n                rank: 0,\n                value: data.eval()\n            }\n        },\n        // Ohm, why are you like this?\n        Addition_binary: function(l, op, r) { return binaryOperation(l, op, r, this.source) },\n        Multiplication_binary: function(l, op, r) { return binaryOperation(l, op, r, this.source) },\n        Exponentiation_binary: function(l, op, r) { return binaryOperation(l, op, r, this.source) },\n        Access_binary: function(l, op, r) { return binaryOperation(l, op, r, this.source) },\n        PrimitiveExpression_tensor: function(value) {\n            return {\n                ...includeSource(this.source),\n                type: \"Tensor\",\n                value: value.eval()\n            }\n        },\n        Addition_sum: function(op, v) { return unaryOperation(op, v, this.source) },\n        Addition_negative: function(op, v) { return unaryOperation(op, v, this.source) },\n        Multiplication_product: function(op, v) { return unaryOperation(op, v, this.source) },\n        Multiplication_reciprocal: function(op, v) { return unaryOperation(op, v, this.source) },\n        PrimitiveExpression_magic: function(op, v) { return unaryOperation(op, v, this.source) },\n        PrimitiveExpression_paren: function(_, v, __) { return v.eval() },\n        PrimitiveExpression_none1: function(_, __) {\n            return {\n                ...includeSource(this.source),\n                ...None\n            }\n        },\n        PrimitiveExpression_none2: function(_) {\n            return {\n                ...includeSource(this.source),\n                ...None\n            }\n        },\n        PrimitiveExpression_emptyTensor: function(_, __) {\n            return {\n                ...includeSource(this.source),\n                type: \"Tensor\",\n                value: {\n                    type: \"TensorLiteral\",\n                    rank: 0,\n                    value: []\n                }\n            }\n        },\n        Reference: function(path) {\n            return {\n                ...includeSource(this.source),\n                type: \"Reference\",\n                value: path.eval()\n            }\n        },\n        row: function(_, data, __) {\n            return data.eval()\n        },\n        rows: function(data) {\n            return data.eval()\n        },\n        identifier: function(_, __) {\n            return this.sourceString\n        },\n        symbol: function(_, identifier) {\n            return Symbol.for(identifier.eval())\n        },\n        number: function(_, __, ___, ____) {\n            const v = this.sourceString.replace(/_/g, \"\")\n            return parseFloat(v, 10)\n        },\n        string: function(_, value, __) {\n            return {\n                ...includeSource(this.source),\n                type: \"String\",\n                value: dedent(value.sourceString)\n            }\n        },\n        nonemptyListOf: function(x, _, xs) {\n            return [x.eval()].concat(xs.eval())\n        }\n    }\n}\n\nconst unaryOperation = (op, value, source) => ({\n    ...includeSource(source),\n    type: \"Operation\",\n    operator: op.sourceString,\n    left: None,\n    right: value.eval()\n})\n\nconst binaryOperation = (left, op, right, source) => ({\n    ...includeSource(source),\n    type: \"Operation\",\n    operator: op.sourceString,\n    left: left.eval(),\n    right: right.eval()\n})\n\nconst includeSource = (source) => ({\n    _source: convertToLineNumberAndColumn(source.sourceString, source.startIdx, source.endIdx)\n})\n\nconst None = {\n    type: \"None\"\n}\n\nconst EmptyTensor = {\n    type: \"Tensor\"\n}\n\nexport default semantics"
  },
  {
    "path": "src/components/Spinner/index.js",
    "content": "import React from \"react\"\n\nimport \"./style.sass\"\n\nexport default (props) => (\n    <div class=\"spinner center\">\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n        <div class=\"spinner-blade\"></div>\n    </div>\n)\n\n// https://www.cssscript.com/ios-os-x-style-pure-css-loading-spinner/"
  },
  {
    "path": "src/components/Spinner/style.sass",
    "content": "$spinner-color: #69717d !default\n$spinner-size: 48px !default\n\n.spinner\n  font-size: $spinner-size\n  position: relative\n  display: inline-block\n  width: 1em\n  height: 1em\n  &.center\n    position: absolute\n    left: 0\n    right: 0\n    top: 0\n    bottom: 0\n    margin: auto\n  .spinner-blade\n    position: absolute\n    left: .4629em\n    bottom: 0\n    width: .074em\n    height: .2777em\n    border-radius: .0555em\n    background-color: transparent\n    transform-origin: center -.2222em\n    animation: spinner-fade 1s infinite linear\n\n    $animation-delay: 0s\n    $blade-rotation: 0deg\n\n    @for $i from 1 through 12\n      &:nth-child(#{$i})\n        animation-delay: $animation-delay\n        transform: rotate($blade-rotation)\n        $blade-rotation: $blade-rotation + 30\n        $animation-delay: $animation-delay + .083\n\n@keyframes spinner-fade\n  0%\n    background-color: $spinner-color\n  100%\n    background-color: transparent"
  },
  {
    "path": "src/components/Studio/hello-world.l1",
    "content": "hello-world: 23 + 24\n\n; Uncomment following line for more:\n; ::Self"
  },
  {
    "path": "src/components/Studio/index.js",
    "content": "import React, { PureComponent } from \"react\"\nimport { of } from \"rxjs\"\nimport { Base64 } from \"js-base64\"\n\nimport \"normalize.css\"\nimport \"./style.sass\"\n\nimport Editor from \"../Editor\"\nimport Evaluator from \"../Evaluator\"\nimport Board from \"../Board\"\nimport Panel from \"../Panel\"\n\nimport helloWorldCode from \"./hello-world.l1\"\n\nconst encodeSource = (code) => Base64.encode(code)\n\nconst decodeHash = (hash) => {\n    try {\n        return Base64.decode(hash)\n    } catch (e) {\n        return undefined\n    }\n}\n\nconst codeFromHash = decodeHash(document.location.hash.substring(1))\nif (codeFromHash) {\n    history.replaceState({ code: codeFromHash, saved: true, timestamp: Date.now() }, \"\", \"#\" + encodeSource(codeFromHash))\n}\nconst defaultCode = codeFromHash || helloWorldCode\n\nexport default class Studio extends PureComponent {\n    _editor = null\n    state = {\n        code: defaultCode,\n        ast: null,\n        computedValues: of({}),\n        outOfSync: false\n    }\n    _onPopState = (e) => {\n        if (e.state && e.state.code) {\n            this._editor.setContent(e.state.code)\n        }\n    }\n    componentDidMount() {\n        window.addEventListener(\"popstate\", this._onPopState)\n        window.loadCode = (hash) => {\n            const code = decodeHash(hash)\n            this._editor.setContent(code)\n            history.pushState({ code, saved: true, timestamp: Date.now() }, \"\", \"#\" + hash)\n        }\n    }\n    componentWillUnmount() {\n        window.removeEventListener(\"popstate\", this._onPopState)\n    }\n    handleHistory(code) {\n        if (code !== this.state.code) {\n            if (history.state) {\n                if (history.state.saved || false) {\n                    history.pushState({ code, saved: false, timestamp: Date.now() }, \"\", \"#\")\n                } else {\n                    history.replaceState({ code, saved: false, timestamp: Date.now() }, \"\", \"#\")\n                }\n            } else {\n                history.pushState({ code, saved: false, timestamp: Date.now() }, \"\", \"#\")\n            }\n        }\n    }\n    codeChanged = async (code, editor, issues, forced) => {\n        if (!forced) {\n            this.handleHistory(code)\n        }\n        const result = await Evaluator.evaluate(code, {}, issues)\n\n        if (result.ast) {\n            this.setState({\n                ...result,\n                outOfSync: false\n            })\n        } else {\n            this.setState({ code, outOfSync: true })\n        }\n    }\n    saveCode = () => {\n        history.replaceState({ code: this.state.code, saved: true, timestamp: Date.now() }, \"\", \"#\" + encodeSource(this.state.code))\n    }\n    render() {\n        return (\n            <div className=\"studio\">\n                <Panel id=\"board\" scrollable={true} disabled={this.state.outOfSync}>\n                    <Board data={this.state.computedValues} />\n                </Panel>\n                <Panel id=\"editor\">\n                    <Editor\n                        ref={e => this._editor = e}\n                        content={this.state.code}\n                        language=\"L1\"\n                        theme=\"L1\"\n                        onChange={this.codeChanged}\n                        onExecute={this.codeChanged.bind(this, this.state.code)}\n                        onSave={this.saveCode}\n                    />\n                </Panel>\n                {/* <Panel name=\"AST\" hidden={true}>\n                    <Editor\n                        content={JSON.stringify(this.state.ast, null, 2)}\n                        language=\"json\"\n                        readOnly={true}\n                        tabSize={2}\n                    />\n                </Panel> */}\n            </div>\n        )\n    }\n}"
  },
  {
    "path": "src/components/Studio/style.sass",
    "content": "@import \"~firacode/distr/fira_code.css\"\n\nhtml, body\n    overflow: hidden\n\n.studio\n    display: grid\n    grid-template-columns: repeat(auto-fit, minmax(20em, 1fr))\n    grid-template-rows: minmax(10em, 1fr)\n    grid-gap: 0.5em\n    height: 100vh\n    width: 100vw\n    padding: 0.5em\n    box-sizing: border-box"
  },
  {
    "path": "src/components/Studio/test.worker.js",
    "content": "// Post data to parent thread\n// self.postMessage({ foo: \"foo\" })\n\n// Respond to message from parent thread\n// self.addEventListener(\"message\", (event) => {\n//     const code = event.data.code\n// })\n\n// From the main thread\n// import Worker from \"./test.worker\"\n// const worker = new Worker()\n// worker.addEventListener(\"message\", (event) => {\n//     console.log(\"Message from worker\", event)\n// })\n// worker.postMessage({ code })"
  },
  {
    "path": "src/gallery/README.md",
    "content": "# Examples\n\n- [Hello World](https://mlajtos.github.io/L1/latest/#aGVsbG8td29ybGQ6IDIzICsgMjQKCjsgVW5jb21tZW50IGZvbGxvd2luZyBsaW5lIGZvciBtb3JlOgo7IDo6U2VsZg==)\n\n- [Built-in RTFM](https://mlajtos.github.io/L1/latest/#OjpTZWxm) – self-hosted documentation\n\n- [Current Promo](https://mlajtos.github.io/L1/latest/#YTogWzEgMiAzXSAgICAgICAgICA7IGNvbnN0IGEgPSB0Zi50ZW5zb3IoWzEsIDIsIDNdKQpiOiBbMSwyLDNdICAgICAgICAgIDsgY29uc3QgYiA9IHRmLnRlbnNvcihbWzFdLCBbMl0sIFszXV0pCmM6IFNoYXBlIGEgLT4gRXllICAgOyBjb25zdCBjID0gdGYuZXllKGEuc2hhcGVbMF0pCmQ6IChhICogYileYyAgICAgICAgOyBjb25zdCBkID0gYS5tdWwoYikucG93KGMp) – [Current promo code](https://github.com/mlajtos/L1/blob/master/Screenshots/Screenshot4.png) with JS equivalent\n\n- [Old Promo](https://mlajtos.github.io/L1/latest/#OyBMMTogVGVuc29yIFN0dWRpbyAKOwo7ICAgIkxpdmUtY29kaW5nIHdpdGggVGVuc29ycyIKOwo7ICAgICAgIGh0dHBzOi8vbWxhanRvcy5naXRodWIuaW8vTDEKCgo7IEV4YW1wbGU6CjsgICBNdWx0aXBseWluZyByb3cgYW5kIGNvbHVtbiB2ZWN0b3IKCng6IFsxIDIgM10KeTogWzEsMiwzXQp6OiB4ICogeQ==) – [Old promo code](https://github.com/mlajtos/L1/blob/master/Screenshots/Screenshot.png)\n\n- [Activation Functions on Random Distributions](https://mlajtos.github.io/L1/latest/#OyBHYWxsZXJ5IG9mIEFjdGl2YXRpb24gRnVuY3Rpb25zIG9uIFJhbmRvbSBEaXN0cmlidXRpb25zCgpfZ2FsbGVyeTogeCA9PiB7CiAgICBpZGVudGl0eTogeAogICAgcmVsdTogUmVjdGlmaWVkTGluZWFyVW5pdCB4CiAgICBzaWdtb2lkOiBTaWdtb2lkIHgKICAgIGVsdTogRXhwb25lbnRpYWxMaW5lYXJVbml0IHgKICAgIHNlbHU6IFNjYWxlZEV4cG9uZW50aWFsTGluZWFyVW5pdCB4CiAgICBzaW46IFNpbmUgeAogICAgbG9nOiBMb2dhcml0aG0geAogICAgc29mdHBsdXM6IFNvZnRwbHVzIHgKfQpfc2hhcGU6IFsxMDAgMTAwXQpfdGVzdDogcmFuZG9tRGlzdHJpYnV0aW9uID0+IGdhbGxlcnkgcmFuZG9tRGlzdHJpYnV0aW9uIHNoYXBlCgpyYW5kb20tbm9ybWFsOiB0ZXN0IFJhbmRvbU5vcm1hbApyYW5kb20tdW5pZm9ybTogdGVzdCBSYW5kb21Vbmlmb3JtCg==) - illustration of what an activation function can do to a random tensor\n\n- [Closures](https://mlajtos.github.io/L1/latest/#OyBFeGFtcGxlIG9mIGNsb3N1cmVzCgptYWtlQWRkZXI6IHggPT4geSA9PiB4ICsgeQphZGQ1OiBtYWtlQWRkZXIgNQphZGQxMDogbWFrZUFkZGVyIDEwCgp0ZXN0MTogYWRkNSAyCnRlc3QyOiBhZGQxMCAy) – basically a super-power\n\n- [Range](https://mlajtos.github.io/L1/latest/#UmFuZ2U6IHsKICAgICNkb2M6ICIKICAgICAgICAjIFJhbmdlCiAgICAgICAgUmV0dXJucyByYW5nZSBvZiB2YWx1ZXMgZnJvbSB0ZW5zb3IKCiAgICAgICAgYGBgCiAgICAgICAgYTogUmFuZ2UgWzEgMiAzXSA7IGE6IDIKICAgICAgICBgYGAKICAgICIKICAgICNjYWxsOiBhID0+IE1heCBhIC0gTWluIGEKfQoKZGF0YTogUmFuZG9tTm9ybWFsIFsyMCAyMF0KcmFuZ2U6IFJhbmdlIGRhdGE=) – Sample implementation of functional object, including documentation\n\n- [Hidden Assignment](https://mlajtos.github.io/L1/latest/#OyBBc3NpZ25tZW50IHByZWZpeGVkIHdpdGggdW5kZXJzY29yZSBpcyBoaWRkZW4KCl9wcml2YXRlU3R1ZmY6IHsKICAgIGE6IDIKICAgIHN0cjogIgogICAgICAgICMjIyBIZWxsbwogICAgICAgIEhvdyBhcmUgeW91PwogICAgIgogICAgZm46IHggPT4gYSAqIHggKyAxCn0KCiNkb2M6IHByaXZhdGVTdHVmZi5zdHIKbXU6IChwcml2YXRlU3R1ZmYuZm4gMjMp) – unimportant assignments can be *silenced*\n- [Logo](https://mlajtos.github.io/L1/latest/#TDE6IFsKICAgIDAgMCAwIDAgMCAwIDAKICAgIDAgMSAwIDAgMSAxIDAKICAgIDAgMSAwIDAgMCAxIDAKICAgIDAgMSAwIDAgMCAxIDAKICAgIDAgMSAwIDAgMCAxIDAKICAgIDAgMSAxIDEgMCAxIDAKICAgIDAgMCAwIDAgMCAwIDAKXQ==) – silly example demonstrating matrix literal\n\n- [Sine Experiment](https://mlajtos.github.io/L1/latest/#SW90YTogewogICAgI2RvYzogIgogICAgICAgICMgSW90YQogICAgICAgIAogICAgICAgIFByb2R1Y2VzIGEgdmVjdG9yIG9mIGxlbmd0aCBgbmAgd2l0aCB2YWx1ZXMgZnJvbSBgMWAgdG8gYG5gCgogICAgICAgICAgICBhOiBJb3RhIDMgOyBhID0gWzEgMiAzXQogICAgIgogICAgI2NhbGw6IGkgPT4gTGluZWFyU3BhY2UgewogICAgICAgIHN0YXJ0OiAxCiAgICAgICAgc3RvcDogaQogICAgICAgIGNvdW50OiBpCiAgICB9Cn0KCmE6IElvdGEgNTAgLT4gRXhwYW5kIDAKYjogYSAqIFRyYW5zcG9zZSBhCmM6IFNpbmUgYg==) – weird example\n\n- [Cosine Experiment](https://mlajtos.github.io/L1/latest/#X2E6IExpbmVhclNwYWNlIHsKICAgIHN0YXJ0OiAwCiAgICBzdG9wOiAxMAogICAgY291bnQ6IDEwMDAKfSAtPiBFeHBhbmQgMApfYjogVHJhbnNwb3NlIGEKX2M6IGEgKiBiCmQ6IENvc2luZSBj) – another weird pattern\n\n- [Sine Experiment 2](https://mlajtos.github.io/L1/latest/#X3Jlc29sdXRpb246IDEwMDAKX3JhbmdlOiAxMAoKX2E6IExpbmVhclNwYWNlIHsKICAgIHN0YXJ0OiAtcmFuZ2UKICAgIHN0b3A6IHJhbmdlCiAgICBjb3VudDogcmVzb2x1dGlvbgp9CgpfYjogYSAtPiBFeHBhbmQgMQoKX2M6IFRyYW5zcG9zZSBiCl9kOiBjICogYgplOiBTaW5lIGQ=) – beautiful pattern\n\n- [Random Number of Random Numbers](https://mlajtos.github.io/L1/latest/#I2RvYzogIgogICAgIyBSYW5kb20gTnVtYmVyIG9mIFJhbmRvbSBOdW1iZXJzCgogICAgSG93IGRvIHlvdSBkbyB0aGlzIGluIFRlbnNvckZsb3cgb3IgUHlUb3JjaD8KIgoKcmFuZG86CiAgICBSYW5kb21Vbmlmb3JtICEKICAgIC0+IHIgPT4gMSArIDEwICogcgogICAgLT4gRmxvb3IKICAgIC0+IFJhbmRvbU5vcm1hbA==) – demonstration of simple flexibility\n\n## Prototyping new language features\n- [Pattern Matching 1](https://mlajtos.github.io/L1/latest/#c29tZURhdGE6IHttaW46IDIsIG1heDozIH0KCmE6IHNvbWVEYXRhCiAgICAgPyB7bWluLCBtYXh9CiAgICAgICAgLT4gQ2xpcCB7IG1pbiwgbWF4IH0KICAgICA/IHttYXh9CiAgICAgICAgLT4gQ2xpcCB7IG1heCB9CiAgICAgPyB7bWlufQogICAgICAgIC0+IENsaXAgeyBtaW4gfQogICAgID8ge30KICAgICAgICAtPiBbXQ==) – an example of how pattern-matching could work in the future\n- [Pattern Matching 2](https://mlajtos.github.io/L1/latest/#c29tZURhdGE6IHsgbWluOiAyLCBtYXg6MyB9CgphOiBzb21lRGF0YSA/CiAgICAge21pbiwgbWF4fSAtPiBDbGlwIHsgbWluLCBtYXggfQogICAgIHttYXh9ICAgICAgLT4gQ2xpcCB7IG1heCB9CiAgICAge21pbn0gICAgICAtPiBDbGlwIHsgbWluIH0KICAgICB7fSAgICAgICAgIC0+IFtd) – slightly better syntax (no idea about parsability)\n"
  },
  {
    "path": "src/gallery/future/functional_object.l1",
    "content": "mu: {\n    #call: a => {\n        precheck: (precondition a)\n        value: precheck ? (transform a) : a\n        postcheck: (postcondition value)\n        returnValue: postcheck ? value : a\n    }.returnValue\n    precondition: a => (0 <= a) && (a < 100)\n    transform: a => (a + 1)\n    postcondition: a => (a <= 100)\n}\n\nres0: mu -2\nres1: mu -1\nres2: mu 0\nres3: mu 99\nres4: mu 100\nres5: mu 101"
  },
  {
    "path": "src/gallery/future/interactive_tensors.l1",
    "content": "x: Transpose RankUp Iota Mouse.x\ny: RankUp Iota Mouse.y\nmu: x @ y"
  },
  {
    "path": "src/gallery/old/0_helloWorld.l1",
    "content": "hello-world: 23 + 24\n\n; Uncomment following line for more:\n; ::Self"
  },
  {
    "path": "src/gallery/old/10_simple_model.js",
    "content": "const a = tf.variable(tf.scalar(Math.random()));\nconst b = tf.variable(tf.scalar(Math.random()));\nconst c = tf.variable(tf.scalar(Math.random()));\nconst d = tf.variable(tf.scalar(Math.random()));\n\nfunction predict(x) {\n  // y = a * x ^ 3 + b * x ^ 2 + c * x + d\n  return tf.tidy(() => {\n    return a.mul(x.pow(tf.scalar(3))) // a * x^3\n      .add(b.mul(x.square())) // + b * x ^ 2\n      .add(c.mul(x)) // + c * x\n      .add(d); // + d\n  });\n}\n\nfunction loss(predictions, labels) {\n  // Subtract our labels (actual values) from predictions, square the results,\n  // and take the mean.\n  const meanSquareError = predictions.sub(labels).square().mean();\n  return meanSquareError;\n}\n\nconst learningRate = 0.5;\nconst optimizer = tf.train.sgd(learningRate);\n\nfunction train(xs, ys, numIterations = 75) {\n\n  const learningRate = 0.5;\n  const optimizer = tf.train.sgd(learningRate);\n\n  for (let iter = 0; iter < numIterations; iter++) {\n    optimizer.minimize(() => {\n      const predsYs = predict(xs);\n      return loss(predsYs, ys);\n    });\n  }\n}\n\nfor (let iter = 0; iter < numIterations; iter++) {\n  optimizer.minimize(() => {\n    const predsYs = predict(xs);\n    return loss(predsYs, ys);\n  });\n}"
  },
  {
    "path": "src/gallery/old/13_edge_detection_pipeline.l1",
    "content": "; pipeline version\n\nFn: MaxPool { filterSize: 2 strides: 1 }\ne: GetDigit 5\n    -> ExpandDimension { axis: 2 }\n    -> a => (Fn a) + (Fn -a)\n    ;-> ResizeBilinear { shape: 2 * (Shape $) }\n    -> a => a -> ResizeBilinear { shape: 2 * (Shape a) }"
  },
  {
    "path": "src/gallery/old/14_edge_detection_compressed.l1",
    "content": "mu.in: GetDigit 5\nmu: { a: ExpandDimension {tensor: mu.in axis: 2} Fn: x => MaxPool { tensor: x filterSize: 2 strides: 1 } d: (Fn a) + (Fn -a) mu.out: d }\na: mu.out"
  },
  {
    "path": "src/gallery/old/18_average_digit.l1",
    "content": "digit: 4\nsamplesToAverage: 1000\n\naverageDigit: d => {\n    summed: Iterate {\n        f: a => a + (GetDigit digit)\n        count: samplesToAverage\n    }\n    averageDigit: summed (Zeros [28 28]) / samplesToAverage\n}\n\nmu: averageDigit digit\ngu: mu.averageDigit"
  },
  {
    "path": "src/gallery/old/19_nth_order_gradient.l1",
    "content": "f: Sigmoid\nnthOrderGradient: cfg => Iterate {\n    f: Gradient cfg.f\n    count: cfg.n\n}\ngrad: nthOrderGradient { f: f n: 1 }\ninterval: (Iota 100 - 50)\nfn: f interval\ngradient: grad interval\n"
  },
  {
    "path": "src/gallery/old/20_maxPool_translation.l1",
    "content": "; MaxPool can do translation\n\ndigit: 5\niterations: 10\n\nRankUp: t => ExpandDimension {\n    tensor: t\n    axis: 2\n}\n\niterateMaxPool: Iterate {\n        f: a => MaxPool {\n            tensor: -a ; changing the sign every iteration\n            filterSize: 2\n        }\n        count: iterations\n}\n\nx: RankUp (GetDigit digit)\nmu: iterateMaxPool x"
  },
  {
    "path": "src/gallery/old/22_polynomial_regression.l1",
    "content": "_Data: {\n    xs: Transpose RankUp (1 + Iota 1000)\n    ys: xs + 5\n}\n\nModel: {\n    b: 1\n    $c: 1\n\n    _predict: x => x * b + c\n    _loss: labels => predictions =>\n        (labels - predictions)^2\n            -> Mean { axis: 0 }\n            -> Sum { axis: 0 }\n\n    _step: y => x => (loss y) (predict x)\n    test: {\n        p: predict Data.xs\n        l: (loss Data.ys) p\n        s: (step Data.ys) Data.xs\n    }\n}\n\nOptimizer: {\n    config: {\n        learningRate: 0.03\n        maxIterations: 1000\n        maxTime: 2000\n    }\n    _optimize: StochasticGradientDescent config\n    stats: optimize (a => (Model.step Data.ys) Data.xs)\n    mu: Round (Transpose RankUp ((Iota 10) / 10) @ RankUp stats)\n}"
  },
  {
    "path": "src/gallery/old/23_regress_tensor.l1",
    "content": "#doc: \"\n    # Regress Tensor\n\n    Fitting a random tensor without any input\n\n    ## Needed fixes\n    1. reuse Variable from old interpreter\n    1. create `$` operator for Variable\n    1. reintroduce `StochasticGradientDescent` with live plot\n\n    ## Nice things\n    1. None as a lamda argument\n\"\n\n_Data: {\n    target: RandomNormal [20 20] -> (x => x^2 + x + 3)\n}\n\n_Model: {\n    ; $ === Variable\n    ; prediction: $ RandomNormal [20 20]\n    prediction: RandomNormal [20 20]\n\n    ; Here would be better if None could be used:\n    ;   () => prediction\n    predict: x => prediction\n\n    loss: predictions => labels =>\n        +(predictions - labels)^2\n    \n    step: y => \n        predict! -> loss y\n}\n\n_Optimizer: {\n    optimize: StochasticGradientDescent {\n        learningRate: 0.3\n        maxIterations: 1000\n        maxTime: 1000\n    }\n    \n    ; Again, None as an argument\n    ;   () => Model.step Data.target\n    loss: a => Model.step Data.target\n\n    ; Stats should be an Observable with plot\n    stats: optimize loss\n}\n\n::Model.prediction\n::Data.target\n"
  },
  {
    "path": "src/gallery/old/23_sine_exp.l1",
    "content": "_samples: 1000\n\n_a: Iota samples\na_sin: a * Sine a\n\n_offset: 100000\n\n_b: offset + Iota samples\nb_sin: (Sine b) / b\n\nc: a_sin * Transpose (RankUp b_sin)"
  },
  {
    "path": "src/gallery/old/24_RankDown.l1",
    "content": "_RankDown: a => (ExpandDimension { axis: Rank a }) a\n\na: [1 2, 3 4]\nb: RankUp a\nc: RankDown a"
  },
  {
    "path": "src/gallery/old/24_cascade.l1",
    "content": "count: 10\nCascade: (Flow {\n    fn: a => {::a}\n    ::count\n}) {}"
  },
  {
    "path": "src/gallery/old/27_coffee.l1",
    "content": "guesses: [\n    4900\n    5400\n    7000\n    11136\n    3500\n    7175\n    3300\n    3801\n    4321\n    8500\n    6600\n    8091\n    5000\n    3400\n    3259\n    3000\n    2637\n    5354\n]\n\nwork-days:       40\npeople:          50\ncups-per-person: 6\n\ncups-count: work-days * people * cups-per-person"
  },
  {
    "path": "src/gallery/old/5_tile_design.l1",
    "content": "length: 28\nrange: 3.14159\na: Cosine LinearSpace { start: -range, stop: range, num: length }\nb: ExpandDimension { tensor: a, axis: 1 }\nd: Tile { tensor: b, reps: [1 28] }\nf: d * (Transpose d)\ne1: GetDigit 4\ni:  e1 * f"
  },
  {
    "path": "src/gallery/old/6_random_test.l1",
    "content": "e: 2.71828182845904\nx: GetDigit 3\na: RandomUniform {shape: [28 28]}\nb: RandomUniform {shape: [28 28]}\n\ny_1: a*e^x\ny_2: b*e^-x\ny: y_1 - y_2\n\nz: RectifiedLinearUnit y"
  },
  {
    "path": "src/gallery/old/7_edge_detection.l1",
    "content": "a: ExpandDimension {\n    tensor: GetDigit 5\n    axis: 2\n}\nFn: x => MaxPool {\n    tensor: x\n    filterSize: 2\n    strides: 1\n}\nd: Fn a + Fn (-a)\ne: ResizeBilinear {\n    tensor: d\n    shape: [100 100]\n}"
  },
  {
    "path": "src/gallery/old/9_higher-order_fns.l1",
    "content": "d: GetDigit 5\nx: RandomNormal {shape: Shape d}\nFn: x => x^2 + x\ny: Fn x\nGradFn: (Gradient Fn)\nmu: GradFn x"
  },
  {
    "path": "src/index.html",
    "content": "<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Tensor Studio</title>\n</head>\n<body>\n    <div id=\"studio\"></div>\n    <script>\n        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n        ga('create', 'UA-3499003-2', 'auto');\n        ga('send', 'pageview');\n    </script>\n</body>\n</html>"
  },
  {
    "path": "src/index.js",
    "content": "import ReactDOM from \"react-dom\"\nimport React from \"react\"\n\nimport Studio from \"./components/Studio\"\n\nself.MonacoEnvironment = {\n    getWorkerUrl: function (moduleId, label) {\n        if (label === \"json\") {\n            return \"./json.worker.js\";\n        }\n        // if (label === \"css\") {\n        // \treturn \"./css.worker.js\";\n        // }\n        // if (label === \"html\") {\n        // \treturn \"./html.worker.js\";\n        // }\n        // if (label === \"typescript\" || label === \"javascript\") {\n        // \treturn \"./ts.worker.js\";\n        // }\n        return \"./editor.worker.js\";\n    }\n}\n\nReactDOM.render(<Studio />, document.querySelector(\"#studio\"))\n\nmodule.hot.accept()"
  },
  {
    "path": "src/test.js",
    "content": "const tests = require.context(\"./__tests__/\", true, /.*/)\n\nconst runTests = (ctx, callback) => {\n    ctx.keys().forEach(test => callback(test, ctx))\n}\n\nrunTests(tests, (test, ctx) => {\n    try {\n        ctx(test)\n    } catch (e) {\n        console.log(test, e)\n    }\n})"
  },
  {
    "path": "webpack.config.js",
    "content": "const path = require(\"path\")\nconst webpack = require(\"webpack\")\nconst HtmlWebpackPlugin = require(\"html-webpack-plugin\")\nconst BundleAnalyzerPlugin = require(\"webpack-bundle-analyzer\").BundleAnalyzerPlugin\nconst FaviconsWebpackPlugin = require(\"favicons-webpack-plugin\")\n\nmodule.exports = {\n  mode: \"production\",\n  entry: {\n    hotReload: \"react-hot-loader/patch\",\n    app: \"./src/index.js\",\n    // tests: \"./src/test.js\",\n    \"editor.worker\": \"monaco-editor/esm/vs/editor/editor.worker.js\",\n    \"json.worker\": \"monaco-editor/esm/vs/language/json/json.worker\",\n  },\n  output: {\n    path: path.resolve(__dirname, \"dist\"),\n    filename: \"[name].js\",\n    globalObject: \"this\"\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.s[ac]ss$/,\n        use: [\"style-loader\", \"css-loader\", \"sass-loader\"]\n      },\n      {\n        test: /\\.css$/,\n        use: [\"style-loader\", \"css-loader\"]\n      },\n      {\n        test: /\\.(png|woff|woff2|eot|ttf|svg)(\\?v=[0-9]\\.[0-9]\\.[0-9])?$/,\n        loader: \"file-loader?limit=100000\"\n      },\n      {\n        test: /\\.(l1|ohm|md)$/,\n        loader: \"raw-loader\"\n      },\n      {\n        test: /\\.(bin)$/,\n        loader: \"buffer-loader\"\n      },\n      {\n        test: /\\.worker\\.js$/,\n        loader: \"worker-loader\"\n      },\n      {\n        test: /\\.(js|jsx)$/,\n        exclude: /node_modules/,\n        use: [\"babel-loader\"]\n      }\n    ]\n  },\n  resolve: {\n    extensions: [\"*\", \".js\", \".jsx\"]\n  },\n  plugins: [\n    new HtmlWebpackPlugin({\n      chunks: [\"app\"],\n      hash: true,\n      template: \"./src/index.html\",\n      filename: \"index.html\"\n    }),\n    new webpack.IgnorePlugin(/^((fs)|(path)|(os)|(crypto)|(source-map-support))$/, /vs\\/language\\/typescript\\/lib/),\n    new webpack.optimize.AggressiveMergingPlugin(),\n    new webpack.HotModuleReplacementPlugin(),\n    new FaviconsWebpackPlugin({\n      logo: \"./src/favicon.png\",\n      prefix: \"icons-[hash]/\",\n      inject: true,\n      background: \"#fff\",\n      title: \"L1\"\n    }),\n    // new BundleAnalyzerPlugin()\n  ],\n  devServer: {\n    contentBase: path.join(__dirname, \"dist\"),\n    compress: true,\n    hot: true,\n    port: 7171,\n    stats: \"errors-only\",\n    logLevel: \"info\",\n    clientLogLevel: \"warning\",\n    overlay: true\n  }\n}"
  }
]