diff --git a/packages/node_modules/@node-red/editor-api/lib/auth/index.js b/packages/node_modules/@node-red/editor-api/lib/auth/index.js index 41d96b3f6..eefdd85e0 100644 --- a/packages/node_modules/@node-red/editor-api/lib/auth/index.js +++ b/packages/node_modules/@node-red/editor-api/lib/auth/index.js @@ -106,9 +106,15 @@ async function login(req,res) { urlPrefix += "/"; } response = { - "type":"strategy", - "prompts":[{type:"button",label:mergedAdminAuth.strategy.label, url: urlPrefix + "auth/strategy"}] + "type":"strategy" } + if (mergedAdminAuth.strategy.autoLogin) { + response.autoLogin = true + response.loginRedirect = urlPrefix + "auth/strategy" + } + response.prompts = [ + {type:"button",label:mergedAdminAuth.strategy.label, url: urlPrefix + "auth/strategy"} + ] if (mergedAdminAuth.strategy.icon) { response.prompts[0].icon = mergedAdminAuth.strategy.icon; } @@ -185,7 +191,7 @@ function genericStrategy(adminApp,strategy) { } }; - options.verify.apply(null,args); + options.verify.apply(this,args); } else { var profile = arguments[arguments.length - 2]; return completeVerify(profile,originalDone); diff --git a/packages/node_modules/@node-red/editor-api/lib/auth/strategies.js b/packages/node_modules/@node-red/editor-api/lib/auth/strategies.js index 879b3f55b..e18925c19 100644 --- a/packages/node_modules/@node-red/editor-api/lib/auth/strategies.js +++ b/packages/node_modules/@node-red/editor-api/lib/auth/strategies.js @@ -92,10 +92,16 @@ var passwordTokenExchange = function(client, username, password, scope, done) { loginAttempts = loginAttempts.filter(function(logEntry) { return logEntry.user !== username; }); - Tokens.create(username,client.id,scope).then(function(tokens) { - log.audit({event: "auth.login",user,username:username,client:client.id,scope:scope}); - done(null,tokens.accessToken,null,{expires_in:tokens.expires_in}); - }); + // Check if the user contains a user defined token and use it + // instead of generating a new token + if(user.token){ + done(null,user.token,null,null); + } else { + Tokens.create(username,client.id,scope).then(function(tokens) { + log.audit({event: "auth.login",user,username:username,client:client.id,scope:scope}); + done(null,tokens.accessToken,null,{expires_in:tokens.expires_in}); + }); + } } else { log.audit({event: "auth.login.fail.permissions",username:username,client:client.id,scope:scope}); done(null,false); diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index 043301146..5ea4f2a23 100755 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -502,7 +502,7 @@ "searchBox": "Open search box", "managePalette": "Manage palette", "actionList": "Action list", - "splitWiresWithLinks": "Split selection with Link nodes" + "splitWireWithLinks": "Split selection with Link nodes" }, "library": { "library": "Library", @@ -1165,5 +1165,21 @@ "ru": "Russian", "zh-CN": "Chinese(Simplified)", "zh-TW": "Chinese(Traditional)" + }, + "validator": { + "errors": { + "invalid-json": "Invalid JSON data: __error__", + "invalid-json-prop": "__prop__: invalid JSON data: __error__", + "invalid-prop": "Invalid property expression", + "invalid-prop-prop": "__prop__: invalid property expression", + "invalid-num": "Invalid number", + "invalid-num-prop": "__prop__: invalid number", + "invalid-regexp": "Invalid input pattern", + "invalid-regex-prop": "__prop__: invalid input pattern", + "missing-required-prop": "__prop__: property value missing", + "invalid-config": "__prop__: invalid configuration node", + "missing-config": "__prop__: missing configuration node", + "validation-error": "__prop__: validation error: __node__, __id__: __error__" + } } } diff --git a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json index ad5181cca..366a71244 100644 --- a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json @@ -149,7 +149,11 @@ "toggle-navigator": "ナビゲータの表示/非表示を切替", "zoom-out": "縮小", "zoom-reset": "拡大/縮小を初期化", - "zoom-in": "拡大" + "zoom-in": "拡大", + "search-flows": "フローを検索", + "search-prev": "前へ", + "search-next": "次へ", + "search-counter": "\"__term__\" __count__ 件中の __result__ 件目" }, "user": { "loggedInAs": "__name__ としてログインしました", @@ -497,7 +501,8 @@ "redoChange": "変更操作をやり直し", "searchBox": "ノードを検索", "managePalette": "パレットの管理", - "actionList": "動作一覧" + "actionList": "動作一覧", + "splitWireWithLinks": "選択したワイヤーをlinkノードで分離" }, "library": { "library": "ライブラリ", @@ -898,7 +903,8 @@ "invalidNodes": "不正なノード", "uknownNodes": "未知のノード", "unusedSubflows": "未使用のサブフロー", - "hiddenFlows": "非表示のフロー" + "hiddenFlows": "非表示のフロー", + "modifiedNodes": "修正したノードやフロー" } }, "expressionEditor": { @@ -1174,6 +1180,7 @@ "hide-all-flows": "全てのフローを非表示", "show-all-flows": "全てのフローを表示", "show-last-hidden-flow": "最後に非表示にしたフローを表示", + "list-modified-nodes": "修正したフローを表示", "list-hidden-flows": "非表示フローを表示", "list-flows": "フロー一覧", "list-subflows": "サブフロー一覧", @@ -1240,6 +1247,8 @@ "distribute-selection-vertically": "選択を上下に整列", "wire-series-of-nodes": "ノードを一続きに接続", "wire-node-to-multiple": "ノードを複数に接続", + "split-wire-with-link-nodes": "ワイヤーをlinkノードで分割", + "generate-node-names": "ノード名を生成", "show-user-settings": "ユーザ設定を表示", "show-help": "ヘルプを表示", "toggle-palette": "パレットの表示切替", @@ -1266,6 +1275,8 @@ "show-library-import-dialog": "ライブラリ読み込みダイアログを表示", "show-examples-import-dialog": "サンプル読み込みダイアログを表示", "search": "検索", + "search-previous": "前を検索", + "search-next": "次を検索", "show-action-list": "アクション一覧を表示", "confirm-edit-tray": "編集を完了", "cancel-edit-tray": "編集をキャンセル", @@ -1276,8 +1287,8 @@ "set-deploy-type-to-modified-flows": "デプロイを「変更したフロー」に設定", "set-deploy-type-to-modified-nodes": "デプロイを「変更したノード」に設定", "show-debug-tab": "デバッグタブを表示", - "clear-debug-messages": "デバッグメッセージをクリア", - "clear-filtered-debug-messages": "フィルタしたデバッグメッセージをクリア", + "clear-debug-messages": "デバッグメッセージを削除", + "clear-filtered-debug-messages": "フィルタしたデバッグメッセージを削除", "activate-selected-debug-nodes": "選択したデバッグノードを有効化", "activate-all-debug-nodes": "全てのデバッグノードを有効化", "activate-all-flow-debug-nodes": "フロー内の全デバッグノードを有効化", @@ -1289,5 +1300,21 @@ "zoom-reset": "ズームリセット", "toggle-navigator": "ナビゲータ表示切替", "show-system-info": "システムインフォメーション" + }, + "validator": { + "errors": { + "invalid-json": "JSONデータが不正: __error__", + "invalid-json-prop": "__prop__: JSONデータが不正: __error__", + "invalid-prop": "プロパティ式が不正", + "invalid-prop-prop": "__prop__: プロパティ式が不正", + "invalid-num": "数値が不正", + "invalid-num-prop": "__prop__: 数値が不正", + "invalid-regexp": "入力パターンが不正", + "invalid-regex-prop": "__prop__: 入力パターンが不正", + "missing-required-prop": "__prop__: プロパティが未設定", + "invalid-config": "__prop__: 設定ノードが不正", + "missing-config": "__prop__: 設定ノードが存在しません", + "validation-error": "__prop__: チェックエラー: __node__, __id__: __error__" + } } } diff --git a/packages/node_modules/@node-red/editor-client/src/images/grip-horizontal.png b/packages/node_modules/@node-red/editor-client/src/images/grip-horizontal.png deleted file mode 100644 index 7bff7b4a2..000000000 Binary files a/packages/node_modules/@node-red/editor-client/src/images/grip-horizontal.png and /dev/null differ diff --git a/packages/node_modules/@node-red/editor-client/src/images/grip-horizontal.svg b/packages/node_modules/@node-red/editor-client/src/images/grip-horizontal.svg new file mode 100644 index 000000000..c97271fa4 --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/src/images/grip-horizontal.svg @@ -0,0 +1 @@ + diff --git a/packages/node_modules/@node-red/editor-client/src/images/grip.png b/packages/node_modules/@node-red/editor-client/src/images/grip.png deleted file mode 100644 index 76c2e0d17..000000000 Binary files a/packages/node_modules/@node-red/editor-client/src/images/grip.png and /dev/null differ diff --git a/packages/node_modules/@node-red/editor-client/src/images/grip.svg b/packages/node_modules/@node-red/editor-client/src/images/grip.svg new file mode 100644 index 000000000..76b12a4ee --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/src/images/grip.svg @@ -0,0 +1 @@ + diff --git a/packages/node_modules/@node-red/editor-client/src/js/red.js b/packages/node_modules/@node-red/editor-client/src/js/red.js index dc36e5c1e..47f206a46 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/red.js +++ b/packages/node_modules/@node-red/editor-client/src/js/red.js @@ -474,7 +474,7 @@ var RED = (function() { var parts = topic.split("/"); var node = RED.nodes.node(parts[1]); if (node) { - if (msg.hasOwnProperty("text") && msg.text !== null && /^[a-zA-Z]/.test(msg.text)) { + if (msg.hasOwnProperty("text") && msg.text !== null && /^[@a-zA-Z]/.test(msg.text)) { msg.text = node._(msg.text.toString(),{defaultValue:msg.text.toString()}); } node.status = msg; diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/autoComplete.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/autoComplete.js index 192ccda7a..a3ce0bcd1 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/autoComplete.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/autoComplete.js @@ -9,12 +9,14 @@ * * options: * - * search : function(value, [done]) - * A function that is passed the current contents of the input whenever - * it changes. - * The function must either return auto-complete options, or pass them - * to the optional 'done' parameter. - * If the function signature includes 'done', it must be used + * search: function(value, [done]) + * A function that is passed the current contents of the input whenever + * it changes. + * The function must either return auto-complete options, or pass them + * to the optional 'done' parameter. + * If the function signature includes 'done', it must be used + * minLength: number + * If `minLength` is 0, pressing down arrow will show the list * * The auto-complete options should be an array of objects in the form: * { @@ -26,10 +28,11 @@ $.widget( "nodered.autoComplete", { _create: function() { - var that = this; + const that = this; this.completionMenuShown = false; - this.options.search = this.options.search || function() { return [] } - this.element.addClass("red-ui-autoComplete") + this.options.minLength = parseInteger(this.options.minLength, 1, 0); + this.options.search = this.options.search || function() { return [] }; + this.element.addClass("red-ui-autoComplete"); this.element.on("keydown.red-ui-autoComplete", function(evt) { if ((evt.keyCode === 13 || evt.keyCode === 9) && that.completionMenuShown) { var opts = that.menu.options(); @@ -71,8 +74,8 @@ this.completionMenuShown = true; }, _updateCompletions: function(val) { - var that = this; - if (val.trim() === "") { + const that = this; + if (val.trim().length < this.options.minLength) { if (this.completionMenuShown) { this.menu.hide(); } @@ -96,7 +99,7 @@ } } if (this.options.search.length === 2) { - var requestId = 1+Math.floor(Math.random()*10000); + const requestId = 1+Math.floor(Math.random()*10000); this.pendingRequest = requestId; this.options.search(val,function(completions) { displayResults(completions,requestId);}) } else { @@ -112,4 +115,12 @@ } } }); + function parseInteger(input, def, min, max) { + if(input == null) { return (def || 0); } + min = min == null ? Number.NEGATIVE_INFINITY : min; + max = max == null ? Number.POSITIVE_INFINITY : max; + let n = parseInt(input); + if(isNaN(n) || n < min || n > max) { n = def || 0; } + return n; + } })(jQuery); diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/popover.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/popover.js index 5871abcde..472652918 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/popover.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/popover.js @@ -359,6 +359,7 @@ RED.popover = (function() { setTimeout(closePopup,delay.hide); } }); + if (trigger === 'hover') { target.on('mouseenter',function(e) { clearTimeout(timer); @@ -470,6 +471,10 @@ RED.popover = (function() { popover.setAction = function(newAction) { action = newAction; } + popover.delete = function() { + target.off("mouseenter"); + target.off("mouseleave"); + }; return popover; }, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js index 173d34034..e86a199ee 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js @@ -105,8 +105,8 @@ } }); this.element.on("keydown",function(e) { - if (!menuShown && e.keyCode === 40) { - //DOWN + if (!menuShown && e.keyCode === 40 && $(this).val() === '') { + //DOWN (only show menu if search field is emty) showMenu(); } }); diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/tabs.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/tabs.js index 0541c79e0..d471d206a 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/tabs.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/tabs.js @@ -670,7 +670,7 @@ RED.tabs = (function() { } var link = $("",{href:"#"+tab.id, class:"red-ui-tab-label"}).appendTo(li); if (tab.icon) { - $('').appendTo(link); + $('',{class:"red-ui-tab-icon", style:"mask-image: url("+tab.icon+"); -webkit-mask-image: url("+tab.icon+");"}).appendTo(link); } else if (tab.iconClass) { $('',{class:"red-ui-tab-icon "+tab.iconClass}).appendTo(link); } diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js index 2d628769e..f6b93f840 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js @@ -55,34 +55,46 @@ } var autoComplete = function(options) { + function getMatch(value, searchValue) { + const idx = value.toLowerCase().indexOf(searchValue.toLowerCase()); + const len = idx > -1 ? searchValue.length : 0; + return { + index: idx, + found: idx > -1, + pre: value.substring(0,idx), + match: value.substring(idx,idx+len), + post: value.substring(idx+len), + } + } + function generateSpans(match) { + const els = []; + if(match.pre) { els.push($('').text(match.pre)); } + if(match.match) { els.push($('',{style:"font-weight: bold; color: var(--red-ui-text-color-link);"}).text(match.match)); } + if(match.post) { els.push($('').text(match.post)); } + return els; + } return function(val) { var matches = []; options.forEach(opt => { - let v = opt.value; - var i = v.toLowerCase().indexOf(val.toLowerCase()); - if (i > -1) { - var pre = v.substring(0,i); - var matchedVal = v.substring(i,i+val.length); - var post = v.substring(i+val.length) - - var el = $('
',{style:"white-space:nowrap; overflow: hidden; flex-grow:1"}); - $('').text(pre).appendTo(el); - $('',{style:"font-weight: bold"}).text(matchedVal).appendTo(el); - $('').text(post).appendTo(el); - - var element = $('
',{style: "display: flex"}); - el.appendTo(element); - if (opt.source) { - $('
').css({ - "font-size": "0.8em" - }).text(opt.source.join(",")).appendTo(element); + const optVal = opt.value; + const optSrc = (opt.source||[]).join(","); + const valMatch = getMatch(optVal, val); + const srcMatch = getMatch(optSrc, val); + if (valMatch.found || srcMatch.found) { + const element = $('
',{style: "display: flex"}); + const valEl = $('
',{style:"font-family: var(--red-ui-monospace-font); white-space:nowrap; overflow: hidden; flex-grow:1"}); + valEl.append(generateSpans(valMatch)); + valEl.appendTo(element); + if (optSrc) { + const optEl = $('
').css({ "font-size": "0.8em" }); + optEl.append(generateSpans(srcMatch)); + optEl.appendTo(element); } - - matches.push({ - value: v, - label: element, - i:i - }) + matches.push({ + value: optVal, + label: element, + i: (valMatch.found ? valMatch.index : srcMatch.index) + }); } }) matches.sort(function(A,B){return A.i-B.i}) @@ -93,6 +105,36 @@ // This is a hand-generated list of completions for the core nodes (based on the node help html). var msgCompletions = [ { value: "payload" }, + { value: "topic", source: ["mqtt","inject","rbe"] }, + { value: "action", source: ["mqtt"] }, + { value: "complete", source: ["join"] }, + { value: "contentType", source: ["mqtt"] }, + { value: "cookies", source: ["http request","http response"] }, + { value: "correlationData", source: ["mqtt"] }, + { value: "delay", source: ["delay","trigger"] }, + { value: "encoding", source: ["file"] }, + { value: "error", source: ["catch"] }, + { value: "error.message", source: ["catch"] }, + { value: "error.source", source: ["catch"] }, + { value: "error.source.id", source: ["catch"] }, + { value: "error.source.type", source: ["catch"] }, + { value: "error.source.name", source: ["catch"] }, + { value: "filename", source: ["file","file in"] }, + { value: "flush", source: ["delay"] }, + { value: "followRedirects", source: ["http request"] }, + { value: "headers", source: ["http response","http request"] }, + { value: "host", source: ["tcp request","http request"] }, + { value: "ip", source: ["udp out"] }, + { value: "kill", source: ["exec"] }, + { value: "messageExpiryInterval", source: ["mqtt"] }, + { value: "method", source: ["http request"] }, + { value: "options", source: ["xml"] }, + { value: "parts", source: ["split","join","batch","sort"] }, + { value: "pid", source: ["exec"] }, + { value: "port", source: ["tcp request"," udp out"] }, + { value: "qos", source: ["mqtt"] }, + { value: "rate", source: ["delay"] }, + { value: "rejectUnauthorized", source: ["http request"] }, { value: "req", source: ["http in"]}, { value: "req.body", source: ["http in"]}, { value: "req.headers", source: ["http in"]}, @@ -100,38 +142,28 @@ { value: "req.params", source: ["http in"]}, { value: "req.cookies", source: ["http in"]}, { value: "req.files", source: ["http in"]}, - { value: "complete", source: ["join"] }, - { value: "contentType", source: ["mqtt"] }, - { value: "cookies", source: ["http in","http request"] }, - { value: "correlationData", source: ["mqtt"] }, - { value: "delay", source: ["delay","trigger"] }, - { value: "encoding", source: ["file"] }, - { value: "error", source: ["catch"] }, - { value: "filename", source: ["file","file in"] }, - { value: "flush", source: ["delay"] }, - { value: "followRedirects", source: ["http request"] }, - { value: "headers", source: ["http in"," http request"] }, - { value: "kill", source: ["exec"] }, - { value: "messageExpiryInterval", source: ["mqtt"] }, - { value: "method", source: ["http-request"] }, - { value: "options", source: ["xml"] }, - { value: "parts", source: ["split","join"] }, - { value: "pid", source: ["exec"] }, - { value: "qos", source: ["mqtt"] }, - { value: "rate", source: ["delay"] }, - { value: "rejectUnauthorized", source: ["http request"] }, { value: "requestTimeout", source: ["http request"] }, { value: "reset", source: ["delay","trigger","join","rbe"] }, + { value: "responseCookies", source: ["http request"] }, { value: "responseTopic", source: ["mqtt"] }, + { value: "responseURL", source: ["http request"] }, { value: "restartTimeout", source: ["join"] }, { value: "retain", source: ["mqtt"] }, + { value: "schema", source: ["json"] }, { value: "select", source: ["html"] }, - { value: "statusCode", source: ["http in"] }, + { value: "statusCode", source: ["http response","http request"] }, + { value: "status", source: ["status"] }, + { value: "status.text", source: ["status"] }, + { value: "status.source", source: ["status"] }, + { value: "status.source.type", source: ["status"] }, + { value: "status.source.id", source: ["status"] }, + { value: "status.source.name", source: ["status"] }, + { value: "target", source: ["link call"] }, { value: "template", source: ["template"] }, { value: "toFront", source: ["delay"] }, - { value: "topic", source: ["inject","mqtt","rbe"] }, { value: "url", source: ["http request"] }, - { value: "userProperties", source: ["mqtt"] } + { value: "userProperties", source: ["mqtt"] }, + { value: "_session", source: ["websocket out","tcp out"] }, ] var allOptions = { msg: {value:"msg",label:"msg.",validate:RED.utils.validatePropertyExpression, autoComplete: autoComplete(msgCompletions)}, @@ -637,7 +669,7 @@ if (opt.icon.indexOf("<") === 0) { $(opt.icon).prependTo(op); } else if (opt.icon.indexOf("/") !== -1) { - $('',{src:mapDeprecatedIcon(opt.icon),style:"margin-right: 4px; height: 18px;"}).prependTo(op); + $('',{class:"red-ui-typedInput-icon", style:"mask-image: url("+opt.icon+"); -webkit-mask-image: url("+opt.icon+");"}).prependTo(op); } else { $('',{class:"red-ui-typedInput-icon "+opt.icon}).prependTo(op); } @@ -1147,7 +1179,8 @@ this.elementDiv.show(); if (opt.autoComplete) { this.input.autoComplete({ - search: opt.autoComplete + search: opt.autoComplete, + minLength: 0 }) } } diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js b/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js index 592075dfd..b40be4b0e 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js @@ -319,205 +319,208 @@ RED.deploy = (function() { },delta); }); } - function save(skipValidation,force) { - if (!$("#red-ui-header-button-deploy").hasClass("disabled")) { - if (!RED.user.hasPermission("flows.write")) { - RED.notify(RED._("user.errors.deploy"),"error"); + function save(skipValidation, force) { + if ($("#red-ui-header-button-deploy").hasClass("disabled")) { + return; //deploy is disabled + } + if ($("#red-ui-header-shade").is(":visible")) { + return; //deploy is shaded + } + if (!RED.user.hasPermission("flows.write")) { + RED.notify(RED._("user.errors.deploy"), "error"); + return; + } + let hasUnusedConfig = false; + if (!skipValidation) { + let hasUnknown = false; + let hasInvalid = false; + const unknownNodes = []; + const invalidNodes = []; + + RED.nodes.eachConfig(function (node) { + if (node.valid === undefined) { + RED.editor.validateNode(node); + } + if (!node.valid && !node.d) { + invalidNodes.push(getNodeInfo(node)); + } + if (node.type === "unknown") { + if (unknownNodes.indexOf(node.name) == -1) { + unknownNodes.push(node.name); + } + } + }); + RED.nodes.eachNode(function (node) { + if (!node.valid && !node.d) { + invalidNodes.push(getNodeInfo(node)); + } + if (node.type === "unknown") { + if (unknownNodes.indexOf(node.name) == -1) { + unknownNodes.push(node.name); + } + } + }); + hasUnknown = unknownNodes.length > 0; + hasInvalid = invalidNodes.length > 0; + + const unusedConfigNodes = []; + RED.nodes.eachConfig(function (node) { + if ((node._def.hasUsers !== false) && (node.users.length === 0)) { + unusedConfigNodes.push(getNodeInfo(node)); + hasUnusedConfig = true; + } + }); + + let showWarning = false; + let notificationMessage; + let notificationButtons = []; + let notification; + if (hasUnknown && !ignoreDeployWarnings.unknown) { + showWarning = true; + notificationMessage = "

" + RED._('deploy.confirm.unknown') + "

" + + '
  • ' + cropList(unknownNodes).map(function (n) { return sanitize(n) }).join("
  • ") + "

" + + RED._('deploy.confirm.confirm') + + "

"; + + notificationButtons = [ + { + id: "red-ui-deploy-dialog-confirm-deploy-deploy", + text: RED._("deploy.confirm.button.confirm"), + class: "primary", + click: function () { + save(true); + notification.close(); + } + } + ]; + } else if (hasInvalid && !ignoreDeployWarnings.invalid) { + showWarning = true; + invalidNodes.sort(sortNodeInfo); + + notificationMessage = "

" + RED._('deploy.confirm.improperlyConfigured') + "

" + + '
  • ' + cropList(invalidNodes.map(function (A) { return sanitize((A.tab ? "[" + A.tab + "] " : "") + A.label + " (" + A.type + ")") })).join("
  • ") + "

" + + RED._('deploy.confirm.confirm') + + "

"; + notificationButtons = [ + { + id: "red-ui-deploy-dialog-confirm-deploy-deploy", + text: RED._("deploy.confirm.button.confirm"), + class: "primary", + click: function () { + save(true); + notification.close(); + } + } + ]; + } + if (showWarning) { + notificationButtons.unshift( + { + text: RED._("common.label.cancel"), + click: function () { + notification.close(); + } + } + ); + notification = RED.notify(notificationMessage, { + modal: true, + fixed: true, + buttons: notificationButtons + }); return; } - if (!skipValidation) { - var hasUnknown = false; - var hasInvalid = false; - var hasUnusedConfig = false; - - var unknownNodes = []; - var invalidNodes = []; - - RED.nodes.eachConfig(function(node) { - if (node.valid === undefined) { - RED.editor.validateNode(node); - } - if (!node.valid && !node.d) { - invalidNodes.push(getNodeInfo(node)); - } - if (node.type === "unknown") { - if (unknownNodes.indexOf(node.name) == -1) { - unknownNodes.push(node.name); - } - } - }); - RED.nodes.eachNode(function(node) { - if (!node.valid && !node.d) { - invalidNodes.push(getNodeInfo(node)); - } - if (node.type === "unknown") { - if (unknownNodes.indexOf(node.name) == -1) { - unknownNodes.push(node.name); - } - } - }); - hasUnknown = unknownNodes.length > 0; - hasInvalid = invalidNodes.length > 0; - - var unusedConfigNodes = []; - RED.nodes.eachConfig(function(node) { - if ((node._def.hasUsers !== false) && (node.users.length === 0)) { - unusedConfigNodes.push(getNodeInfo(node)); - hasUnusedConfig = true; - } - }); - - var showWarning = false; - var notificationMessage; - var notificationButtons = []; - var notification; - if (hasUnknown && !ignoreDeployWarnings.unknown) { - showWarning = true; - notificationMessage = "

"+RED._('deploy.confirm.unknown')+"

"+ - '
  • '+cropList(unknownNodes).map(function(n) { return sanitize(n) }).join("
  • ")+"

"+ - RED._('deploy.confirm.confirm')+ - "

"; - - notificationButtons= [ - { - id: "red-ui-deploy-dialog-confirm-deploy-deploy", - text: RED._("deploy.confirm.button.confirm"), - class: "primary", - click: function() { - save(true); - notification.close(); - } - } - ]; - } else if (hasInvalid && !ignoreDeployWarnings.invalid) { - showWarning = true; - invalidNodes.sort(sortNodeInfo); - - notificationMessage = "

"+RED._('deploy.confirm.improperlyConfigured')+"

"+ - '
  • '+cropList(invalidNodes.map(function(A) { return sanitize( (A.tab?"["+A.tab+"] ":"")+A.label+" ("+A.type+")")})).join("
  • ")+"

"+ - RED._('deploy.confirm.confirm')+ - "

"; - notificationButtons= [ - { - id: "red-ui-deploy-dialog-confirm-deploy-deploy", - text: RED._("deploy.confirm.button.confirm"), - class: "primary", - click: function() { - save(true); - notification.close(); - } - } - ]; - } - if (showWarning) { - notificationButtons.unshift( - { - text: RED._("common.label.cancel"), - click: function() { - notification.close(); - } - } - ); - notification = RED.notify(notificationMessage,{ - modal: true, - fixed: true, - buttons:notificationButtons - }); - return; - } - } - - var nns = RED.nodes.createCompleteNodeSet(); - - var startTime = Date.now(); - $(".red-ui-deploy-button-content").css('opacity',0); - $(".red-ui-deploy-button-spinner").show(); - $("#red-ui-header-button-deploy").addClass("disabled"); - - var data = {flows:nns}; - - if (!force) { - data.rev = RED.nodes.version(); - } - - deployInflight = true; - $("#red-ui-header-shade").show(); - $("#red-ui-editor-shade").show(); - $("#red-ui-palette-shade").show(); - $("#red-ui-sidebar-shade").show(); - $.ajax({ - url:"flows", - type: "POST", - data: JSON.stringify(data), - contentType: "application/json; charset=utf-8", - headers: { - "Node-RED-Deployment-Type":deploymentType - } - }).done(function(data,textStatus,xhr) { - RED.nodes.dirty(false); - RED.nodes.version(data.rev); - RED.nodes.originalFlow(nns); - if (hasUnusedConfig) { - RED.notify( - '

'+RED._("deploy.successfulDeploy")+'

'+ - '

'+RED._("deploy.unusedConfigNodes")+' '+RED._("deploy.unusedConfigNodesLink")+'

',"success",false,6000); - } else { - RED.notify('

'+RED._("deploy.successfulDeploy")+'

',"success"); - } - RED.nodes.eachNode(function(node) { - if (node.changed) { - node.dirty = true; - node.changed = false; - } - if (node.moved) { - node.dirty = true; - node.moved = false; - } - if(node.credentials) { - delete node.credentials; - } - }); - RED.nodes.eachConfig(function (confNode) { - confNode.changed = false; - if (confNode.credentials) { - delete confNode.credentials; - } - }); - RED.nodes.eachSubflow(function(subflow) { - subflow.changed = false; - }); - RED.nodes.eachWorkspace(function(ws) { - ws.changed = false; - }); - // Once deployed, cannot undo back to a clean state - RED.history.markAllDirty(); - RED.view.redraw(); - RED.events.emit("deploy"); - }).fail(function(xhr,textStatus,err) { - RED.nodes.dirty(true); - $("#red-ui-header-button-deploy").removeClass("disabled"); - if (xhr.status === 401) { - RED.notify(RED._("deploy.deployFailed",{message:RED._("user.notAuthorized")}),"error"); - } else if (xhr.status === 409) { - resolveConflict(nns, true); - } else if (xhr.responseText) { - RED.notify(RED._("deploy.deployFailed",{message:xhr.responseText}),"error"); - } else { - RED.notify(RED._("deploy.deployFailed",{message:RED._("deploy.errors.noResponse")}),"error"); - } - }).always(function() { - deployInflight = false; - var delta = Math.max(0,300-(Date.now()-startTime)); - setTimeout(function() { - $(".red-ui-deploy-button-content").css('opacity',1); - $(".red-ui-deploy-button-spinner").hide(); - $("#red-ui-header-shade").hide(); - $("#red-ui-editor-shade").hide(); - $("#red-ui-palette-shade").hide(); - $("#red-ui-sidebar-shade").hide(); - },delta); - }); } + + const nns = RED.nodes.createCompleteNodeSet(); + const startTime = Date.now(); + + $(".red-ui-deploy-button-content").css('opacity', 0); + $(".red-ui-deploy-button-spinner").show(); + $("#red-ui-header-button-deploy").addClass("disabled"); + + const data = { flows: nns }; + + if (!force) { + data.rev = RED.nodes.version(); + } + + deployInflight = true; + $("#red-ui-header-shade").show(); + $("#red-ui-editor-shade").show(); + $("#red-ui-palette-shade").show(); + $("#red-ui-sidebar-shade").show(); + $.ajax({ + url: "flows", + type: "POST", + data: JSON.stringify(data), + contentType: "application/json; charset=utf-8", + headers: { + "Node-RED-Deployment-Type": deploymentType + } + }).done(function (data, textStatus, xhr) { + RED.nodes.dirty(false); + RED.nodes.version(data.rev); + RED.nodes.originalFlow(nns); + if (hasUnusedConfig) { + RED.notify( + '

' + RED._("deploy.successfulDeploy") + '

' + + '

' + RED._("deploy.unusedConfigNodes") + ' ' + RED._("deploy.unusedConfigNodesLink") + '

', "success", false, 6000); + } else { + RED.notify('

' + RED._("deploy.successfulDeploy") + '

', "success"); + } + RED.nodes.eachNode(function (node) { + if (node.changed) { + node.dirty = true; + node.changed = false; + } + if (node.moved) { + node.dirty = true; + node.moved = false; + } + if (node.credentials) { + delete node.credentials; + } + }); + RED.nodes.eachConfig(function (confNode) { + confNode.changed = false; + if (confNode.credentials) { + delete confNode.credentials; + } + }); + RED.nodes.eachSubflow(function (subflow) { + subflow.changed = false; + }); + RED.nodes.eachWorkspace(function (ws) { + ws.changed = false; + }); + // Once deployed, cannot undo back to a clean state + RED.history.markAllDirty(); + RED.view.redraw(); + RED.events.emit("deploy"); + }).fail(function (xhr, textStatus, err) { + RED.nodes.dirty(true); + $("#red-ui-header-button-deploy").removeClass("disabled"); + if (xhr.status === 401) { + RED.notify(RED._("deploy.deployFailed", { message: RED._("user.notAuthorized") }), "error"); + } else if (xhr.status === 409) { + resolveConflict(nns, true); + } else if (xhr.responseText) { + RED.notify(RED._("deploy.deployFailed", { message: xhr.responseText }), "error"); + } else { + RED.notify(RED._("deploy.deployFailed", { message: RED._("deploy.errors.noResponse") }), "error"); + } + }).always(function () { + deployInflight = false; + const delta = Math.max(0, 300 - (Date.now() - startTime)); + setTimeout(function () { + $(".red-ui-deploy-button-content").css('opacity', 1); + $(".red-ui-deploy-button-spinner").hide(); + $("#red-ui-header-shade").hide(); + $("#red-ui-editor-shade").hide(); + $("#red-ui-palette-shade").hide(); + $("#red-ui-sidebar-shade").hide(); + }, delta); + }); } return { init: init, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js index 6017fb687..f0f3a073b 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js @@ -110,7 +110,11 @@ RED.editor = (function() { var result = []; for (var prop in definition) { if (definition.hasOwnProperty(prop)) { - if (!validateNodeProperty(node, definition, prop, properties[prop])) { + var valid = validateNodeProperty(node, definition, prop, properties[prop]); + if ((typeof valid) === "string") { + result.push(valid); + } + else if(!valid) { result.push(prop); } } @@ -124,7 +128,7 @@ RED.editor = (function() { * @param definition - the node property definitions (either def.defaults or def.creds) * @param property - the property name being validated * @param value - the property value being validated - * @returns {boolean} whether the node proprty is valid + * @returns {boolean|string} whether the node proprty is valid. `true`: valid `false|String`: invalid */ function validateNodeProperty(node,definition,property,value) { var valid = true; @@ -136,22 +140,74 @@ RED.editor = (function() { if (/^\$\{[a-zA-Z_][a-zA-Z0-9_]*\}$/.test(value)) { return true; } + var label = null; + if (("label" in definition[property]) && + ((typeof definition[property].label) == "string")) { + label = definition[property].label; + } if ("required" in definition[property] && definition[property].required) { valid = value !== ""; + if (!valid && label) { + return RED._("validator.errors.missing-required-prop", { + prop: label + }); + } } if (valid && "validate" in definition[property]) { try { - valid = definition[property].validate.call(node,value); + var opt = {}; + if (label) { + opt.label = label; + } + valid = definition[property].validate.call(node,value, opt); + // If the validator takes two arguments, it is a 3.x validator that + // can return a String to mean 'invalid' and provide a reason + if ((definition[property].validate.length === 2) && + ((typeof valid) === "string")) { + return valid; + } else { + // Otherwise, a 2.x returns a truth-like/false-like value that + // we should cooerce to a boolean. + valid = !!valid + } } catch(err) { console.log("Validation error:",node.type,node.id,"property: "+property,"value:",value,err); + return RED._("validator.errors.validation-error", { + prop: property, + node: node.type, + id: node.id, + error: err.message + }); } } if (valid && definition[property].type && RED.nodes.getType(definition[property].type) && !("validate" in definition[property])) { if (!value || value == "_ADD_") { valid = definition[property].hasOwnProperty("required") && !definition[property].required; + if (!valid && label) { + return RED._("validator.errors.missing-required-prop", { + prop: label + }); + } } else { var configNode = RED.nodes.node(value); - valid = (configNode && (configNode.valid == null || configNode.valid)); + if (configNode) { + if ((configNode.valid == null) || configNode.valid) { + return true; + } + if (label) { + return RED._("validator.errors.invalid-config", { + prop: label + }); + } + } + else { + if (label) { + return RED._("validator.errors.missing-config", { + prop: label + }); + } + } + return false; } } return valid; @@ -179,10 +235,26 @@ RED.editor = (function() { if (defaults[property].hasOwnProperty("format") && defaults[property].format !== "" && input[0].nodeName === "DIV") { value = input.text(); } - if (!validateNodeProperty(node, defaults, property,value)) { + var valid = validateNodeProperty(node, defaults, property,value); + if (((typeof valid) === "string") || !valid) { input.addClass("input-error"); + if ((typeof valid) === "string") { + var tooltip = input.data("tooltip"); + if (tooltip) { + tooltip.setContent(valid); + } + else { + tooltip = RED.popover.tooltip(input, valid); + input.data("tooltip", tooltip); + } + } } else { input.removeClass("input-error"); + var tooltip = input.data("tooltip"); + if (tooltip) { + input.data("tooltip", null); + tooltip.delete(); + } } } } diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/code-editors/monaco.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/code-editors/monaco.js index 0e17fec75..d1a674dd5 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/code-editors/monaco.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/code-editors/monaco.js @@ -1151,7 +1151,7 @@ RED.editor.codeEditor.monaco = (function() { try { var _model = ed.getModel(); if (_model !== null) { - var id = _model.getModeId(); // e.g. javascript + var id = _model._languageId; // e.g. javascript var ra = _model._associatedResource.authority; //e.g. model var rp = _model._associatedResource.path; //e.g. /18 var rs = _model._associatedResource.scheme; //e.g. inmemory diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/markdown.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/markdown.js index f89c8f3a7..e0f670c59 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/markdown.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/markdown.js @@ -168,7 +168,7 @@ 'b': { before:"**", after: "**", tooltip: RED._("markdownEditor.bold")}, 'i': { before:"_", after: "_", tooltip: RED._("markdownEditor.italic")}, 'code': { before:"`", after: "`", tooltip: RED._("markdownEditor.code")}, - 'ol': { before:" * ", newline: true, tooltip: RED._("markdownEditor.ordered-list")}, + 'ol': { before:" 1. ", newline: true, tooltip: RED._("markdownEditor.ordered-list")}, 'ul': { before:" - ", newline: true, tooltip: RED._("markdownEditor.unordered-list")}, 'bq': { before:"> ", newline: true, tooltip: RED._("markdownEditor.quote")}, 'link': { before:"[", after: "]()", tooltip: RED._("markdownEditor.link")}, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js index 0281ab94e..699e5f222 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js @@ -977,18 +977,31 @@ RED.view.tools = (function() { * doesn't clash with any existing nodes of that type * @param {Object} node The node to set the name of - if not provided, uses current selection */ - function generateNodeNames(node) { - const nodes = node?[node]:RED.view.selection().nodes; + function generateNodeNames(node, options) { + options = options || { + renameBlank: true, + renameClash: true, + generateHistory: true + } + let nodes = node; + if (node) { + if (!Array.isArray(node)) { + nodes = [ node ] + } + } else { + nodes = RED.view.selection().nodes; + } if (nodes && nodes.length > 0) { // Generate history event if using the workspace selection, // or if the provided node already exists - const generateHistory = !node || !!RED.nodes.node(node.id) + const generateHistory = options.generateHistory && (!node || !!RED.nodes.node(node.id)) const historyEvents = [] const typeIndex = {} let changed = false; nodes.forEach(n => { - if (n._def && n._def.defaults && n._def.defaults.name) { - const paletteLabel = RED.utils.getPaletteLabel(n.type, n._def) + const nodeDef = n._def || RED.nodes.getType(n.type) + if (nodeDef && nodeDef.defaults && nodeDef.defaults.name) { + const paletteLabel = RED.utils.getPaletteLabel(n.type, nodeDef) const defaultNodeNameRE = new RegExp('^'+paletteLabel+' (\\d+)$') if (!typeIndex.hasOwnProperty(n.type)) { const existingNodes = RED.nodes.filterNodes({type: n.type}) @@ -1004,7 +1017,7 @@ RED.view.tools = (function() { }) typeIndex[n.type] = maxNameNumber + 1 } - if (n.name === '') { + if ((options.renameBlank && n.name === '') || (options.renameClash && defaultNodeNameRE.test(n.name))) { if (generateHistory) { historyEvents.push({ t:'edit', diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index de000fd56..b2d2b11b1 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -455,7 +455,7 @@ RED.view = (function() { } }); - //add search to status-toolbar + //add search to status-toolbar RED.statusBar.add({ id: "view-search-tools", align: "left", @@ -604,7 +604,7 @@ RED.view = (function() { RED.actions.add("core:copy-selection-to-internal-clipboard",copySelection); RED.actions.add("core:cut-selection-to-internal-clipboard",function(){copySelection();deleteSelection();}); - RED.actions.add("core:paste-from-internal-clipboard",function(){importNodes(clipboard,{generateIds: true});}); + RED.actions.add("core:paste-from-internal-clipboard",function(){importNodes(clipboard,{generateIds: true, generateDefaultNames: true});}); RED.actions.add("core:detach-selected-nodes", function() { detachSelectedNodes() }) @@ -2463,7 +2463,7 @@ RED.view = (function() { var removedEntities = RED.nodes.remove(node.id); removedNodes.push(node); removedNodes = removedNodes.concat(removedEntities.nodes); - addToRemovedLinks(removedNodes.removedLinks); + addToRemovedLinks(removedEntities.links); if (node.g) { var group = RED.nodes.group(node.g); if (selectedGroups.indexOf(group) === -1) { @@ -3480,7 +3480,6 @@ RED.view = (function() { enterActiveGroup(ag); activeGroup.selected = true; } - console.log(d3.event); var cnodes = RED.nodes.getAllFlowNodes(mousedown_node); for (var n=0;n",{class:"form-row",style:"text-align: center"}).appendTo("#node-dialog-login-fields"); RED.sessionMessages.forEach(function (msg) { diff --git a/packages/node_modules/@node-red/editor-client/src/js/validators.js b/packages/node_modules/@node-red/editor-client/src/js/validators.js index 833472b24..4fb384cbf 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/validators.js +++ b/packages/node_modules/@node-red/editor-client/src/js/validators.js @@ -14,22 +14,72 @@ * limitations under the License. **/ RED.validators = { - number: function(blankAllowed){return function(v) { return (blankAllowed&&(v===''||v===undefined)) || (v!=='' && !isNaN(v));}}, - regex: function(re){return function(v) { return re.test(v);}}, - typedInput: function(ptypeName,isConfig) { return function(v) { - var ptype = $("#node-"+(isConfig?"config-":"")+"input-"+ptypeName).val() || this[ptypeName]; - if (ptype === 'json') { - try { - JSON.parse(v); + number: function(blankAllowed,mopt){ + return function(v, opt) { + if ((blankAllowed&&(v===''||v===undefined)) || (v!=='' && !isNaN(v))) { return true; - } catch(err) { - return false; } - } else if (ptype === 'msg' || ptype === 'flow' || ptype === 'global' ) { - return RED.utils.validatePropertyExpression(v); - } else if (ptype === 'num') { - return /^[+-]?[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?$/.test(v); - } - return true; - }} + if (opt && opt.label) { + return RED._("validator.errors.invalid-num-prop", { + prop: opt.label + }); + } + return opt ? RED._("validator.errors.invalid-num") : false; + }; + }, + regex: function(re, mopt) { + return function(v, opt) { + if (re.test(v)) { + return true; + } + if (opt && opt.label) { + return RED._("validator.errors.invalid-regex-prop", { + prop: opt.label + }); + } + return opt ? RED._("validator.errors.invalid-regexp") : false; + }; + }, + typedInput: function(ptypeName,isConfig,mopt) { + return function(v, opt) { + var ptype = $("#node-"+(isConfig?"config-":"")+"input-"+ptypeName).val() || this[ptypeName]; + if (ptype === 'json') { + try { + JSON.parse(v); + return true; + } catch(err) { + if (opt && opt.label) { + return RED._("validator.errors.invalid-json-prop", { + error: err.message, + prop: opt.label, + }); + } + return opt ? RED._("validator.errors.invalid-json", { + error: err.message + }) : false; + } + } else if (ptype === 'msg' || ptype === 'flow' || ptype === 'global' ) { + if (RED.utils.validatePropertyExpression(v)) { + return true; + } + if (opt && opt.label) { + return RED._("validator.errors.invalid-prop-prop", { + prop: opt.label + }); + } + return opt ? RED._("validator.errors.invalid-prop") : false; + } else if (ptype === 'num') { + if (/^[+-]?[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?$/.test(v)) { + return true; + } + if (opt && opt.label) { + return RED._("validator.errors.invalid-num-prop", { + prop: opt.label + }); + } + return opt ? RED._("validator.errors.invalid-num") : false; + } + return true; + }; + } }; diff --git a/packages/node_modules/@node-red/editor-client/src/sass/base.scss b/packages/node_modules/@node-red/editor-client/src/sass/base.scss index b4d538794..c22a1d606 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/base.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/base.scss @@ -142,9 +142,16 @@ body { line-height: 14px; vertical-align: text-top; margin-top: 0px; - background: url(images/spin.svg) no-repeat 50% 50%; - background-size: contain - } + -webkit-mask-image: url(images/spin.svg); + mask-image: url(images/spin.svg); + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-position: 50% 50%; + mask-position: 50% 50%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $spinner-color; + } .red-ui-font-code { font-family: $monospace-font; diff --git a/packages/node_modules/@node-red/editor-client/src/sass/colors.scss b/packages/node_modules/@node-red/editor-client/src/sass/colors.scss index 92231b735..b583028cd 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/colors.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/colors.scss @@ -150,7 +150,6 @@ $popover-button-border-color-hover: #666; $diff-text-header-color: $secondary-text-color; $diff-text-header-background: #ffd; -$diff-text-header-background-hover: #ffc; $diff-state-color: $primary-text-color; $diff-state-prefix-color: $secondary-text-color; $diff-state-added: #009900; @@ -195,7 +194,6 @@ $view-lasso-stroke: #ff7f0e; $view-lasso-fill: rgba(20,125,255,0.1); $view-background: $secondary-background; -$view-select-mode-background: $secondary-background-selected; $view-grid-color: #eee; $node-label-color: #333; @@ -301,6 +299,14 @@ $group-default-label-color: #a4a4a4; $tourGuide-border: #c56c6c; $tourGuide-heading-color: #c56c6c; +$grip-color: #ccc; + +$icons-flow-color: #808080; + +$spinner-color: #999; + +$tab-icon-color: #dedede; + // Deprecated $text-color-green: $text-color-success; $info-text-code-color: $text-color-code; diff --git a/packages/node_modules/@node-red/editor-client/src/sass/debug.scss b/packages/node_modules/@node-red/editor-client/src/sass/debug.scss index 1cdf15e55..0c810c03f 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/debug.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/debug.scss @@ -123,17 +123,20 @@ background: $debug-message-background; font-size: 11px; color: $secondary-text-color-inactive; + overflow-wrap: anywhere; } .red-ui-debug-msg-date { - padding: 1px 5px 1px 1px; + padding: 1px 10px 1px 0px; + white-space: nowrap; } .red-ui-debug-msg-topic { display: block; color: $debug-message-text-color-meta; } .red-ui-debug-msg-name { - padding: 1px 5px; + padding: 1px 0px; color: $secondary-text-color-inactive; + white-space: nowrap; } .red-ui-debug-msg-tools { position: absolute; diff --git a/packages/node_modules/@node-red/editor-client/src/sass/editor.scss b/packages/node_modules/@node-red/editor-client/src/sass/editor.scss index df2d3cc6f..75133df8a 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/editor.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/editor.scss @@ -149,11 +149,27 @@ bottom: 0px; width: 7px; left: -9px; - background: $primary-background url(images/grip.png) no-repeat 50% 50%; + background-color: $primary-background; cursor: col-resize; border-left: 1px solid $primary-border-color; box-shadow: -1px 0 6px $shadow; + &:before { + content: ''; + display: block; + width: 100%; + height: 100%; + -webkit-mask-image: url(images/grip.svg); + mask-image: url(images/grip.svg); + -webkit-mask-size: auto; + mask-size: auto; + -webkit-mask-position: 50% 50%; + mask-position: 50% 50%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $grip-color; + } + &.red-ui-tray-resize-maximised { background: $primary-background; cursor: default; diff --git a/packages/node_modules/@node-red/editor-client/src/sass/jquery.scss b/packages/node_modules/@node-red/editor-client/src/sass/jquery.scss index b5b96162d..a884d6641 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/jquery.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/jquery.scss @@ -26,6 +26,13 @@ box-shadow: none; } +.ui-widget.ui-widget-content { + border: 1px solid $tertiary-border-color; +} +.ui-widget-content { + border: 1px solid $secondary-border-color; +} + .ui-widget-header { color: $header-text-color; } diff --git a/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss b/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss index b09c32d6d..34fbd3e07 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss @@ -254,7 +254,7 @@ button.red-ui-palette-editor-upload-button { padding: 2px 8px; } form { - width: 0; + width: 0; } } .red-ui-palette-editor-upload { diff --git a/packages/node_modules/@node-red/editor-client/src/sass/panels.scss b/packages/node_modules/@node-red/editor-client/src/sass/panels.scss index 1a15d3c0d..95d9210f4 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/panels.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/panels.scss @@ -40,7 +40,23 @@ height: 7px; box-sizing: border-box; cursor: ns-resize; - background: $primary-background url(images/grip-horizontal.png) no-repeat 50% 50%; + background-color: $primary-background; + + &:before { + content: ''; + display: block; + width: 100%; + height: 100%; + -webkit-mask-image: url(images/grip-horizontal.svg); + mask-image: url(images/grip-horizontal.svg); + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $grip-color; + } } @@ -70,6 +86,22 @@ width: 7px; display: inline-block; cursor: ew-resize; - background: $primary-background url(images/grip.png) no-repeat 50% 50%; + background-color: $primary-background; } + + &:before { + content: ''; + display: block; + width: 100%; + height: 100%; + -webkit-mask-image: url(images/grip.svg); + mask-image: url(images/grip.svg); + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-position: 50% 50%; + mask-position: 50% 50%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $grip-color; + } } diff --git a/packages/node_modules/@node-red/editor-client/src/sass/popover.scss b/packages/node_modules/@node-red/editor-client/src/sass/popover.scss index e6def9efc..2eb167ef4 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/popover.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/popover.scss @@ -152,7 +152,20 @@ border-radius:3px; padding: 1px 2px; } - +.red-ui-popover { + a { + text-decoration: none; + color: var(--red-ui-popover-color) !important; + } + a:hover, + a:focus { + text-decoration: none; + color: var(--red-ui-popover-color) !important; + } + a:focus { + outline: 1px solid $form-input-focus-color; + } +} .red-ui-popover a.red-ui-button, .red-ui-popover button.red-ui-button { &:not(.primary) { diff --git a/packages/node_modules/@node-red/editor-client/src/sass/sidebar.scss b/packages/node_modules/@node-red/editor-client/src/sass/sidebar.scss index 391ae8585..18b186bad 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/sidebar.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/sidebar.scss @@ -47,8 +47,24 @@ bottom:10px; width: 7px; // z-index: 11; - background: $primary-background url(images/grip.png) no-repeat 50% 50%; + background-color: $primary-background; cursor: col-resize; + + &:before { + content: ''; + display: block; + width: 100%; + height: 100%; + -webkit-mask-image: url(images/grip.svg); + mask-image: url(images/grip.svg); + -webkit-mask-size: auto; + mask-size: auto; + -webkit-mask-position: 50% 50%; + mask-position: 50% 50%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $grip-color; + } } .red-ui-sidebar-closed > #red-ui-sidebar { display: none; } diff --git a/packages/node_modules/@node-red/editor-client/src/sass/tab-info.scss b/packages/node_modules/@node-red/editor-client/src/sass/tab-info.scss index 72422f350..9c63f2119 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/tab-info.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/tab-info.scss @@ -530,10 +530,16 @@ div.red-ui-info-table { } .red-ui-icons-flow { - background-image: url('images/subflow_tab.svg'); - background-repeat: no-repeat; - background-size: contain; - filter: brightness(2.5); + mask-image: url(images/subflow_tab.svg); + -webkit-mask-image: url(images/subflow_tab.svg); + mask-position: center; + -webkit-mask-position: center; + mask-size: contain; + -webkit-mask-size: contain; + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + background-color: $icons-flow-color; + // filter: brightness(2.5); } .red-ui-info-toolbar { diff --git a/packages/node_modules/@node-red/editor-client/src/sass/tabs.scss b/packages/node_modules/@node-red/editor-client/src/sass/tabs.scss index 6603e8b21..a5d3003ae 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/tabs.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/tabs.scss @@ -346,21 +346,28 @@ } -img.red-ui-tab-icon { - margin-left: -8px; - margin-right: 3px; - margin-top: -2px; - opacity: 0.1; - width: 20px; - height: 20px; - vertical-align: middle; -} i.red-ui-tab-icon { opacity: 0.7; width: 18px; height: 20px; + &:not(.fa) { + display: inline-block; + margin-left: -8px; + margin-right: 3px; + margin-top: -2px; + opacity: 1; + width: 20px; + height: 20px; + vertical-align: middle; + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $tab-icon-color; + } } - .red-ui-tabs-badges { position: absolute; top:0px; diff --git a/packages/node_modules/@node-red/editor-client/src/sass/ui/common/treeList.scss b/packages/node_modules/@node-red/editor-client/src/sass/ui/common/treeList.scss index beba6b047..5f1d27037 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/ui/common/treeList.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/ui/common/treeList.scss @@ -135,6 +135,13 @@ } .red-ui-treeList-spinner { height: 32px; - background: url(images/spin.svg) 50% 50% no-repeat; - background-size: auto 20px; + -webkit-mask-image: url(images/spin.svg); + mask-image: url(images/spin.svg); + -webkit-mask-size: auto 20px; + mask-size: auto 20px; + -webkit-mask-position: 50% 50%; + mask-position: 50% 50%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $spinner-color; } diff --git a/packages/node_modules/@node-red/editor-client/src/sass/ui/common/typedInput.scss b/packages/node_modules/@node-red/editor-client/src/sass/ui/common/typedInput.scss index a084fcff3..f9ffdf7b2 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/ui/common/typedInput.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/ui/common/typedInput.scss @@ -104,6 +104,17 @@ } .red-ui-typedInput-icon { margin-right: 6px; + &:not(.fa) { + -webkit-mask-size: cover; + mask-size: cover; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + background-color: $primary-text-color; + height: 14px; + width: 12px; + } } } button.red-ui-typedInput-type-select, diff --git a/packages/node_modules/@node-red/editor-client/src/sass/workspace.scss b/packages/node_modules/@node-red/editor-client/src/sass/workspace.scss index 0ca7c2f84..d594337de 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/workspace.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/workspace.scss @@ -58,7 +58,6 @@ .red-ui-workspace-select-mode { .red-ui-workspace-chart-background { opacity: 0.7; - // fill: $view-select-mode-background; } .red-ui-workspace-chart-grid line { opacity: 0.8; diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/assert.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/assert.d.ts index 5d50a9612..6fcb3ce62 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/assert.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/assert.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'assert' { /** An alias of `assert.ok()`. */ @@ -125,3 +125,7 @@ declare module 'assert' { export = assert; } +declare module 'node:assert' { + import assert = require('assert'); + export = assert; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/async_hooks.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/async_hooks.d.ts index d490d51ba..c576ec7c7 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/async_hooks.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/async_hooks.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ /** * Async Hooks module: https://nodejs.org/api/async_hooks.html @@ -227,3 +227,6 @@ declare module 'async_hooks' { enterWith(store: T): void; } } +declare module 'node:async_hooks' { + export * from 'async_hooks'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/buffer.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/buffer.d.ts index 542885696..24a77e1e4 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/buffer.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/buffer.d.ts @@ -1,7 +1,8 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'buffer' { + import { BinaryLike } from 'node:crypto'; export const INSPECT_MAX_BYTES: number; export const kMaxLength: number; export const kStringMaxLength: number; @@ -20,6 +21,72 @@ declare module 'buffer' { new(size: number): Buffer; prototype: Buffer; }; + /** + * @experimental + */ + export interface BlobOptions { + /** + * @default 'utf8' + */ + encoding?: BufferEncoding | undefined; + /** + * The Blob content-type. The intent is for `type` to convey + * the MIME media type of the data, however no validation of the type format + * is performed. + */ + type?: string | undefined; + } + /** + * A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) encapsulates immutable, raw data that can be safely shared across + * multiple worker threads. + * @since v14.18.0 + * @experimental + */ + export class Blob { + /** + * The total size of the `Blob` in bytes. + * @since v14.18.0 + */ + readonly size: number; + /** + * The content-type of the `Blob`. + * @since v14.18.0 + */ + readonly type: string; + /** + * Creates a new `Blob` object containing a concatenation of the given sources. + * + * {ArrayBuffer}, {TypedArray}, {DataView}, and {Buffer} sources are copied into + * the 'Blob' and can therefore be safely modified after the 'Blob' is created. + * + * String sources are also copied into the `Blob`. + */ + constructor(sources: Array, options?: BlobOptions); + /** + * Returns a promise that fulfills with an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) containing a copy of + * the `Blob` data. + * @since v14.18.0 + */ + arrayBuffer(): Promise; + /** + * Creates and returns a new `Blob` containing a subset of this `Blob` objects + * data. The original `Blob` is not altered. + * @since v14.18.0 + * @param start The starting index. + * @param end The ending index. + * @param type The content-type for the new `Blob` + */ + slice(start?: number, end?: number, type?: string): Blob; + /** + * Returns a promise that fulfills with the contents of the `Blob` decoded as a + * UTF-8 string. + * @since v14.18.0 + */ + text(): Promise; + } export { BuffType as Buffer }; } +declare module 'node:buffer' { + export * from 'buffer'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/child_process.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/child_process.d.ts index 861d9e6d1..a56583b28 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/child_process.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/child_process.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'child_process' { import { BaseEncodingOptions } from 'fs'; @@ -512,3 +512,6 @@ declare module 'child_process' { function execFileSync(command: string, args: ReadonlyArray, options: ExecFileSyncOptionsWithBufferEncoding): Buffer; function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): string | Buffer; } +declare module 'node:child_process' { + export * from 'child_process'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/cluster.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/cluster.d.ts index 60a5d8159..c2c7cd435 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/cluster.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/cluster.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'cluster' { import * as child from 'child_process'; @@ -263,3 +263,6 @@ declare module 'cluster' { function eventNames(): string[]; } +declare module 'node:cluster' { + export * from 'cluster'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/console.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/console.d.ts index 291945bd0..f89ecaa57 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/console.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/console.d.ts @@ -1,7 +1,11 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'console' { + import console = require('node:console'); + export = console; +} +declare module 'node:console' { import { InspectOptions } from 'util'; global { @@ -118,6 +122,11 @@ declare module 'console' { ignoreErrors?: boolean | undefined; colorMode?: boolean | 'auto' | undefined; inspectOptions?: InspectOptions | undefined; + /** + * Set group indentation + * @default 2 + */ + groupIndentation?: number | undefined; } interface ConsoleConstructor { diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/crypto.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/crypto.d.ts index a85d87ebb..4085825c6 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/crypto.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/crypto.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'crypto' { import * as stream from 'stream'; @@ -143,7 +143,7 @@ declare module 'crypto' { function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac; // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings - type BinaryToTextEncoding = 'base64' | 'hex'; + type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex'; type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1'; type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2'; @@ -517,7 +517,7 @@ declare module 'crypto' { key: BinaryLike, curve: string, inputEncoding?: BinaryToTextEncoding, - outputEncoding?: 'latin1' | 'hex' | 'base64', + outputEncoding?: 'latin1' | 'hex' | 'base64' | 'base64url', format?: 'uncompressed' | 'compressed' | 'hybrid', ): Buffer | string; generateKeys(): Buffer; @@ -1187,3 +1187,6 @@ declare module 'crypto' { */ function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer; } +declare module 'node:crypto' { + export * from 'crypto'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/dgram.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/dgram.d.ts index 34a7a9732..c93028a29 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/dgram.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/dgram.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'dgram' { import { AddressInfo } from 'net'; @@ -40,11 +40,11 @@ declare module 'dgram' { class Socket extends EventEmitter { addMembership(multicastAddress: string, multicastInterface?: string): void; address(): AddressInfo; - bind(port?: number, address?: string, callback?: () => void): void; - bind(port?: number, callback?: () => void): void; - bind(callback?: () => void): void; - bind(options: BindOptions, callback?: () => void): void; - close(callback?: () => void): void; + bind(port?: number, address?: string, callback?: () => void): this; + bind(port?: number, callback?: () => void): this; + bind(callback?: () => void): this; + bind(options: BindOptions, callback?: () => void): this; + close(callback?: () => void): this; connect(port: number, address?: string, callback?: () => void): void; connect(port: number, callback: () => void): void; disconnect(): void; @@ -61,11 +61,11 @@ declare module 'dgram' { send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void; setBroadcast(flag: boolean): void; setMulticastInterface(multicastInterface: string): void; - setMulticastLoopback(flag: boolean): void; - setMulticastTTL(ttl: number): void; + setMulticastLoopback(flag: boolean): boolean; + setMulticastTTL(ttl: number): number; setRecvBufferSize(size: number): void; setSendBufferSize(size: number): void; - setTTL(ttl: number): void; + setTTL(ttl: number): number; unref(): this; /** * Tells the kernel to join a source-specific multicast channel at the given @@ -142,3 +142,6 @@ declare module 'dgram' { prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; } } +declare module 'node:dgram' { + export * from 'dgram'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/dns.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/dns.d.ts index 39503a77c..b31ea02ea 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/dns.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/dns.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'dns' { // Supported getaddrinfo flags. @@ -253,6 +253,8 @@ declare module 'dns' { function setServers(servers: ReadonlyArray): void; function getServers(): string[]; + function setDefaultResultOrder(order: 'ipv4first' | 'verbatim'): void; + // Error codes const NODATA: string; const FORMERR: string; @@ -359,6 +361,8 @@ declare module 'dns' { function setServers(servers: ReadonlyArray): void; + function setDefaultResultOrder(order: 'ipv4first' | 'verbatim'): void; + class Resolver { constructor(options?: ResolverOptions); cancel(): void; @@ -381,3 +385,6 @@ declare module 'dns' { } } } +declare module 'node:dns' { + export * from 'dns'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/domain.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/domain.d.ts index fd859be4b..26ca6e26f 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/domain.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/domain.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'domain' { import EventEmitter = require('events'); @@ -25,3 +25,6 @@ declare module 'domain' { function create(): Domain; } +declare module 'node:domain' { + export * from 'domain'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/events.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/events.d.ts index fa35e6e33..e251d6ce9 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/events.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/events.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'events' { interface EventEmitterOptions { @@ -79,3 +79,7 @@ declare module 'events' { export = EventEmitter; } +declare module 'node:events' { + import events = require('events'); + export = events; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/fs.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/fs.d.ts index d804681c4..a54b19a11 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/fs.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/fs.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'fs' { import * as stream from 'stream'; @@ -146,7 +146,7 @@ declare module 'fs' { } export class ReadStream extends stream.Readable { - close(): void; + close(callback?: (err?: NodeJS.ErrnoException | null) => void): void; bytesRead: number; path: string | Buffer; pending: boolean; @@ -214,7 +214,7 @@ declare module 'fs' { } export class WriteStream extends stream.Writable { - close(): void; + close(callback?: (err?: NodeJS.ErrnoException | null) => void): void; bytesWritten: number; path: string | Buffer; pending: boolean; @@ -2244,13 +2244,13 @@ declare module 'fs' { bufferSize?: number | undefined; } - export function opendirSync(path: string, options?: OpenDirOptions): Dir; + export function opendirSync(path: PathLike, options?: OpenDirOptions): Dir; - export function opendir(path: string, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; - export function opendir(path: string, options: OpenDirOptions, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + export function opendir(path: PathLike, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + export function opendir(path: PathLike, options: OpenDirOptions, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; export namespace opendir { - function __promisify__(path: string, options?: OpenDirOptions): Promise; + function __promisify__(path: PathLike, options?: OpenDirOptions): Promise; } export interface BigIntStats extends StatsBase { @@ -2271,3 +2271,6 @@ declare module 'fs' { bigint?: boolean | undefined; } } +declare module 'node:fs' { + export * from 'fs'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/fs/promises.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/fs/promises.d.ts index 6672f36fd..9a17ec577 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/fs/promises.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/fs/promises.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'fs/promises' { import { @@ -564,5 +564,8 @@ declare module 'fs/promises' { */ function readFile(path: PathLike | FileHandle, options?: BaseEncodingOptions & { flag?: OpenMode | undefined } | BufferEncoding | null): Promise; - function opendir(path: string, options?: OpenDirOptions): Promise; + function opendir(path: PathLike, options?: OpenDirOptions): Promise; +} +declare module 'node:fs/promises' { + export * from 'fs/promises'; } diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/globals.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/globals.d.ts index 1f2f0cc71..e47f1b300 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/globals.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/globals.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ // Declare "static" methods in Error interface ErrorConstructor { @@ -74,14 +74,57 @@ declare var module: NodeModule; declare var exports: any; // Buffer class -type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"; +type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex"; type WithImplicitCoercion = T | { valueOf(): T }; +//#region borrowed +// from https://github.com/microsoft/TypeScript/blob/38da7c600c83e7b31193a62495239a0fe478cb67/lib/lib.webworker.d.ts#L633 until moved to separate lib +/** + * A controller object that allows you to abort one or more DOM requests as and when desired. + * @since v14.7.0 + */ +interface AbortController { + /** + * Returns the AbortSignal object associated with this object. + * @since v14.7.0 + */ + readonly signal: AbortSignal; + /** + * Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. + * @since v14.7.0 + */ + abort(): void; +} + +/** + * A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. + * @since v14.7.0 + */ +interface AbortSignal { + /** + * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise. + * @since v14.7.0 + */ + readonly aborted: boolean; +} + +declare var AbortController: { + prototype: AbortController; + new(): AbortController; +}; + +declare var AbortSignal: { + prototype: AbortSignal; + new(): AbortSignal; + // TODO: Add abort() static +}; +//#endregion borrowed + /** * Raw data is stored in instances of the Buffer class. * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. - * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'base64url'|'binary'(deprecated)|'hex' */ declare class Buffer extends Uint8Array { /** @@ -163,7 +206,7 @@ declare class Buffer extends Uint8Array { static isBuffer(obj: any): obj is Buffer; /** * Returns true if {encoding} is a valid encoding argument. - * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'base64url'|'binary'(deprecated)|'hex' * * @param encoding string to test. */ @@ -258,24 +301,89 @@ declare class Buffer extends Uint8Array { writeBigInt64BE(value: bigint, offset?: number): number; writeBigInt64LE(value: bigint, offset?: number): number; writeBigUInt64BE(value: bigint, offset?: number): number; + /** + * @alias Buffer.writeBigUInt64BE + * @since v14.10.0, v12.19.0 + */ + writeBigUint64BE(value: bigint, offset?: number): number; writeBigUInt64LE(value: bigint, offset?: number): number; + /** + * @alias Buffer.writeBigUInt64LE + * @since v14.10.0, v12.19.0 + */ + writeBigUint64LE(value: bigint, offset?: number): number; writeUIntLE(value: number, offset: number, byteLength: number): number; + /** + * @alias Buffer.writeUIntLE + * @since v14.9.0, v12.19.0 + */ + writeUintLE(value: number, offset: number, byteLength: number): number; writeUIntBE(value: number, offset: number, byteLength: number): number; + /** + * @alias Buffer.writeUIntBE + * @since v14.9.0, v12.19.0 + */ + writeUintBE(value: number, offset: number, byteLength: number): number; writeIntLE(value: number, offset: number, byteLength: number): number; writeIntBE(value: number, offset: number, byteLength: number): number; readBigUInt64BE(offset?: number): bigint; + /** + * @alias Buffer.readBigUInt64BE + * @since v14.10.0, v12.19.0 + */ + readBigUint64BE(offset?: number): bigint; readBigUInt64LE(offset?: number): bigint; + /** + * @alias Buffer.readBigUInt64LE + * @since v14.10.0, v12.19.0 + */ + readBigUint64LE(offset?: number): bigint; readBigInt64BE(offset?: number): bigint; readBigInt64LE(offset?: number): bigint; readUIntLE(offset: number, byteLength: number): number; + /** + * @alias Buffer.readUIntLE + * @since v14.9.0, v12.19.0 + */ + readUintLE(offset: number, byteLength: number): number; readUIntBE(offset: number, byteLength: number): number; + /** + * @alias Buffer.readUIntBE + * @since v14.9.0, v12.19.0 + */ + readUintBE(offset: number, byteLength: number): number; readIntLE(offset: number, byteLength: number): number; readIntBE(offset: number, byteLength: number): number; readUInt8(offset?: number): number; + /** + * @alias Buffer.readUInt8 + * @since v14.9.0, v12.19.0 + */ + readUint8(offset?: number): number; readUInt16LE(offset?: number): number; + /** + * @alias Buffer.readUInt16LE + * @since v14.9.0, v12.19.0 + */ + readUint16LE(offset?: number): number; readUInt16BE(offset?: number): number; + /** + * @alias Buffer.readUInt16BE + * @since v14.9.0, v12.19.0 + */ + readUint16BE(offset?: number): number; readUInt32LE(offset?: number): number; + /** + * @alias Buffer.readUInt32LE + * @since v14.9.0, v12.19.0 + */ + readUint32LE(offset?: number): number; readUInt32BE(offset?: number): number; + /** + * @alias Buffer.readUInt32BE + * @since v14.9.0, v12.19.0 + */ + readUint32BE(offset?: number): number; readInt8(offset?: number): number; readInt16LE(offset?: number): number; readInt16BE(offset?: number): number; @@ -290,10 +398,35 @@ declare class Buffer extends Uint8Array { swap32(): Buffer; swap64(): Buffer; writeUInt8(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt8 + * @since v14.9.0, v12.19.0 + */ + writeUint8(value: number, offset?: number): number; writeUInt16LE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt16LE + * @since v14.9.0, v12.19.0 + */ + writeUint16LE(value: number, offset?: number): number; writeUInt16BE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt16BE + * @since v14.9.0, v12.19.0 + */ + writeUint16BE(value: number, offset?: number): number; writeUInt32LE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt32LE + * @since v14.9.0, v12.19.0 + */ + writeUint32LE(value: number, offset?: number): number; writeUInt32BE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt32BE + * @since v14.9.0, v12.19.0 + */ + writeUint32BE(value: number, offset?: number): number; writeInt8(value: number, offset?: number): number; writeInt16LE(value: number, offset?: number): number; writeInt16BE(value: number, offset?: number): number; @@ -460,9 +593,9 @@ declare namespace NodeJS { writable: boolean; write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean; - end(cb?: () => void): void; - end(data: string | Uint8Array, cb?: () => void): void; - end(str: string, encoding?: BufferEncoding, cb?: () => void): void; + end(cb?: () => void): this; + end(data: string | Uint8Array, cb?: () => void): this; + end(str: string, encoding?: BufferEncoding, cb?: () => void): this; } interface ReadWriteStream extends ReadableStream, WritableStream { } diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/http.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/http.d.ts index 2bcad8694..9592ff1ff 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/http.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/http.d.ts @@ -1,10 +1,10 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'http' { import * as stream from 'stream'; import { URL } from 'url'; - import { Socket, Server as NetServer } from 'net'; + import { Socket, Server as NetServer, LookupFunction } from 'net'; // incoming headers will never contain number interface IncomingHttpHeaders extends NodeJS.Dict { @@ -102,6 +102,7 @@ declare module 'http' { setHost?: boolean | undefined; // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 createConnection?: ((options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket) | undefined; + lookup?: LookupFunction | undefined; } interface ServerOptions { @@ -239,7 +240,7 @@ declare module 'http' { constructor(); setTimeout(msecs: number, callback?: () => void): this; - setHeader(name: string, value: number | string | ReadonlyArray): void; + setHeader(name: string, value: number | string | ReadonlyArray): this; getHeader(name: string): number | string | string[] | undefined; getHeaders(): OutgoingHttpHeaders; getHeaderNames(): string[]; @@ -281,6 +282,8 @@ declare module 'http' { aborted: boolean; host: string; protocol: string; + reusedSocket: boolean; + maxHeadersCount: number; constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); @@ -408,7 +411,7 @@ declare module 'http' { * Only valid for response obtained from http.ClientRequest. */ statusMessage?: string | undefined; - destroy(error?: Error): void; + destroy(error?: Error): this; } interface AgentOptions { @@ -487,3 +490,6 @@ declare module 'http' { */ const maxHeaderSize: number; } +declare module 'node:http' { + export * from 'http'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/http2.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/http2.d.ts index 6bcb7e4a0..fe70e85dd 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/http2.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/http2.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'http2' { import EventEmitter = require('events'); @@ -597,7 +597,7 @@ declare module 'http2' { readonly socket: net.Socket | tls.TLSSocket; readonly stream: ServerHttp2Stream; readonly trailers: IncomingHttpHeaders; - readonly url: string; + url: string; setTimeout(msecs: number, callback?: () => void): void; read(size?: number): Buffer | string | null; @@ -663,9 +663,9 @@ declare module 'http2' { statusCode: number; statusMessage: ''; addTrailers(trailers: OutgoingHttpHeaders): void; - end(callback?: () => void): void; - end(data: string | Uint8Array, callback?: () => void): void; - end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void; + end(callback?: () => void): this; + end(data: string | Uint8Array, callback?: () => void): this; + end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): this; getHeader(name: string): string; getHeaderNames(): string[]; getHeaders(): OutgoingHttpHeaders; @@ -959,3 +959,6 @@ declare module 'http2' { listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void ): ClientHttp2Session; } +declare module 'node:http2' { + export * from 'http2'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/https.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/https.d.ts index e18bccabd..332bf6cd5 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/https.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/https.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'https' { import { Duplex } from 'stream'; @@ -140,3 +140,6 @@ declare module 'https' { function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; let globalAgent: Agent; } +declare module 'node:https' { + export * from 'https'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/module.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/module.d.ts index 537cb10f2..6688ba6e6 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/module.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/module.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'module' { import { URL } from 'url'; @@ -53,3 +53,7 @@ declare module 'module' { } export = Module; } +declare module 'node:module' { + import module = require('module'); + export = module; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/net.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/net.d.ts index 97fceb7b2..733c6c286 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/net.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/net.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'net' { import * as stream from 'stream'; @@ -95,9 +95,9 @@ declare module 'net' { readonly remotePort?: number | undefined; // Extended base methods - end(cb?: () => void): void; - end(buffer: Uint8Array | string, cb?: () => void): void; - end(str: Uint8Array | string, encoding?: BufferEncoding, cb?: () => void): void; + end(cb?: () => void): this; + end(buffer: Uint8Array | string, cb?: () => void): this; + end(str: Uint8Array | string, encoding?: BufferEncoding, cb?: () => void): this; /** * events.EventEmitter @@ -294,3 +294,6 @@ declare module 'net' { function isIPv4(input: string): boolean; function isIPv6(input: string): boolean; } +declare module 'node:net' { + export * from 'net'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/os.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/os.d.ts index d716851a8..9639dce06 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/os.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/os.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'os' { interface CpuInfo { @@ -240,3 +240,6 @@ declare module 'os' { */ function setPriority(pid: number, priority: number): void; } +declare module 'node:os' { + export * from 'os'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/path.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/path.d.ts index 20e59b7fe..efe1c90e7 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/path.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/path.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'path' { namespace path { @@ -154,3 +154,7 @@ declare module 'path' { const path: path.PlatformPath; export = path; } +declare module 'node:path' { + import path = require('path'); + export = path; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/perf_hooks.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/perf_hooks.d.ts index d8a2c3d6a..23b899324 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/perf_hooks.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/perf_hooks.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'perf_hooks' { import { AsyncResource } from 'async_hooks'; @@ -272,3 +272,6 @@ declare module 'perf_hooks' { function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor; } +declare module 'node:perf_hooks' { + export * from 'perf_hooks'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/process.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/process.d.ts index 377b88b74..bf7386200 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/process.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/process.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'process' { import * as tty from 'tty'; @@ -123,7 +123,7 @@ declare module 'process' { /** * If true, a diagnostic report is generated when the process * receives the signal specified by process.report.signal. - * @defaul false + * @default false */ reportOnSignal: boolean; @@ -410,3 +410,7 @@ declare module 'process' { export = process; } +declare module 'node:process' { + import process = require('process'); + export = process; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/querystring.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/querystring.d.ts index 6541bfdc5..db101dfa9 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/querystring.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/querystring.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'querystring' { interface StringifyOptions { @@ -29,3 +29,6 @@ declare module 'querystring' { function escape(str: string): string; function unescape(str: string): string; } +declare module 'node:querystring' { + export * from 'querystring'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/readline.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/readline.d.ts index 33fd39b0c..e0f6909b3 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/readline.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/readline.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'readline' { import EventEmitter = require('events'); @@ -48,6 +48,7 @@ declare module 'readline' { resume(): this; close(): void; write(data: string | Buffer, key?: Key): void; + write(data: undefined | null | string | Buffer, key: Key): void; /** * Returns the real position of the cursor in relation to the input @@ -171,3 +172,6 @@ declare module 'readline' { */ function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; } +declare module 'node:readline' { + export * from 'readline'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/stream.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/stream.d.ts index a304cf30d..a8260411f 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/stream.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/stream.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'stream' { import EventEmitter = require('events'); @@ -48,7 +48,7 @@ declare module 'stream' { wrap(oldStream: NodeJS.ReadableStream): this; push(chunk: any, encoding?: BufferEncoding): boolean; _destroy(error: Error | null, callback: (error?: Error | null) => void): void; - destroy(error?: Error): void; + destroy(error?: Error): this; /** * Event emitter @@ -157,12 +157,12 @@ declare module 'stream' { write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; write(chunk: any, encoding: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding: BufferEncoding, cb?: () => void): void; + end(cb?: () => void): this; + end(chunk: any, cb?: () => void): this; + end(chunk: any, encoding: BufferEncoding, cb?: () => void): this; cork(): void; uncork(): void; - destroy(error?: Error): void; + destroy(error?: Error): this; /** * Event emitter @@ -263,9 +263,9 @@ declare module 'stream' { write(chunk: any, encoding?: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding?: BufferEncoding, cb?: () => void): void; + end(cb?: () => void): this; + end(chunk: any, cb?: () => void): this; + end(chunk: any, encoding?: BufferEncoding, cb?: () => void): this; cork(): void; uncork(): void; } @@ -356,3 +356,7 @@ declare module 'stream' { export = internal; } +declare module 'node:stream' { + import stream = require('stream'); + export = stream; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/string_decoder.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/string_decoder.d.ts index c66b7e973..ebcfa3005 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/string_decoder.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/string_decoder.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'string_decoder' { class StringDecoder { @@ -8,3 +8,6 @@ declare module 'string_decoder' { end(buffer?: Buffer): string; } } +declare module 'node:string_decoder' { + export * from 'string_decoder'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/timers.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/timers.d.ts index f687b6e89..2afe53c8d 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/timers.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/timers.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'timers' { function setTimeout(callback: (...args: any[]) => void, ms?: number, ...args: any[]): NodeJS.Timeout; @@ -17,3 +17,6 @@ declare module 'timers' { } function clearImmediate(immediateId: NodeJS.Immediate): void; } +declare module 'node:timers' { + export * from 'timers'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/tls.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/tls.d.ts index 0892095a4..508055923 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/tls.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/tls.d.ts @@ -1,8 +1,9 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'tls' { import * as net from 'net'; + import * as stream from 'stream'; const CLIENT_RENEG_LIMIT: number; const CLIENT_RENEG_WINDOW: number; @@ -444,7 +445,7 @@ declare module 'tls' { host?: string | undefined; port?: number | undefined; path?: string | undefined; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. - socket?: net.Socket | undefined; // Establish secure connection on a given socket rather than creating a new socket + socket?: stream.Duplex | undefined; // Establish secure connection on a given socket rather than creating a new socket checkServerIdentity?: typeof checkServerIdentity | undefined; servername?: string | undefined; // SNI TLS Extension session?: Buffer | undefined; @@ -781,3 +782,6 @@ declare module 'tls' { */ const rootCertificates: ReadonlyArray; } +declare module 'node:tls' { + export * from 'tls'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/trace_events.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/trace_events.d.ts index af5748d8b..bb037dec0 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/trace_events.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/trace_events.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'trace_events' { /** @@ -62,3 +62,6 @@ declare module 'trace_events' { */ function getEnabledCategories(): string | undefined; } +declare module 'node:trace_events' { + export * from 'trace_events'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/tty.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/tty.d.ts index 94f0e54a0..8292139ad 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/tty.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/tty.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'tty' { import * as net from 'net'; @@ -67,3 +67,6 @@ declare module 'tty' { isTTY: boolean; } } +declare module 'node:tty' { + export * from 'tty'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/url.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/url.d.ts index c859be246..80ab2595f 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/url.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/url.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'url' { import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; @@ -105,7 +105,7 @@ declare module 'url' { append(name: string, value: string): void; delete(name: string): void; entries(): IterableIterator<[string, string]>; - forEach(callback: (value: string, name: string, searchParams: this) => void): void; + forEach(callback: (value: string, name: string, searchParams: URLSearchParams) => void, thisArg?: any): void; get(name: string): string | null; getAll(name: string): string[]; has(name: string): boolean; @@ -116,4 +116,37 @@ declare module 'url' { values(): IterableIterator; [Symbol.iterator](): IterableIterator<[string, string]>; } + + import { URL as _URL, URLSearchParams as _URLSearchParams } from 'url'; + global { + interface URLSearchParams extends _URLSearchParams {} + interface URL extends _URL {} + interface Global { + URL: typeof _URL; + URLSearchParams: typeof _URLSearchParams; + } + /** + * `URL` class is a global reference for `require('url').URL` + * https://nodejs.org/api/url.html#the-whatwg-url-api + * @since v10.0.0 + */ + var URL: + // For compatibility with "dom" and "webworker" URL declarations + typeof globalThis extends { onmessage: any, URL: infer URL } + ? URL + : typeof _URL; + /** + * `URLSearchParams` class is a global reference for `require('url').URLSearchParams`. + * https://nodejs.org/api/url.html#class-urlsearchparams + * @since v10.0.0 + */ + var URLSearchParams: + // For compatibility with "dom" and "webworker" URLSearchParams declarations + typeof globalThis extends { onmessage: any, URLSearchParams: infer URLSearchParams } + ? URLSearchParams + : typeof _URLSearchParams; + } +} +declare module 'node:url' { + export * from 'url'; } diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/util.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/util.d.ts index 85db97605..54522c6b0 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/util.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/util.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'util' { interface InspectOptions extends NodeJS.InspectOptions { } @@ -10,6 +10,7 @@ declare module 'util' { } function format(format?: any, ...param: any[]): string; function formatWithOptions(inspectOptions: InspectOptions, format?: any, ...param: any[]): string; + function getSystemErrorName(err: number): string; /** @deprecated since v0.11.3 - use a third party module instead. */ function log(string: string): void; function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; @@ -35,7 +36,12 @@ declare module 'util' { /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ function isError(object: any): object is Error; function inherits(constructor: any, superConstructor: any): void; - function debuglog(key: string): (msg: string, ...param: any[]) => void; + type DebugLoggerFunction = (msg: string, ...param: any[]) => void; + interface DebugLogger extends DebugLoggerFunction { + enabled: boolean; + } + function debuglog(key: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger; + const debug: typeof debuglog; /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ function isBoolean(object: any): object is boolean; /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ @@ -208,3 +214,6 @@ declare module 'util' { encodeInto(input: string, output: Uint8Array): EncodeIntoResult; } } +declare module 'node:util' { + export * from 'util'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/v8.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/v8.d.ts index ae453dec4..50218efc9 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/v8.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/v8.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'v8' { import { Readable } from 'stream'; @@ -188,3 +188,6 @@ declare module 'v8' { */ function deserialize(data: NodeJS.TypedArray): any; } +declare module 'node:v8' { + export * from 'v8'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/vm.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/vm.d.ts index e75bcb0d1..c5e57d83e 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/vm.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/vm.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'vm' { interface Context extends NodeJS.Dict { } @@ -153,3 +153,6 @@ declare module 'vm' { */ function measureMemory(options?: MeasureMemoryOptions): Promise; } +declare module 'node:vm' { + export * from 'vm'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/wasi.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/wasi.d.ts index c71c39924..2dfa6aa3c 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/wasi.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/wasi.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'wasi' { interface WASIOptions { @@ -87,3 +87,6 @@ declare module 'wasi' { readonly wasiImport: NodeJS.Dict; // TODO: Narrow to DOM types } } +declare module 'node:wasi' { + export * from 'wasi'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/worker_threads.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/worker_threads.d.ts index 6b88a6371..48fe445d8 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/worker_threads.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/worker_threads.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'worker_threads' { import { Context } from 'vm'; @@ -239,3 +239,6 @@ declare module 'worker_threads' { */ function receiveMessageOnPort(port: MessagePort): { message: any } | undefined; } +declare module 'node:worker_threads' { + export * from 'worker_threads'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/types/node/zlib.d.ts b/packages/node_modules/@node-red/editor-client/src/types/node/zlib.d.ts index 60881d0de..06e72012d 100644 --- a/packages/node_modules/@node-red/editor-client/src/types/node/zlib.d.ts +++ b/packages/node_modules/@node-red/editor-client/src/types/node/zlib.d.ts @@ -1,5 +1,5 @@ -/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/node-red/nr-monaco-build */ +/* NOTE: Do not edit directly! This file is generated using `npm run update-types` in https://github.com/Steve-Mcl/monaco-editor-esm-i18n */ declare module 'zlib' { import * as stream from 'stream'; @@ -362,3 +362,6 @@ declare module 'zlib' { /** @deprecated */ const Z_DEFLATED: number; } +declare module 'node:zlib' { + export * from 'zlib'; +} diff --git a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ThirdPartyNotices.txt b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ThirdPartyNotices.txt index 309243af3..0e9b56a53 100644 --- a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ThirdPartyNotices.txt +++ b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ThirdPartyNotices.txt @@ -35,39 +35,12 @@ END OF nodejs path library NOTICES AND INFORMATION -%% string_scorer version 0.1.20 (https://github.com/joshaven/string_score) -========================================= -This software is released under the MIT license: - -Copyright (c) Joshaven Potter - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF string_scorer NOTICES AND INFORMATION - - - - -%% chjj-marked NOTICES AND INFORMATION BEGIN HERE +%% markedjs NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) -Copyright (c) 2011-2014, Christopher Jeffrey (https://github.com/chjj/) +Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/) +Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -87,197 +60,389 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF chjj-marked NOTICES AND INFORMATION +END OF markedjs NOTICES AND INFORMATION - - -%% typescript version 2.7.2 (https://github.com/Microsoft/TypeScript) -========================================= -Copyright (c) Microsoft Corporation. All rights reserved. - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS -========================================= -END OF typescript NOTICES AND INFORMATION - - -%% HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/) -========================================= -Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). This software or document includes material copied -from or derived from HTML 5.1 W3C Working Draft (http://www.w3.org/TR/2015/WD-html51-20151008/.) - -THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT -NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF -THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY -PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE -DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. - -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents -without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. -========================================= -END OF HTML 5.1 W3C Working Draft NOTICES AND INFORMATION - - - - -%% JS Beautifier version 1.6.2 (https://github.com/beautify-web/js-beautify) -========================================= -The MIT License (MIT) - -Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF js-beautify NOTICES AND INFORMATION - - - - -%% Ionic documentation version 1.2.4 (https://github.com/driftyco/ionic-site) -========================================= -Copyright Drifty Co. http://drifty.com/. - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS -========================================= -END OF Ionic documentation NOTICES AND INFORMATION - - -%% vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift) -========================================= -The MIT License (MIT) - -Copyright (c) 2015 David Owens II - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF vscode-swift NOTICES AND INFORMATION +%% typescript version 4.4.4 (https://github.com/microsoft/TypeScript) +========================================= +Copyright (c) Microsoft Corporation. All rights reserved. + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + + +The TypeScript software incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise. + + +------------------- DefinitelyTyped -------------------- +This file is based on or incorporates material from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. +DefinitelyTyped +This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file. Provided for Informational Purposes Only + +MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------------- + +------------------- Unicode -------------------- +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +Unicode Data Files do not include PDF online code charts under the +directory http://www.unicode.org/Public/. + +Software includes any source code published in the Unicode Standard +or under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1991-2017 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. +------------------------------------------------------------------------------------- + +-------------------Document Object Model----------------------------- +DOM + +W3C License +This work is being provided by the copyright holders under the following license. +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following +on ALL copies of the work or portions thereof, including modifications: +* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived +from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. +Title to copyright in this work will at all times remain with copyright holders. + +--------- + +DOM +Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License: Attribution 4.0 International +======================================================================= +Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: + +wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= +Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. + +-------------------------------------------------------------------------------- + +----------------------Web Background Synchronization------------------------------ + +Web Background Synchronization Specification +Portions of spec © by W3C + +W3C Community Final Specification Agreement +To secure commitments from participants for the full text of a Community or Business Group Report, the group may call for voluntary commitments to the following terms; a "summary" is +available. See also the related "W3C Community Contributor License Agreement". +1. The Purpose of this Agreement. +This Agreement sets forth the terms under which I make certain copyright and patent rights available to you for your implementation of the Specification. +Any other capitalized terms not specifically defined herein have the same meaning as those terms have in the "W3C Patent Policy", and if not defined there, in the "W3C Process Document". +2. Copyrights. +2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement the Specification to the full extent of my copyright interest in the Specification. +2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number. +3. Patents. +3.1. Patent Licensing Commitment. I agree to license my Essential Claims under the W3C Community RF Licensing Requirements. This requirement includes Essential Claims that I own and any that I have the right to license without obligation of payment or other consideration to an unrelated third party. W3C Community RF Licensing Requirements obligations made concerning the Specification and described in this policy are binding on me for the life of the patents in question and encumber the patents containing Essential Claims, regardless of changes in participation status or W3C Membership. I also agree to license my Essential Claims under the W3C Community RF Licensing Requirements in derivative works of the Specification so long as all normative portions of the Specification are maintained and that this licensing commitment does not extend to any portion of the derivative work that was not included in the Specification. +3.2. Optional, Additional Patent Grant. In addition to the provisions of Section 3.1, I may also, at my option, make certain intellectual property rights infringed by implementations of the Specification, including Essential Claims, available by providing those terms via the W3C Web site. +4. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel. +5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards. +6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement. +7. Transition to W3C Recommendation Track. The Specification developed by the Project may transition to the W3C Recommendation Track. The W3C Team is responsible for notifying me that a Corresponding Working Group has been chartered. I have no obligation to join the Corresponding Working Group. If the Specification developed by the Project transitions to the W3C Recommendation Track, the following terms apply: +7.1. If I join the Corresponding Working Group. If I join the Corresponding Working Group, I will be subject to all W3C rules, obligations, licensing commitments, and policies that govern that Corresponding Working Group. +7.2. If I Do Not Join the Corresponding Working Group. +7.2.1. Licensing Obligations to Resulting Specification. If I do not join the Corresponding Working Group, I agree to offer patent licenses according to the W3C Royalty-Free licensing requirements described in Section 5 of the W3C Patent Policy for the portions of the Specification included in the resulting Recommendation. This licensing commitment does not extend to any portion of an implementation of the Recommendation that was not included in the Specification. This licensing commitment may not be revoked but may be modified through the exclusion process defined in Section 4 of the W3C Patent Policy. I am not required to join the Corresponding Working Group to exclude patents from the W3C Royalty-Free licensing commitment, but must otherwise follow the normal exclusion procedures defined by the W3C Patent Policy. The W3C Team will notify me of any Call for Exclusion in the Corresponding Working Group as set forth in Section 4.5 of the W3C Patent Policy. +7.2.2. No Disclosure Obligation. If I do not join the Corresponding Working Group, I have no patent disclosure obligations outside of those set forth in Section 6 of the W3C Patent Policy. +8. Conflict of Interest. I will disclose significant relationships when those relationships might reasonably be perceived as creating a conflict of interest with my role. I will notify W3C of any change in my affiliation using W3C-provided mechanisms. +9. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED “AS IS.” The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 3 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 3. Nothing in this Agreement requires me to undertake a patent search. +10. Definitions. +10.1. Agreement. “Agreement” means this W3C Community Final Specification Agreement. +10.2. Corresponding Working Group. “Corresponding Working Group” is a W3C Working Group that is chartered to develop a Recommendation, as defined in the W3C Process Document, that takes the Specification as an input. +10.3. Essential Claims. “Essential Claims” shall mean all claims in any patent or patent application in any jurisdiction in the world that would necessarily be infringed by implementation of the Specification. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the normative portions of the Specification. Existence of a non-infringing alternative shall be judged based on the state of the art at the time of the publication of the Specification. The following are expressly excluded from and shall not be deemed to constitute Essential Claims: +10.3.1. any claims other than as set forth above even if contained in the same patent as Essential Claims; and +10.3.2. claims which would be infringed only by: +portions of an implementation that are not specified in the normative portions of the Specification, or +enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Specification and are not themselves expressly set forth in the Specification (e.g., semiconductor manufacturing technology, compiler technology, object-oriented technology, basic operating system technology, and the like); or +the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Specification. +10.3.3. design patents and design registrations. +For purposes of this definition, the normative portions of the Specification shall be deemed to include only architectural and interoperability requirements. Optional features in the RFC 2119 sense are considered normative unless they are specifically identified as informative. Implementation examples or any other material that merely illustrate the requirements of the Specification are informative, rather than normative. +10.4. I, Me, or My. “I,” “me,” or “my” refers to the signatory. +10.5 Project. “Project” means the W3C Community Group or Business Group for which I executed this Agreement. +10.6. Specification. “Specification” means the Specification identified by the Project as the target of this agreement in a call for Final Specification Commitments. W3C shall provide the authoritative mechanisms for the identification of this Specification. +10.7. W3C Community RF Licensing Requirements. “W3C Community RF Licensing Requirements” license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Specification that: +10.7.1. shall be available to all, worldwide, whether or not they are W3C Members; +10.7.2. shall extend to all Essential Claims owned or controlled by me; +10.7.3. may be limited to implementations of the Specification, and to what is required by the Specification; +10.7.4. may be conditioned on a grant of a reciprocal RF license (as defined in this policy) to all Essential Claims owned or controlled by the licensee. A reciprocal license may be required to be available to all, and a reciprocal license may itself be conditioned on a further reciprocal license from all. +10.7.5. may not be conditioned on payment of royalties, fees or other consideration; +10.7.6. may be suspended with respect to any licensee when licensor issued by licensee for infringement of claims essential to implement the Specification or any W3C Recommendation; +10.7.7. may not impose any further conditions or restrictions on the use of any technology, intellectual property rights, or other restrictions on behavior of the licensee, but may include reasonable, customary terms relating to operation or maintenance of the license relationship such as the following: choice of law and dispute resolution; +10.7.8. shall not be considered accepted by an implementer who manifests an intent not to accept the terms of the W3C Community RF Licensing Requirements license as offered by the licensor. +10.7.9. The RF license conforming to the requirements in this policy shall be made available by the licensor as long as the Specification is in effect. The term of such license shall be for the life of the patents in question. +I am encouraged to provide a contact from which licensing information can be obtained and other relevant licensing information. Any such information will be made publicly available. +10.8. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person that person or entity controls. + +------------------------------------------------------------------------------------- + +------------------- WebGL ----------------------------- +Copyright (c) 2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +------------------------------------------------------ + + +========================================= +END OF typescript NOTICES AND INFORMATION + + + + +%% HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/) +========================================= +Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). This software or document includes material copied +from or derived from HTML 5.1 W3C Working Draft (http://www.w3.org/TR/2015/WD-html51-20151008/.) + +THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF +THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY +PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. + +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents +without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. +========================================= +END OF HTML 5.1 W3C Working Draft NOTICES AND INFORMATION + + + + +%% JS Beautifier version 1.6.2 (https://github.com/beautify-web/js-beautify) +========================================= +The MIT License (MIT) + +Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF js-beautify NOTICES AND INFORMATION + + + + +%% Ionic documentation version 1.2.4 (https://github.com/driftyco/ionic-site) +========================================= +Copyright Drifty Co. http://drifty.com/. + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS +========================================= +END OF Ionic documentation NOTICES AND INFORMATION + + + + +%% vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift) +========================================= +The MIT License (MIT) + +Copyright (c) 2015 David Owens II + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF vscode-swift NOTICES AND INFORMATION + diff --git a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ade705761eb7e702770d.ttf b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ade705761eb7e702770d.ttf new file mode 100644 index 000000000..7eba31492 Binary files /dev/null and b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/ade705761eb7e702770d.ttf differ diff --git a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js index d4f2c0adf..41c723f72 100644 --- a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js +++ b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js @@ -1 +1,2 @@ -!function(){"use strict";var e={8669:function(e,t,n){n.d(t,{j:function(){return wn}});const r=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function i(e){a(e)||r.onUnexpectedError(e)}function s(e){if(e instanceof Error){let{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack}}return e}const o="Canceled";function a(e){return e instanceof Error&&e.name===o&&e.message===o}Error;function l(e){const t=this;let n,r=!1;return function(){return r||(r=!0,n=e.apply(t,arguments)),n}}var c;!function(e){e.is=function(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]};const t=Object.freeze([]);e.empty=function(){return t},e.single=function*(e){yield e},e.from=function(e){return e||t},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const n of e)if(t(n))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const r of e)yield t(r,n++)},e.concat=function*(...e){for(const t of e)for(const e of t)yield e},e.concatNested=function*(e){for(const t of e)for(const e of t)yield e},e.reduce=function(e,t,n){let r=n;for(const n of e)r=t(r,n);return r},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);ti}]},e.equals=function(e,t,n=((e,t)=>e===t)){const r=e[Symbol.iterator](),i=t[Symbol.iterator]();for(;;){const e=r.next(),t=i.next();if(e.done!==t.done)return!1;if(e.done)return!0;if(!n(e.value,t.value))return!1}}}(c||(c={}));let d=null;var h;function p(e){return null==d||d.trackDisposable(e),e}function u(e){null==d||d.markAsDisposed(e)}function m(e,t){null==d||d.setParent(e,t)}class f extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function g(e){if(c.is(e)){let t=[];for(const n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new f(t);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function b(...e){const t=v((()=>g(e)));return function(e,t){if(d)for(const n of e)d.setParent(n,t)}(e,t),t}function v(e){const t=p({dispose:l((()=>{u(t),e()}))});return t}class y{constructor(){this._toDispose=new Set,this._isDisposed=!1,p(this)}dispose(){this._isDisposed||(u(this),this._isDisposed=!0,this.clear())}clear(){try{g(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return m(e,this),this._isDisposed?y.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}y.DISABLE_DISPOSED_WARNING=!1;class w{constructor(){this._store=new y,p(this),m(this._store,this)}dispose(){u(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}w.None=Object.freeze({dispose(){}});const x="en";let S,C,k,_=!1,E=!1,F=!1,D=!1,T=!1,R=!1,N=!1,z=null;const A="object"==typeof self?self:"object"==typeof n.g?n.g:{};let I;void 0!==A.vscode&&void 0!==A.vscode.process?I=A.vscode.process:"undefined"!=typeof process&&(I=process);const M="string"==typeof(null===(h=null==I?void 0:I.versions)||void 0===h?void 0:h.electron)&&"renderer"===I.type;if("object"!=typeof navigator||M)if("object"==typeof I){_="win32"===I.platform,E="darwin"===I.platform,F="linux"===I.platform,D=F&&!!I.env.SNAP&&!!I.env.SNAP_REVISION,S=x,z=x;const e=I.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),n=t.availableLanguages["*"];S=t.locale,z=n||x,C=t._translationsConfigFile}catch(e){}T=!0}else console.error("Unable to resolve platform.");else k=navigator.userAgent,_=k.indexOf("Windows")>=0,E=k.indexOf("Macintosh")>=0,N=(k.indexOf("Macintosh")>=0||k.indexOf("iPad")>=0||k.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,F=k.indexOf("Linux")>=0,R=!0,S=navigator.language,z=S;let P=0;E?P=1:_?P=3:F&&(P=2);const O=_,L=E,W=function(){if(A.setImmediate)return A.setImmediate.bind(A);if("function"==typeof A.postMessage&&!A.importScripts){let e=[];A.addEventListener("message",(t=>{if(t.data&&t.data.vscodeSetImmediateId)for(let n=0,r=e.length;n{const r=++t;e.push({id:r,callback:n}),A.postMessage({vscodeSetImmediateId:r},"*")}}if("function"==typeof(null==I?void 0:I.nextTick))return I.nextTick.bind(I);const e=Promise.resolve();return t=>e.then(t)}();function U(e){const t=[];for(const n of function(e){let t=[],n=Object.getPrototypeOf(e);for(;Object.prototype!==n;)t=t.concat(Object.getOwnPropertyNames(n)),n=Object.getPrototypeOf(n);return t}(e))"function"==typeof e[n]&&t.push(n);return t}function j(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)};let r={};for(const t of e)r[t]=n(t);return r}const V="$initialize";class B{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}setWorkerId(e){this._workerId=e}sendMessage(e,t){let n=String(++this._lastSentReq);return new Promise(((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send({vsWorker:this._workerId,req:n,method:e,args:t})}))}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}_handleMessage(e){if(e.seq){let t=e;if(!this._pendingReplies[t.seq])return void console.warn("Got reply to unknown seq");let n=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let e=t.err;return t.err.$isError&&(e=new Error,e.name=t.err.name,e.message=t.err.message,e.stack=t.err.stack),void n.reject(e)}return void n.resolve(t.res)}let t=e,n=t.req;this._handler.handleMessage(t.method,t.args).then((e=>{this._send({vsWorker:this._workerId,seq:n,res:e,err:void 0})}),(e=>{e.detail instanceof Error&&(e.detail=s(e.detail)),this._send({vsWorker:this._workerId,seq:n,res:void 0,err:s(e)})}))}_send(e){let t=[];if(e.req){const n=e;for(let e=0;e{e(t,n)},handleMessage:(e,t)=>this._handleMessage(e,t)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t){if(e===V)return this.initialize(t[0],t[1],t[2],t[3]);if(!this._requestHandler||"function"!=typeof this._requestHandler[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return Promise.reject(e)}}initialize(e,t,n,r){this._protocol.setWorkerId(e);const i=j(r,((e,t)=>this._protocol.sendMessage(e,t)));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(i),Promise.resolve(U(this._requestHandler))):(t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==typeof t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,self.require.config(t)),new Promise(((e,t)=>{self.require([n],(n=>{this._requestHandler=n.create(i),this._requestHandler?e(U(this._requestHandler)):t(new Error("No RequestHandler!"))}),t)})))}}class K{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function $(e){return 55296<=e&&e<=56319}function G(e){return 56320<=e&&e<=57343}function H(e,t){return t-56320+(e-55296<<10)+65536}String.fromCharCode(65279);class Y{constructor(){this._data=JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")}static getInstance(){return Y._INSTANCE||(Y._INSTANCE=new Y),Y._INSTANCE}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let r=1;for(;r<=n;)if(et[3*r+1]))return t[3*r+2];r=2*r+1}return 0}}function J(e,t){return(t<<5)-t+e|0}function X(e,t){t=J(149417,t);for(let n=0,r=e.length;n>>r)>>>0}function Z(e,t=0,n=e.byteLength,r=0){for(let i=0;ie.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length>>0).toString(16),t/4)}Y._INSTANCE=null;class te{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let r,i,s=this._buffLen,o=this._leftoverHighSurrogate;for(0!==o?(r=o,i=-1,o=0):(r=e.charCodeAt(0),i=0);;){let a=r;if($(r)){if(!(i+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),ee(this._h0)+ee(this._h1)+ee(this._h2)+ee(this._h3)+ee(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Z(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Z(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=te._bigBlock32,t=this._buffDV;for(let n=0;n<64;n+=4)e.setUint32(n,t.getUint32(n,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,Q(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let n,r,i,s=this._h0,o=this._h1,a=this._h2,l=this._h3,c=this._h4;for(let t=0;t<80;t++)t<20?(n=o&a|~o&l,r=1518500249):t<40?(n=o^a^l,r=1859775393):t<60?(n=o&a|o&l|a&l,r=2400959708):(n=o^a^l,r=3395469782),i=Q(s,5)+n+c+r+e.getUint32(4*t,!1)&4294967295,c=l,l=a,a=Q(o,30),o=s,s=i;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+c&4294967295}}te._bigBlock32=new DataView(new ArrayBuffer(320));class ne{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new K(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class ae{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[r,i,s]=ae._getElements(e),[o,a,l]=ae._getElements(t);this._hasStrings=s&&l,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(ae._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,r=t.length;n=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let i;return n<=r?(ie.Assert(e===t+1,"originalStart should only be one more than originalEnd"),i=[new K(e,0,n,r-n+1)]):e<=t?(ie.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[new K(e,t-e+1,n,0)]):(ie.Assert(e===t+1,"originalStart should only be one more than originalEnd"),ie.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[]),i}const s=[0],o=[0],a=this.ComputeRecursionPoint(e,t,n,r,s,o,i),l=s[0],c=o[0];if(null!==a)return a;if(!i[0]){const s=this.ComputeDiffRecursive(e,l,n,c,i);let o=[];return o=i[0]?[new K(l+1,t-(l+1)+1,c+1,r-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,r,i),this.ConcatenateChanges(s,o)}return[new K(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,s,o,a,l,c,d,h,p,u,m,f,g,b){let v=null,y=null,w=new oe,x=t,S=n,C=p[0]-f[0]-r,k=-1073741824,_=this.m_forwardHistory.length-1;do{const t=C+e;t===x||t=0&&(e=(l=this.m_forwardHistory[_])[0],x=1,S=l.length-1)}while(--_>=-1);if(v=w.getReverseChanges(),b[0]){let e=p[0]+1,t=f[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new K(e,h-e+1,t,m-t+1)]}else{w=new oe,x=s,S=o,C=p[0]-f[0]-a,k=1073741824,_=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=C+i;e===x||e=c[e+1]?(u=(d=c[e+1]-1)-C-a,d>k&&w.MarkNextChange(),k=d+1,w.AddOriginalElement(d+1,u+1),C=e+1-i):(u=(d=c[e-1])-C-a,d>k&&w.MarkNextChange(),k=d,w.AddModifiedElement(d+1,u+1),C=e-1-i),_>=0&&(i=(c=this.m_reverseHistory[_])[0],x=1,S=c.length-1)}while(--_>=-1);y=w.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,s,o){let a=0,l=0,c=0,d=0,h=0,p=0;e--,n--,i[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const u=t-e+(r-n),m=u+1,f=new Int32Array(m),g=new Int32Array(m),b=r-n,v=t-e,y=e-n,w=t-r,x=(v-b)%2==0;f[b]=e,g[v]=t,o[0]=!1;for(let S=1;S<=u/2+1;S++){let u=0,C=0;c=this.ClipDiagonalBound(b-S,S,b,m),d=this.ClipDiagonalBound(b+S,S,b,m);for(let e=c;e<=d;e+=2){a=e===c||eu+C&&(u=a,C=l),!x&&Math.abs(e-v)<=S-1&&a>=g[e])return i[0]=a,s[0]=l,n<=g[e]&&S<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,s,x,o):null}const k=(u-e+(C-n)-S)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(u,k))return o[0]=!0,i[0]=u,s[0]=C,k>0&&S<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,s,x,o):(e++,n++,[new K(e,t-e+1,n,r-n+1)]);h=this.ClipDiagonalBound(v-S,S,v,m),p=this.ClipDiagonalBound(v+S,S,v,m);for(let u=h;u<=p;u+=2){a=u===h||u=g[u+1]?g[u+1]-1:g[u-1],l=a-(u-v)-w;const m=a;for(;a>e&&l>n&&this.ElementsAreEqual(a,l);)a--,l--;if(g[u]=a,x&&Math.abs(u-b)<=S&&a<=f[u])return i[0]=a,s[0]=l,m>=f[u]&&S<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,s,x,o):null}if(S<=1447){let e=new Int32Array(d-c+2);e[0]=b-c+1,se.Copy2(f,c,e,1,d-c+1),this.m_forwardHistory.push(e),e=new Int32Array(p-h+2),e[0]=v-h+1,se.Copy2(g,h,e,1,p-h+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,s,x,o)}PrettifyChanges(e){for(let t=0;t0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;t--){const n=e[t];let r=0,i=0;if(t>0){const n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(tl&&(l=d,a=e)}n.originalStart-=a,n.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t0&&n>a&&(a=n,l=t,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){let n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const r=new Array(e.length+t.length-1);return se.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],se.Copy(t,1,r,e.length,t.length-1),r}{const n=new Array(e.length+t.length);return se.Copy(e,0,n,0,e.length),se.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(ie.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),ie.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){const r=e.originalStart;let i=e.originalLength;const s=e.modifiedStart;let o=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(o=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new K(r,i,s,o),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&ee.cwd(),nextTick:e=>W(e)}}else le="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd(),nextTick:e=>process.nextTick(e)}:{get platform(){return O?"win32":L?"darwin":"linux"},get arch(){},nextTick:e=>W(e),get env(){return{}},cwd:()=>"/"};const ce=le.cwd,de=le.env,he=le.platform,pe=46,ue=47,me=92,fe=58;class ge extends Error{constructor(e,t,n){let r;"string"==typeof t&&0===t.indexOf("not ")?(r="must not be",t=t.replace(/^not /,"")):r="must be";const i=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${i} ${r} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function be(e,t){if("string"!=typeof e)throw new ge(t,"string",e)}function ve(e){return e===ue||e===me}function ye(e){return e===ue}function we(e){return e>=65&&e<=90||e>=97&&e<=122}function xe(e,t,n,r){let i="",s=0,o=-1,a=0,l=0;for(let c=0;c<=e.length;++c){if(c2){const e=i.lastIndexOf(n);-1===e?(i="",s=0):(i=i.slice(0,e),s=i.length-1-i.lastIndexOf(n)),o=c,a=0;continue}if(0!==i.length){i="",s=0,o=c,a=0;continue}}t&&(i+=i.length>0?`${n}..`:"..",s=2)}else i.length>0?i+=`${n}${e.slice(o+1,c)}`:i=e.slice(o+1,c),s=c-o-1;o=c,a=0}else l===pe&&-1!==a?++a:a=-1}return i}function Se(e,t){if(null===t||"object"!=typeof t)throw new ge("pathObject","Object",t);const n=t.dir||t.root,r=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}const Ce={resolve(...e){let t="",n="",r=!1;for(let i=e.length-1;i>=-1;i--){let s;if(i>=0){if(s=e[i],be(s,"path"),0===s.length)continue}else 0===t.length?s=ce():(s=de[`=${t}`]||ce(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===me)&&(s=`${t}\\`));const o=s.length;let a=0,l="",c=!1;const d=s.charCodeAt(0);if(1===o)ve(d)&&(a=1,c=!0);else if(ve(d))if(c=!0,ve(s.charCodeAt(1))){let e=2,t=e;for(;e2&&ve(s.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(r){if(t.length>0)break}else if(n=`${s.slice(a)}\\${n}`,r=c,c&&t.length>0)break}return n=xe(n,!r,"\\",ve),r?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){be(e,"path");const t=e.length;if(0===t)return".";let n,r=0,i=!1;const s=e.charCodeAt(0);if(1===t)return ye(s)?"\\":e;if(ve(s))if(i=!0,ve(e.charCodeAt(1))){let i=2,s=i;for(;i2&&ve(e.charCodeAt(2))&&(i=!0,r=3));let o=r0&&ve(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?i?`\\${o}`:o:i?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){be(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return ve(n)||t>2&&we(n)&&e.charCodeAt(1)===fe&&ve(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let r=0;r0&&(void 0===t?t=n=i:t+=`\\${i}`)}if(void 0===t)return".";let r=!0,i=0;if("string"==typeof n&&ve(n.charCodeAt(0))){++i;const e=n.length;e>1&&ve(n.charCodeAt(1))&&(++i,e>2&&(ve(n.charCodeAt(2))?++i:r=!1))}if(r){for(;i=2&&(t=`\\${t.slice(i)}`)}return Ce.normalize(t)},relative(e,t){if(be(e,"from"),be(t,"to"),e===t)return"";const n=Ce.resolve(e),r=Ce.resolve(t);if(n===r)return"";if((e=n.toLowerCase())===(t=r.toLowerCase()))return"";let i=0;for(;ii&&e.charCodeAt(s-1)===me;)s--;const o=s-i;let a=0;for(;aa&&t.charCodeAt(l-1)===me;)l--;const c=l-a,d=od){if(t.charCodeAt(a+p)===me)return r.slice(a+p+1);if(2===p)return r.slice(a+p)}o>d&&(e.charCodeAt(i+p)===me?h=p:2===p&&(h=3)),-1===h&&(h=0)}let u="";for(p=i+h+1;p<=s;++p)p!==s&&e.charCodeAt(p)!==me||(u+=0===u.length?"..":"\\..");return a+=h,u.length>0?`${u}${r.slice(a,l)}`:(r.charCodeAt(a)===me&&++a,r.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e)return e;if(0===e.length)return"";const t=Ce.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===me){if(t.charCodeAt(1)===me){const e=t.charCodeAt(2);if(63!==e&&e!==pe)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(we(t.charCodeAt(0))&&t.charCodeAt(1)===fe&&t.charCodeAt(2)===me)return`\\\\?\\${t}`;return e},dirname(e){be(e,"path");const t=e.length;if(0===t)return".";let n=-1,r=0;const i=e.charCodeAt(0);if(1===t)return ve(i)?e:".";if(ve(i)){if(n=r=1,ve(e.charCodeAt(1))){let i=2,s=i;for(;i2&&ve(e.charCodeAt(2))?3:2,r=n);let s=-1,o=!0;for(let n=t-1;n>=r;--n)if(ve(e.charCodeAt(n))){if(!o){s=n;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&be(t,"ext"),be(e,"path");let n,r=0,i=-1,s=!0;if(e.length>=2&&we(e.charCodeAt(0))&&e.charCodeAt(1)===fe&&(r=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=r;--n){const l=e.charCodeAt(n);if(ve(l)){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=r;--n)if(ve(e.charCodeAt(n))){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){be(e,"path");let t=0,n=-1,r=0,i=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===fe&&we(e.charCodeAt(0))&&(t=r=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(ve(t)){if(!s){r=a+1;break}}else-1===i&&(s=!1,i=a+1),t===pe?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:Se.bind(null,"\\"),parse(e){be(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let r=0,i=e.charCodeAt(0);if(1===n)return ve(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(ve(i)){if(r=1,ve(e.charCodeAt(1))){let t=2,i=t;for(;t0&&(t.root=e.slice(0,r));let s=-1,o=r,a=-1,l=!0,c=e.length-1,d=0;for(;c>=r;--c)if(i=e.charCodeAt(c),ve(i)){if(!l){o=c+1;break}}else-1===a&&(l=!1,a=c+1),i===pe?-1===s?s=c:1!==d&&(d=1):-1!==s&&(d=-1);return-1!==a&&(-1===s||0===d||1===d&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==r?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},ke={resolve(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const i=r>=0?e[r]:ce();be(i,"path"),0!==i.length&&(t=`${i}/${t}`,n=i.charCodeAt(0)===ue)}return t=xe(t,!n,"/",ye),n?`/${t}`:t.length>0?t:"."},normalize(e){if(be(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===ue,n=e.charCodeAt(e.length-1)===ue;return 0===(e=xe(e,!t,"/",ye)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(be(e,"path"),e.length>0&&e.charCodeAt(0)===ue),join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=r:t+=`/${r}`)}return void 0===t?".":ke.normalize(t)},relative(e,t){if(be(e,"from"),be(t,"to"),e===t)return"";if((e=ke.resolve(e))===(t=ke.resolve(t)))return"";const n=e.length,r=n-1,i=t.length-1,s=rs){if(t.charCodeAt(1+a)===ue)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else r>s&&(e.charCodeAt(1+a)===ue?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==ue||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(be(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===ue;let n=-1,r=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===ue){if(!r){n=t;break}}else r=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&be(t,"ext"),be(e,"path");let n,r=0,i=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===ue){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===ue){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){be(e,"path");let t=-1,n=0,r=-1,i=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==ue)-1===r&&(i=!1,r=o+1),a===pe?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===s||1===s&&t===r-1&&t===n+1?"":e.slice(t,r)},format:Se.bind(null,"/"),parse(e){be(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===ue;let r;n?(t.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=e.length-1,c=0;for(;l>=r;--l){const t=e.charCodeAt(l);if(t!==ue)-1===o&&(a=!1,o=l+1),t===pe?-1===i?i=l:1!==c&&(c=1):-1!==i&&(c=-1);else if(!a){s=l+1;break}}if(-1!==o){const r=0===s&&n?1:s;-1===i||0===c||1===c&&i===o-1&&i===s+1?t.base=t.name=e.slice(r,o):(t.name=e.slice(r,i),t.base=e.slice(r,o),t.ext=e.slice(i,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};ke.win32=Ce.win32=Ce,ke.posix=Ce.posix=ke;"win32"===he?Ce.normalize:ke.normalize,"win32"===he?Ce.resolve:ke.resolve,"win32"===he?Ce.relative:ke.relative,"win32"===he?Ce.dirname:ke.dirname,"win32"===he?Ce.basename:ke.basename,"win32"===he?Ce.extname:ke.extname,"win32"===he?Ce.sep:ke.sep;const _e=/^\w[\w\d+.-]*$/,Ee=/^\//,Fe=/^\/\//;function De(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!_e.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!Ee.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(Fe.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 ("//")')}const Te="",Re="/",Ne=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ze{constructor(e,t,n,r,i,s=!1){"object"==typeof e?(this.scheme=e.scheme||Te,this.authority=e.authority||Te,this.path=e.path||Te,this.query=e.query||Te,this.fragment=e.fragment||Te):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||Te,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==Re&&(t=Re+t):t=Re}return t}(this.scheme,n||Te),this.query=r||Te,this.fragment=i||Te,De(this,s))}static isUri(e){return e instanceof ze||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}get fsPath(){return Le(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=Te),void 0===n?n=this.authority:null===n&&(n=Te),void 0===r?r=this.path:null===r&&(r=Te),void 0===i?i=this.query:null===i&&(i=Te),void 0===s?s=this.fragment:null===s&&(s=Te),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new Ie(t,n,r,i,s)}static parse(e,t=!1){const n=Ne.exec(e);return n?new Ie(n[2]||Te,Ve(n[4]||Te),Ve(n[5]||Te),Ve(n[7]||Te),Ve(n[9]||Te),t):new Ie(Te,Te,Te,Te,Te)}static file(e){let t=Te;if(O&&(e=e.replace(/\\/g,Re)),e[0]===Re&&e[1]===Re){const n=e.indexOf(Re,2);-1===n?(t=e.substring(2),e=Re):(t=e.substring(2,n),e=e.substring(n)||Re)}return new Ie("file",t,e,Te,Te)}static from(e){const t=new Ie(e.scheme,e.authority,e.path,e.query,e.fragment);return De(t,!0),t}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=O&&"file"===e.scheme?ze.file(Ce.join(Le(e,!0),...t)).path:ke.join(e.path,...t),e.with({path:n})}toString(e=!1){return We(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof ze)return e;{const t=new Ie(e);return t._formatted=e.external,t._fsPath=e._sep===Ae?e.fsPath:null,t}}return e}}const Ae=O?1:void 0;class Ie extends ze{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Le(this,!1)),this._fsPath}toString(e=!1){return e?We(this,!0):(this._formatted||(this._formatted=We(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Ae),this._formatted&&(e.external=this._formatted),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}}const Me={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Pe(e,t){let n,r=-1;for(let i=0;i=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));const t=Me[s];void 0!==t?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=t):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function Oe(e){let t;for(let n=0;n1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,O&&(n=n.replace(/\//g,"\\")),n}function We(e,t){const n=t?Oe:Pe;let r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=Re,r+=Re),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.indexOf(":"),-1===e?r+=n(t,!1):(r+=n(t.substr(0,e),!1),r+=":",r+=n(t.substr(e+1),!1)),r+="@"}s=s.toLowerCase(),e=s.indexOf(":"),-1===e?r+=n(s,!1):(r+=n(s.substr(0,e),!1),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0)}return a&&(r+="?",r+=n(a,!1)),l&&(r+="#",r+=t?l:Pe(l,!1)),r}function Ue(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Ue(e.substr(3)):e}}const je=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Ve(e){return e.match(je)?e.replace(je,(e=>Ue(e))):e}class Be{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new Be(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Be.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Be.isBefore(this,e)}static isBefore(e,t){return e.lineNumbern||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)}isEmpty(){return qe.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return qe.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))}containsRange(e){return qe.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))}strictContainsRange(e){return qe.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return qe.plusRange(this,e)}static plusRange(e,t){let n,r,i,s;return t.startLineNumbere.endLineNumber?(i=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(i=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(i=e.endLineNumber,s=e.endColumn),new qe(n,r,i,s)}intersectRanges(e){return qe.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,s=e.endColumn,o=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,c=t.endColumn;return nl?(i=l,s=c):i===l&&(s=Math.min(s,c)),n>i||n===i&&r>s?null:new qe(n,r,i,s)}equalsRange(e){return qe.equalsRange(this,e)}static equalsRange(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return qe.getEndPosition(this)}static getEndPosition(e){return new Be(e.endLineNumber,e.endColumn)}getStartPosition(){return qe.getStartPosition(this)}static getStartPosition(e){return new Be(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new qe(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new qe(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return qe.collapseToStart(this)}static collapseToStart(e){return new qe(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,t=e){return new qe(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new qe(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}}function Ke(e,t,n,r){return new ae(e,t,n).ComputeDiff(r)}class $e{constructor(e){const t=[],n=[];for(let r=0,i=e.length;r0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&i()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);let l=Ke(s,a,i,!0).changes;o&&(l=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let r=1,i=e.length;r1&&o>1;){if(e.charCodeAt(n-2)!==t.charCodeAt(o-2))break;n--,o--}(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,s+1,1,o)}{let n=Qe(e,1),o=Qe(t,1);const a=e.length+1,l=t.length+1;for(;n=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}(e);return-1===n?t:n+2}function Ze(e){if(0===e)return()=>!0;const t=Date.now();return()=>Date.now()-t255?255:0|e}function tt(e){return e<0?0:e>4294967295?4294967295:0|e}class nt{constructor(e,t){this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class rt{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=tt(e);const 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=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(e,t){return e=tt(e),t=tt(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;let 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=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=tt(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let 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]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,s=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],s=i-this.values[r],e=i))break;t=r+1}return new nt(r,e-s)}}const it=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();const st={maxLen:1e3,windowSize:15,timeBudget:150};function ot(e,t,n,r,i=st){if(n.length>i.maxLen){let s=e-i.maxLen/2;return s<0?s=0:r+=s,ot(e,t,n=n.substring(s,e+i.maxLen/2),r,i)}const s=Date.now(),o=e-1-r;let a=-1,l=null;for(let e=1;!(Date.now()-s>=i.timeBudget);e++){const r=o-i.windowSize*e;t.lastIndex=Math.max(0,r);const s=at(t,n,o,a);if(!s&&l)break;if(l=s,r<=0)break;a=r}if(l){let e={word:l[0],startColumn:r+1+l.index,endColumn:r+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function at(e,t,n,r){let i;for(;i=e.exec(t);){const t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}class lt{constructor(e){let t=et(e);this._defaultValue=t,this._asciiMap=lt._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){let t=new Uint8Array(256);for(let n=0;n<256;n++)t[n]=e;return t}set(e,t){let n=et(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class ct{constructor(e,t,n){const r=new Uint8Array(e*t);for(let i=0,s=e*t;it&&(t=s),i>n&&(n=i),o>n&&(n=o)}t++,n++;let r=new ct(n,t,0);for(let t=0,n=e.length;t=this._maxCharCode?0:this._states.get(e,t)}}let ht=null;let pt=null;class ut{static _createLink(e,t,n,r,i){let s=i-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>r);if(r>0){const e=t.charCodeAt(r-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:s+2},url:t.substring(r,s+1)}}static computeLinks(e,t=function(){return null===ht&&(ht=new dt([[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]])),ht}()){const n=function(){if(null===pt){pt=new lt(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;t=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}mt.INSTANCE=new mt;class ft{constructor(e){this.element=e,this.next=ft.Undefined,this.prev=ft.Undefined}}ft.Undefined=new ft(void 0);class gt{constructor(){this._first=ft.Undefined,this._last=ft.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===ft.Undefined}clear(){let e=this._first;for(;e!==ft.Undefined;){const t=e.next;e.prev=ft.Undefined,e.next=ft.Undefined,e=t}this._first=ft.Undefined,this._last=ft.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new ft(e);if(this._first===ft.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==ft.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==ft.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==ft.Undefined&&e.next!==ft.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===ft.Undefined&&e.next===ft.Undefined?(this._first=ft.Undefined,this._last=ft.Undefined):e.next===ft.Undefined?(this._last=this._last.prev,this._last.next=ft.Undefined):e.prev===ft.Undefined&&(this._first=this._first.next,this._first.prev=ft.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==ft.Undefined;)yield e.element,e=e.next}}const bt=A.performance&&"function"==typeof A.performance.now;class vt{constructor(e){this._highResolution=bt&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new vt(e)}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?A.performance.now():Date.now()}}var yt;!function(e){function t(e){return(t,n=null,r)=>{let i,s=!1;return i=e((e=>{if(!s)return i?i.dispose():s=!0,t.call(n,e)}),null,r),s&&i.dispose(),i}}function n(e,t){return o(((n,r=null,i)=>e((e=>n.call(r,t(e))),null,i)))}function r(e,t){return o(((n,r=null,i)=>e((e=>{t(e),n.call(r,e)}),null,i)))}function i(e,t){return o(((n,r=null,i)=>e((e=>t(e)&&n.call(r,e)),null,i)))}function s(e,t,r){let i=r;return n(e,(e=>(i=t(i,e),i)))}function o(e){let t;const n=new xt({onFirstListenerAdd(){t=e(n.fire,n)},onLastListenerRemove(){t.dispose()}});return n.event}function a(e,t,n=100,r=!1,i){let s,o,a,l=0;const c=new xt({leakWarningThreshold:i,onFirstListenerAdd(){s=e((e=>{l++,o=t(o,e),r&&!a&&(c.fire(o),o=void 0),clearTimeout(a),a=setTimeout((()=>{const e=o;o=void 0,a=void 0,(!r||l>1)&&c.fire(e),l=0}),n)}))},onLastListenerRemove(){s.dispose()}});return c.event}function l(e,t=((e,t)=>e===t)){let n,r=!0;return i(e,(e=>{const i=r||!t(e,n);return r=!1,n=e,i}))}e.None=()=>w.None,e.once=t,e.map=n,e.forEach=r,e.filter=i,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,r)=>b(...e.map((e=>e((e=>t.call(n,e)),null,r))))},e.reduce=s,e.debounce=a,e.latch=l,e.split=function(t,n){return[e.filter(t,n),e.filter(t,(e=>!n(e)))]},e.buffer=function(e,t=!1,n=[]){let r=n.slice(),i=e((e=>{r?r.push(e):o.fire(e)}));const s=()=>{r&&r.forEach((e=>o.fire(e))),r=null},o=new xt({onFirstListenerAdd(){i||(i=e((e=>o.fire(e))))},onFirstListenerDidAdd(){r&&(t?setTimeout(s):s())},onLastListenerRemove(){i&&i.dispose(),i=null}});return o.event};class c{constructor(e){this.event=e}map(e){return new c(n(this.event,e))}forEach(e){return new c(r(this.event,e))}filter(e){return new c(i(this.event,e))}reduce(e,t){return new c(s(this.event,e,t))}latch(){return new c(l(this.event))}debounce(e,t=100,n=!1,r){return new c(a(this.event,e,t,n,r))}on(e,t,n){return this.event(e,t,n)}once(e,n,r){return t(this.event)(e,n,r)}}e.chain=function(e){return new c(e)},e.fromNodeEventEmitter=function(e,t,n=(e=>e)){const r=(...e)=>i.fire(n(...e)),i=new xt({onFirstListenerAdd:()=>e.on(t,r),onLastListenerRemove:()=>e.removeListener(t,r)});return i.event},e.fromDOMEventEmitter=function(e,t,n=(e=>e)){const r=(...e)=>i.fire(n(...e)),i=new xt({onFirstListenerAdd:()=>e.addEventListener(t,r),onLastListenerRemove:()=>e.removeEventListener(t,r)});return i.event},e.toPromise=function(e){return new Promise((n=>t(e)(n)))}}(yt||(yt={}));class wt{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${wt._idPool++}`}start(e){this._stopWatch=new vt(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}wt._idPool=0;class xt{constructor(e){var t;this._disposed=!1,this._options=e,this._leakageMon=void 0,this._perfMon=(null===(t=this._options)||void 0===t?void 0:t._profName)?new wt(this._options._profName):void 0}get event(){return this._event||(this._event=(e,t,n)=>{var r;this._listeners||(this._listeners=new gt);const i=this._listeners.isEmpty();i&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const s=this._listeners.push(t?[e,t]:e);i&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,t);const o=null===(r=this._leakageMon)||void 0===r?void 0:r.check(this._listeners.size),a=v((()=>{if(o&&o(),!this._disposed&&(s(),this._options&&this._options.onLastListenerRemove)){this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)}}));return n instanceof y?n.add(a):Array.isArray(n)&&n.push(a),a}),this._event}fire(e){var t,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new gt);for(let t of this._listeners)this._deliveryQueue.push([t,e]);for(null===(t=this._perfMon)||void 0===t||t.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[e,t]=this._deliveryQueue.shift();try{"function"==typeof e?e.call(void 0,t):e[0].call(e[1],t)}catch(e){i(e)}}null===(n=this._perfMon)||void 0===n||n.stop()}}dispose(){var e,t,n,r,i;this._disposed||(this._disposed=!0,null===(e=this._listeners)||void 0===e||e.clear(),null===(t=this._deliveryQueue)||void 0===t||t.clear(),null===(r=null===(n=this._options)||void 0===n?void 0:n.onLastListenerRemove)||void 0===r||r.call(n),null===(i=this._leakageMon)||void 0===i||i.dispose())}}const St=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var Ct;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof kt||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:yt.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:St})}(Ct||(Ct={}));class kt{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?St:(this._emitter||(this._emitter=new xt),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class _t{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new kt),this._token}cancel(){this._token?this._token instanceof kt&&this._token.cancel():this._token=Ct.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof kt&&this._token.dispose():this._token=Ct.None}}class Et{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const Ft=new Et,Dt=new Et,Tt=new Et;var Rt,Nt,zt,At,It,Mt,Pt,Ot,Lt,Wt,Ut,jt,Vt,Bt,qt,Kt,$t,Gt,Ht,Yt,Jt,Xt,Qt,Zt,en,tn,nn,rn,sn,on,an,ln,cn,dn,hn,pn;!function(){function e(e,t,n=t,r=n){Ft.define(e,t),Dt.define(e,n),Tt.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 Ft.keyCodeToStr(e)},e.fromString=function(e){return Ft.strToKeyCode(e)},e.toUserSettingsUS=function(e){return Dt.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return Tt.keyCodeToStr(e)},e.fromUserSettings=function(e){return Dt.strToKeyCode(e)||Tt.strToKeyCode(e)}}(Rt||(Rt={}));class un extends qe{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return un.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new un(this.startLineNumber,this.startColumn,e,t):new un(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Be(this.positionLineNumber,this.positionColumn)}setStartPosition(e,t){return 0===this.getDirection()?new un(e,t,this.endLineNumber,this.endColumn):new un(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new un(e.lineNumber,e.column,t.lineNumber,t.column)}static liftSelection(e){return new un(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n>>0)>>>0}(e,t)}}fn.CtrlCmd=2048,fn.Shift=1024,fn.Alt=512,fn.WinCtrl=256;var gn=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};class bn extends class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new Be(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;rthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}}class vn{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}acceptNewModel(e){this._models[e.url]=new bn(ze.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeDiff(e,t,n,r){return gn(this,void 0,void 0,(function*(){const i=this._getModel(e),s=this._getModel(t);if(!i||!s)return null;const o=i.getLinesContent(),a=s.getLinesContent(),l=new Je(o,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),c=!(l.changes.length>0)&&this._modelsAreIdentical(i,s);return{quitEarly:l.quitEarly,identical:c,changes:l.changes}}))}_modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++){if(e.getLineContent(r)!==t.getLineContent(r))return!1}return!0}computeMoreMinimalEdits(e,t){return gn(this,void 0,void 0,(function*(){const n=this._getModel(e);if(!n)return t;const r=[];let i;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return qe.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));for(let{range:e,text:s,eol:o}of t){if("number"==typeof o&&(i=o),qe.isEmpty(e)&&!s)continue;const t=n.getValueInRange(e);if(s=s.replace(/\r\n|\n|\r/g,n.eol),t===s)continue;if(Math.max(s.length,t.length)>vn._diffLimit){r.push({range:e,text:s});continue}const a=re(t,s,!1),l=n.offsetAt(qe.lift(e).getStartPosition());for(const e of a){const t=n.positionAt(l+e.originalStart),i=n.positionAt(l+e.originalStart+e.originalLength),o={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:i.lineNumber,endColumn:i.column}};n.getValueInRange(o.range)!==o.text&&r.push(o)}}return"number"==typeof i&&r.push({eol:i,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}))}computeLinks(e){return gn(this,void 0,void 0,(function*(){let t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?ut.computeLinks(e):[]}(t):null}))}textualSuggest(e,t,n,r){return gn(this,void 0,void 0,(function*(){const i=new vt(!0),s=new RegExp(n,r),o=new Set;e:for(let n of e){const e=this._getModel(n);if(e)for(let n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>vn._suggestionsLimit))break e}return{words:Array.from(o),duration:i.elapsed()}}))}computeWordRanges(e,t,n,r){return gn(this,void 0,void 0,(function*(){let i=this._getModel(e);if(!i)return Object.create(null);const s=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;ethis._host.fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(U(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}}vn._diffLimit=1e5,vn._suggestionsLimit=1e4,"function"==typeof importScripts&&(A.monaco={editor:void 0,languages:void 0,CancellationTokenSource:_t,Emitter:xt,KeyCode:Gt,KeyMod:fn,Position:Be,Range:qe,Selection:un,SelectionDirection:sn,MarkerSeverity:Ht,MarkerTag:Yt,Uri:ze,Token:mn});let yn=!1;function wn(e){if(yn)return;yn=!0;const t=new q((e=>{self.postMessage(e)}),(t=>new vn(t,e)));self.onmessage=e=>{t.onmessage(e.data)}}self.onmessage=e=>{yn||wn(null)}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e,t=n(8669);!function(e){e[e.Ident=0]="Ident",e[e.AtKeyword=1]="AtKeyword",e[e.String=2]="String",e[e.BadString=3]="BadString",e[e.UnquotedString=4]="UnquotedString",e[e.Hash=5]="Hash",e[e.Num=6]="Num",e[e.Percentage=7]="Percentage",e[e.Dimension=8]="Dimension",e[e.UnicodeRange=9]="UnicodeRange",e[e.CDO=10]="CDO",e[e.CDC=11]="CDC",e[e.Colon=12]="Colon",e[e.SemiColon=13]="SemiColon",e[e.CurlyL=14]="CurlyL",e[e.CurlyR=15]="CurlyR",e[e.ParenthesisL=16]="ParenthesisL",e[e.ParenthesisR=17]="ParenthesisR",e[e.BracketL=18]="BracketL",e[e.BracketR=19]="BracketR",e[e.Whitespace=20]="Whitespace",e[e.Includes=21]="Includes",e[e.Dashmatch=22]="Dashmatch",e[e.SubstringOperator=23]="SubstringOperator",e[e.PrefixOperator=24]="PrefixOperator",e[e.SuffixOperator=25]="SuffixOperator",e[e.Delim=26]="Delim",e[e.EMS=27]="EMS",e[e.EXS=28]="EXS",e[e.Length=29]="Length",e[e.Angle=30]="Angle",e[e.Time=31]="Time",e[e.Freq=32]="Freq",e[e.Exclamation=33]="Exclamation",e[e.Resolution=34]="Resolution",e[e.Comma=35]="Comma",e[e.Charset=36]="Charset",e[e.EscapedJavaScript=37]="EscapedJavaScript",e[e.BadEscapedJavaScript=38]="BadEscapedJavaScript",e[e.Comment=39]="Comment",e[e.SingleLineComment=40]="SingleLineComment",e[e.EOF=41]="EOF",e[e.CustomToken=42]="CustomToken"}(e||(e={}));var r=function(){function e(e){this.source=e,this.len=e.length,this.position=0}return e.prototype.substring=function(e,t){return void 0===t&&(t=this.position),this.source.substring(e,t)},e.prototype.eos=function(){return this.len<=this.position},e.prototype.pos=function(){return this.position},e.prototype.goBackTo=function(e){this.position=e},e.prototype.goBack=function(e){this.position-=e},e.prototype.advance=function(e){this.position+=e},e.prototype.nextChar=function(){return this.source.charCodeAt(this.position++)||0},e.prototype.peekChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position+e)||0},e.prototype.lookbackChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position-e)||0},e.prototype.advanceIfChar=function(e){return e===this.source.charCodeAt(this.position)&&(this.position++,!0)},e.prototype.advanceIfChars=function(e){if(this.position+e.length>this.source.length)return!1;for(var t=0;t=d&&e<=h&&(this.stream.advance(t+1),this.stream.advanceWhileChar((function(e){return e>=d&&e<=h||0===t&&e===B})),!0)},t.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case R:case N:case T:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===R&&this.stream.advanceIfChar(T)&&e.push("\n"),!0}return!1},t.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===F){this.stream.advance(1),n=this.stream.peekChar();for(var r=0;r<6&&(n>=d&&n<=h||n>=i&&n<=s||n>=a&&n<=l);)this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var o=parseInt(this.stream.substring(this.stream.pos()-r),16);o&&e.push(String.fromCharCode(o))}catch(e){}return n===I||n===M?this.stream.advance(1):this._newline([]),!0}if(n!==R&&n!==N&&n!==T)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1},t.prototype._stringChar=function(e,t){var n=this.stream.peekChar();return 0!==n&&n!==e&&n!==F&&n!==R&&n!==N&&n!==T&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},t.prototype._string=function(t){if(this.stream.peekChar()===A||this.stream.peekChar()===z){var n=this.stream.nextChar();for(t.push(String.fromCharCode(n));this._stringChar(n,t)||this._escape(t,!0););return this.stream.peekChar()===n?(this.stream.nextChar(),t.push(String.fromCharCode(n)),e.String):e.BadString}return null},t.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return 0!==t&&t!==F&&t!==A&&t!==z&&t!==w&&t!==x&&t!==I&&t!==M&&t!==T&&t!==N&&t!==R&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},t.prototype._unquotedString=function(e){for(var t=!1;this._unquotedChar(e)||this._escape(e);)t=!0;return t},t.prototype._whitespace=function(){return this.stream.advanceWhileChar((function(e){return e===I||e===M||e===T||e===N||e===R}))>0},t.prototype._name=function(e){for(var t=!1;this._identChar(e)||this._escape(e);)t=!0;return t},t.prototype.ident=function(e){var t=this.stream.pos();if(this._minus(e)&&this._minus(e)){if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1},t.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return(t===b||t>=i&&t<=o||t>=a&&t<=c||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},t.prototype._minus=function(e){var t=this.stream.peekChar();return t===g&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},t.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===b||t===g||t>=i&&t<=o||t>=a&&t<=c||t>=d&&t<=h||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},t}();function H(e,t){if(e.length0?e.lastIndexOf(t)===n:0===n&&e===t}function J(e,t){return void 0===t&&(t=!0),e?e.length<140?e:e.slice(0,140)+(t?"…":""):""}var X,Q,Z,ee=(X=function(e,t){return(X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}X(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});function te(e,t){var n=null;return!e||te.end?null:(e.accept((function(e){return-1===e.offset&&-1===e.length||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0)})),n)}function ne(e,t){for(var n=te(e,t),r=[];n;)r.unshift(n),n=n.parent;return r}!function(e){e[e.Undefined=0]="Undefined",e[e.Identifier=1]="Identifier",e[e.Stylesheet=2]="Stylesheet",e[e.Ruleset=3]="Ruleset",e[e.Selector=4]="Selector",e[e.SimpleSelector=5]="SimpleSelector",e[e.SelectorInterpolation=6]="SelectorInterpolation",e[e.SelectorCombinator=7]="SelectorCombinator",e[e.SelectorCombinatorParent=8]="SelectorCombinatorParent",e[e.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",e[e.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",e[e.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",e[e.Page=12]="Page",e[e.PageBoxMarginBox=13]="PageBoxMarginBox",e[e.ClassSelector=14]="ClassSelector",e[e.IdentifierSelector=15]="IdentifierSelector",e[e.ElementNameSelector=16]="ElementNameSelector",e[e.PseudoSelector=17]="PseudoSelector",e[e.AttributeSelector=18]="AttributeSelector",e[e.Declaration=19]="Declaration",e[e.Declarations=20]="Declarations",e[e.Property=21]="Property",e[e.Expression=22]="Expression",e[e.BinaryExpression=23]="BinaryExpression",e[e.Term=24]="Term",e[e.Operator=25]="Operator",e[e.Value=26]="Value",e[e.StringLiteral=27]="StringLiteral",e[e.URILiteral=28]="URILiteral",e[e.EscapedValue=29]="EscapedValue",e[e.Function=30]="Function",e[e.NumericValue=31]="NumericValue",e[e.HexColorValue=32]="HexColorValue",e[e.MixinDeclaration=33]="MixinDeclaration",e[e.MixinReference=34]="MixinReference",e[e.VariableName=35]="VariableName",e[e.VariableDeclaration=36]="VariableDeclaration",e[e.Prio=37]="Prio",e[e.Interpolation=38]="Interpolation",e[e.NestedProperties=39]="NestedProperties",e[e.ExtendsReference=40]="ExtendsReference",e[e.SelectorPlaceholder=41]="SelectorPlaceholder",e[e.Debug=42]="Debug",e[e.If=43]="If",e[e.Else=44]="Else",e[e.For=45]="For",e[e.Each=46]="Each",e[e.While=47]="While",e[e.MixinContentReference=48]="MixinContentReference",e[e.MixinContentDeclaration=49]="MixinContentDeclaration",e[e.Media=50]="Media",e[e.Keyframe=51]="Keyframe",e[e.FontFace=52]="FontFace",e[e.Import=53]="Import",e[e.Namespace=54]="Namespace",e[e.Invocation=55]="Invocation",e[e.FunctionDeclaration=56]="FunctionDeclaration",e[e.ReturnStatement=57]="ReturnStatement",e[e.MediaQuery=58]="MediaQuery",e[e.FunctionParameter=59]="FunctionParameter",e[e.FunctionArgument=60]="FunctionArgument",e[e.KeyframeSelector=61]="KeyframeSelector",e[e.ViewPort=62]="ViewPort",e[e.Document=63]="Document",e[e.AtApplyRule=64]="AtApplyRule",e[e.CustomPropertyDeclaration=65]="CustomPropertyDeclaration",e[e.CustomPropertySet=66]="CustomPropertySet",e[e.ListEntry=67]="ListEntry",e[e.Supports=68]="Supports",e[e.SupportsCondition=69]="SupportsCondition",e[e.NamespacePrefix=70]="NamespacePrefix",e[e.GridLine=71]="GridLine",e[e.Plugin=72]="Plugin",e[e.UnknownAtRule=73]="UnknownAtRule",e[e.Use=74]="Use",e[e.ModuleConfiguration=75]="ModuleConfiguration",e[e.Forward=76]="Forward",e[e.ForwardVisibility=77]="ForwardVisibility",e[e.Module=78]="Module"}(Q||(Q={})),function(e){e[e.Mixin=0]="Mixin",e[e.Rule=1]="Rule",e[e.Variable=2]="Variable",e[e.Function=3]="Function",e[e.Keyframe=4]="Keyframe",e[e.Unknown=5]="Unknown",e[e.Module=6]="Module",e[e.Forward=7]="Forward",e[e.ForwardVisibility=8]="ForwardVisibility"}(Z||(Z={}));var re,ie=function(){function e(e,t,n){void 0===e&&(e=-1),void 0===t&&(t=-1),this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}return Object.defineProperty(e.prototype,"end",{get:function(){return this.offset+this.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||Q.Undefined},set:function(e){this.nodeType=e},enumerable:!1,configurable:!0}),e.prototype.getTextProvider=function(){for(var e=this;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:function(){return"unknown"}},e.prototype.getText=function(){return this.getTextProvider()(this.offset,this.length)},e.prototype.matches=function(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e},e.prototype.startsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e},e.prototype.endsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e},e.prototype.accept=function(e){if(e(this)&&this.children)for(var t=0,n=this.children;t=0&&e.parent.children.splice(n,1)}e.parent=this;var r=this.children;return r||(r=this.children=[]),-1!==t?r.splice(t,0,e):r.push(e),e},e.prototype.attachTo=function(e,t){return void 0===t&&(t=-1),e&&e.adoptChild(this,t),this},e.prototype.collectIssues=function(e){this.issues&&e.push.apply(e,this.issues)},e.prototype.addIssue=function(e){this.issues||(this.issues=[]),this.issues.push(e)},e.prototype.hasIssue=function(e){return Array.isArray(this.issues)&&this.issues.some((function(t){return t.getRule()===e}))},e.prototype.isErroneous=function(e){return void 0===e&&(e=!1),!!(this.issues&&this.issues.length>0)||e&&Array.isArray(this.children)&&this.children.some((function(e){return e.isErroneous(!0)}))},e.prototype.setNode=function(e,t,n){return void 0===n&&(n=-1),!!t&&(t.attachTo(this,n),this[e]=t,!0)},e.prototype.addChild=function(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)},e.prototype.updateOffsetAndLength=function(e){(e.offsetthis.end||-1===this.length)&&(this.length=t-this.offset)},e.prototype.hasChildren=function(){return!!this.children&&this.children.length>0},e.prototype.getChildren=function(){return this.children?this.children.slice(0):[]},e.prototype.getChild=function(e){return this.children&&e=0;n--)if((t=this.children[n]).offset<=e)return t;return null},e.prototype.findChildAtOffset=function(e,t){var n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t&&n.findChildAtOffset(e,!0)||n:null},e.prototype.encloses=function(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length},e.prototype.getParent=function(){for(var e=this.parent;e instanceof se;)e=e.parent;return e},e.prototype.findParent=function(e){for(var t=this;t&&t.type!==e;)t=t.parent;return t},e.prototype.findAParent=function(){for(var e=[],t=0;t/g,">")}function Et(e,t){if(!e.description||""===e.description)return"";if("string"!=typeof e.description)return e.description.value;var n="";if(!1!==(null==t?void 0:t.documentation)){e.status&&(n+=Ct(e.status)),n+=e.description;var r=Dt(e.browsers);r&&(n+="\n("+r+")"),"syntax"in e&&(n+="\n\nSyntax: "+e.syntax)}return e.references&&e.references.length>0&&!1!==(null==t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return e.name+": "+e.url})).join(" | ")),n}function Ft(e,t){if(!e.description||""===e.description)return"";var n="";if(!1!==(null==t?void 0:t.documentation)){e.status&&(n+=Ct(e.status)),n+=_t("string"==typeof e.description?e.description:e.description.value);var r=Dt(e.browsers);r&&(n+="\n\n("+_t(r)+")"),"syntax"in e&&e.syntax&&(n+="\n\nSyntax: "+_t(e.syntax))}return e.references&&e.references.length>0&&!1!==(null==t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | ")),n}function Dt(e){return void 0===e&&(e=[]),0===e.length?null:e.map((function(e){var t="",n=e.match(/([A-Z]+)(\d+)?/),r=n[1],i=n[2];return r in St&&(t+=St[r]),i&&(t+=" "+i),t})).join(", ")}var Tt=vt(),Rt=[{func:"rgb($red, $green, $blue)",desc:Tt("vs/language/css/_deps/vscode-css-languageservice/languageFacts/colors","css.builtin.rgb","Creates a Color from red, green, and blue values.")},{func:"rgba($red, $green, $blue, $alpha)",desc:Tt("vs/language/css/_deps/vscode-css-languageservice/languageFacts/colors","css.builtin.rgba","Creates a Color from red, green, blue, and alpha values.")},{func:"hsl($hue, $saturation, $lightness)",desc:Tt("vs/language/css/_deps/vscode-css-languageservice/languageFacts/colors","css.builtin.hsl","Creates a Color from hue, saturation, and lightness values.")},{func:"hsla($hue, $saturation, $lightness, $alpha)",desc:Tt("vs/language/css/_deps/vscode-css-languageservice/languageFacts/colors","css.builtin.hsla","Creates a Color from hue, saturation, lightness, and alpha values.")}],Nt={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},zt={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value."};function At(e,t){var n=e.getText().match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/);if(n){n[2]&&(t=100);var r=parseFloat(n[1])/t;if(r>=0&&r<=1)return r}throw new Error}function It(e){var t=e.getName();return!!t&&/^(rgb|rgba|hsl|hsla)$/gi.test(t)}function Mt(e){return e<48?0:e<=57?e-48:(e<97&&(e+=32),e>=97&&e<=102?e-97+10:0)}function Pt(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*Mt(e.charCodeAt(1))/255,green:17*Mt(e.charCodeAt(2))/255,blue:17*Mt(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*Mt(e.charCodeAt(1))/255,green:17*Mt(e.charCodeAt(2))/255,blue:17*Mt(e.charCodeAt(3))/255,alpha:17*Mt(e.charCodeAt(4))/255};case 7:return{red:(16*Mt(e.charCodeAt(1))+Mt(e.charCodeAt(2)))/255,green:(16*Mt(e.charCodeAt(3))+Mt(e.charCodeAt(4)))/255,blue:(16*Mt(e.charCodeAt(5))+Mt(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*Mt(e.charCodeAt(1))+Mt(e.charCodeAt(2)))/255,green:(16*Mt(e.charCodeAt(3))+Mt(e.charCodeAt(4)))/255,blue:(16*Mt(e.charCodeAt(5))+Mt(e.charCodeAt(6)))/255,alpha:(16*Mt(e.charCodeAt(7))+Mt(e.charCodeAt(8)))/255}}return null}function Ot(e){if(e.type===Q.HexColorValue)return Pt(e.getText());if(e.type===Q.Function){var t=e,n=t.getName(),r=t.getArguments().getChildren();if(!n||r.length<3||r.length>4)return null;try{var i=4===r.length?At(r[3],1):1;if("rgb"===n||"rgba"===n)return{red:At(r[0],255),green:At(r[1],255),blue:At(r[2],255),alpha:i};if("hsl"===n||"hsla"===n)return function(e,t,n,r){if(void 0===r&&(r=1),0===t)return{red:n,green:n,blue:n,alpha:r};var i=function(e,t,n){for(;n<0;)n+=6;for(;n>=6;)n-=6;return n<1?(t-e)*n+e:n<3?t:n<4?(t-e)*(4-n)+e:e},s=n<=.5?n*(t+1):n+t-n*t,o=2*n-s;return{red:i(o,s,2+(e/=60)),green:i(o,s,e),blue:i(o,s,e-2),alpha:r}}(function(e){var t=e.getText();if(t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg)?$/))return parseFloat(t)%360;throw new Error}(r[0]),At(r[1],100),At(r[2],100),i)}catch(e){return null}}else if(e.type===Q.Identifier){if(e.parent&&e.parent.type!==Q.Term)return null;var s=e.parent;if(s&&s.parent&&s.parent.type===Q.BinaryExpression){var o=s.parent;if(o.parent&&o.parent.type===Q.ListEntry&&o.parent.key===o)return null}var a=e.getText().toLowerCase();if("none"===a)return null;var l=Nt[a];if(l)return Pt(l)}return null}var Lt={bottom:"Computes to ‘100%’ for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.",center:"Computes to ‘50%’ (‘left 50%’) for the horizontal position if the horizontal position is not otherwise specified, or ‘50%’ (‘top 50%’) for the vertical position if it is.",left:"Computes to ‘0%’ for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.",right:"Computes to ‘100%’ for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.",top:"Computes to ‘0%’ for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset."},Wt={"no-repeat":"Placed once and not repeated in this direction.",repeat:"Repeated in this direction as often as needed to cover the background painting area.","repeat-x":"Computes to ‘repeat no-repeat’.","repeat-y":"Computes to ‘no-repeat repeat’.",round:"Repeated as often as will fit within the background positioning area. If it doesn’t fit a whole number of times, it is rescaled so that it does.",space:"Repeated as often as will fit within the background positioning area without being clipped and then the images are spaced out to fill the area."},Ut={dashed:"A series of square-ended dashes.",dotted:"A series of round dots.",double:"Two parallel solid lines with some space between them.",groove:"Looks as if it were carved in the canvas.",hidden:"Same as ‘none’, but has different behavior in the border conflict resolution rules for border-collapsed tables.",inset:"Looks as if the content on the inside of the border is sunken into the canvas.",none:"No border. Color and width are ignored.",outset:"Looks as if the content on the inside of the border is coming out of the canvas.",ridge:"Looks as if it were coming out of the canvas.",solid:"A single line segment."},jt=["medium","thick","thin"],Vt={"border-box":"The background is painted within (clipped to) the border box.","content-box":"The background is painted within (clipped to) the content box.","padding-box":"The background is painted within (clipped to) the padding box."},Bt={"margin-box":"Uses the margin box as reference box.","fill-box":"Uses the object bounding box as reference box.","stroke-box":"Uses the stroke bounding box as reference box.","view-box":"Uses the nearest SVG viewport as reference box."},qt={initial:"Represents the value specified as the property’s initial value.",inherit:"Represents the computed value of the property on the element’s parent.",unset:"Acts as either `inherit` or `initial`, depending on whether the property is inherited or not."},Kt={"url()":"Reference an image file by URL","image()":"Provide image fallbacks and annotations.","-webkit-image-set()":"Provide multiple resolutions. Remember to use unprefixed image-set() in addition.","image-set()":"Provide multiple resolutions of an image and const the UA decide which is most appropriate in a given situation.","-moz-element()":"Use an element in the document as an image. Remember to use unprefixed element() in addition.","element()":"Use an element in the document as an image.","cross-fade()":"Indicates the two images to be combined and how far along in the transition the combination is.","-webkit-gradient()":"Deprecated. Use modern linear-gradient() or radial-gradient() instead.","-webkit-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-moz-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-o-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","linear-gradient()":"A linear gradient is created by specifying a straight gradient line, and then several colors placed along that line.","-webkit-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-moz-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-o-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","repeating-linear-gradient()":"Same as linear-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position.","-webkit-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","-moz-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","radial-gradient()":"Colors emerge from a single point and smoothly spread outward in a circular or elliptical shape.","-webkit-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","-moz-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","repeating-radial-gradient()":"Same as radial-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position."},$t={ease:"Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1.0).","ease-in":"Equivalent to cubic-bezier(0.42, 0, 1.0, 1.0).","ease-in-out":"Equivalent to cubic-bezier(0.42, 0, 0.58, 1.0).","ease-out":"Equivalent to cubic-bezier(0, 0, 0.58, 1.0).",linear:"Equivalent to cubic-bezier(0.0, 0.0, 1.0, 1.0).","step-end":"Equivalent to steps(1, end).","step-start":"Equivalent to steps(1, start).","steps()":"The first parameter specifies the number of intervals in the function. The second parameter, which is optional, is either the value “start” or “end”.","cubic-bezier()":"Specifies a cubic-bezier curve. The four values specify points P1 and P2 of the curve as (x1, y1, x2, y2).","cubic-bezier(0.6, -0.28, 0.735, 0.045)":"Ease-in Back. Overshoots.","cubic-bezier(0.68, -0.55, 0.265, 1.55)":"Ease-in-out Back. Overshoots.","cubic-bezier(0.175, 0.885, 0.32, 1.275)":"Ease-out Back. Overshoots.","cubic-bezier(0.6, 0.04, 0.98, 0.335)":"Ease-in Circular. Based on half circle.","cubic-bezier(0.785, 0.135, 0.15, 0.86)":"Ease-in-out Circular. Based on half circle.","cubic-bezier(0.075, 0.82, 0.165, 1)":"Ease-out Circular. Based on half circle.","cubic-bezier(0.55, 0.055, 0.675, 0.19)":"Ease-in Cubic. Based on power of three.","cubic-bezier(0.645, 0.045, 0.355, 1)":"Ease-in-out Cubic. Based on power of three.","cubic-bezier(0.215, 0.610, 0.355, 1)":"Ease-out Cubic. Based on power of three.","cubic-bezier(0.95, 0.05, 0.795, 0.035)":"Ease-in Exponential. Based on two to the power ten.","cubic-bezier(1, 0, 0, 1)":"Ease-in-out Exponential. Based on two to the power ten.","cubic-bezier(0.19, 1, 0.22, 1)":"Ease-out Exponential. Based on two to the power ten.","cubic-bezier(0.47, 0, 0.745, 0.715)":"Ease-in Sine.","cubic-bezier(0.445, 0.05, 0.55, 0.95)":"Ease-in-out Sine.","cubic-bezier(0.39, 0.575, 0.565, 1)":"Ease-out Sine.","cubic-bezier(0.55, 0.085, 0.68, 0.53)":"Ease-in Quadratic. Based on power of two.","cubic-bezier(0.455, 0.03, 0.515, 0.955)":"Ease-in-out Quadratic. Based on power of two.","cubic-bezier(0.25, 0.46, 0.45, 0.94)":"Ease-out Quadratic. Based on power of two.","cubic-bezier(0.895, 0.03, 0.685, 0.22)":"Ease-in Quartic. Based on power of four.","cubic-bezier(0.77, 0, 0.175, 1)":"Ease-in-out Quartic. Based on power of four.","cubic-bezier(0.165, 0.84, 0.44, 1)":"Ease-out Quartic. Based on power of four.","cubic-bezier(0.755, 0.05, 0.855, 0.06)":"Ease-in Quintic. Based on power of five.","cubic-bezier(0.86, 0, 0.07, 1)":"Ease-in-out Quintic. Based on power of five.","cubic-bezier(0.23, 1, 0.320, 1)":"Ease-out Quintic. Based on power of five."},Gt={"circle()":"Defines a circle.","ellipse()":"Defines an ellipse.","inset()":"Defines an inset rectangle.","polygon()":"Defines a polygon."},Ht={length:["em","rem","ex","px","cm","mm","in","pt","pc","ch","vw","vh","vmin","vmax"],angle:["deg","rad","grad","turn"],time:["ms","s"],frequency:["Hz","kHz"],resolution:["dpi","dpcm","dppx"],percentage:["%","fr"]},Yt=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","const","video","wbr"],Jt=["circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","hatch","hatchpath","image","line","linearGradient","marker","mask","mesh","meshpatch","meshrow","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","solidcolor","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Xt=["@bottom-center","@bottom-left","@bottom-left-corner","@bottom-right","@bottom-right-corner","@left-bottom","@left-middle","@left-top","@right-bottom","@right-middle","@right-top","@top-center","@top-left","@top-left-corner","@top-right","@top-right-corner"];function Qt(e){return Object.keys(e).map((function(t){return e[t]}))}function Zt(e){return void 0!==e}var en=function(){function t(t){void 0===t&&(t=new G),this.keyframeRegex=/^@(\-(webkit|ms|moz|o)\-)?keyframes$/i,this.scanner=t,this.token={type:e.EOF,offset:-1,len:0,text:""},this.prevToken=void 0}return t.prototype.peekIdent=function(t){return e.Ident===this.token.type&&t.length===this.token.text.length&&t===this.token.text.toLowerCase()},t.prototype.peekKeyword=function(t){return e.AtKeyword===this.token.type&&t.length===this.token.text.length&&t===this.token.text.toLowerCase()},t.prototype.peekDelim=function(t){return e.Delim===this.token.type&&t===this.token.text},t.prototype.peek=function(e){return e===this.token.type},t.prototype.peekOne=function(e){return-1!==e.indexOf(this.token.type)},t.prototype.peekRegExp=function(e,t){return e===this.token.type&&t.test(this.token.text)},t.prototype.hasWhitespace=function(){return!!this.prevToken&&this.prevToken.offset+this.prevToken.len!==this.token.offset},t.prototype.consumeToken=function(){this.prevToken=this.token,this.token=this.scanner.scan()},t.prototype.mark=function(){return{prev:this.prevToken,curr:this.token,pos:this.scanner.pos()}},t.prototype.restoreAtMark=function(e){this.prevToken=e.prev,this.token=e.curr,this.scanner.goBackTo(e.pos)},t.prototype.try=function(e){var t=this.mark(),n=e();return n||(this.restoreAtMark(t),null)},t.prototype.acceptOneKeyword=function(t){if(e.AtKeyword===this.token.type)for(var n=0,r=t;ne.offset?i-e.offset:0}return e},t.prototype.markError=function(e,t,n,r){this.token!==this.lastErrorToken&&(e.addIssue(new mt(e,t,re.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(n||r)&&this.resync(n,r)},t.prototype.parseStylesheet=function(e){var t=e.version,n=e.getText();return this.internalParse(n,this._parseStylesheet,(function(r,i){if(e.version!==t)throw new Error("Underlying model has changed, AST is no longer valid");return n.substr(r,i)}))},t.prototype.internalParse=function(e,t,n){this.scanner.setSource(e),this.token=this.scanner.scan();var r=t.bind(this)();return r&&(r.textProvider=n||function(t,n){return e.substr(t,n)}),r},t.prototype._parseStylesheet=function(){for(var t=this.create(ae);t.addChild(this._parseStylesheetStart()););var n=!1;do{var r=!1;do{r=!1;var i=this._parseStylesheetStatement();for(i&&(t.addChild(i),r=!0,n=!1,this.peek(e.EOF)||!this._needsSemicolonAfter(i)||this.accept(e.SemiColon)||this.markError(t,xt.SemiColonExpected));this.accept(e.SemiColon)||this.accept(e.CDO)||this.accept(e.CDC);)r=!0,n=!1}while(r);if(this.peek(e.EOF))break;n||(this.peek(e.AtKeyword)?this.markError(t,xt.UnknownAtRule):this.markError(t,xt.RuleOrSelectorExpected),n=!0),this.consumeToken()}while(!this.peek(e.EOF));return this.finish(t)},t.prototype._parseStylesheetStart=function(){return this._parseCharset()},t.prototype._parseStylesheetStatement=function(t){return void 0===t&&(t=!1),this.peek(e.AtKeyword)?this._parseStylesheetAtStatement(t):this._parseRuleset(t)},t.prototype._parseStylesheetAtStatement=function(e){return void 0===e&&(e=!1),this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseUnknownAtRule()},t.prototype._tryParseRuleset=function(t){var n=this.mark();if(this._parseSelector(t)){for(;this.accept(e.Comma)&&this._parseSelector(t););if(this.accept(e.CurlyL))return this.restoreAtMark(n),this._parseRuleset(t)}return this.restoreAtMark(n),null},t.prototype._parseRuleset=function(t){void 0===t&&(t=!1);var n=this.create(de),r=n.getSelectors();if(!r.addChild(this._parseSelector(t)))return null;for(;this.accept(e.Comma);)if(!r.addChild(this._parseSelector(t)))return this.finish(n,xt.SelectorExpected);return this._parseBody(n,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseRuleSetDeclarationAtStatement=function(){return this._parseUnknownAtRule()},t.prototype._parseRuleSetDeclaration=function(){return this.peek(e.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this._parseDeclaration()},t.prototype._needsSemicolonAfter=function(e){switch(e.type){case Q.Keyframe:case Q.ViewPort:case Q.Media:case Q.Ruleset:case Q.Namespace:case Q.If:case Q.For:case Q.Each:case Q.While:case Q.MixinDeclaration:case Q.FunctionDeclaration:case Q.MixinContentDeclaration:return!1;case Q.ExtendsReference:case Q.MixinContentReference:case Q.ReturnStatement:case Q.MediaQuery:case Q.Debug:case Q.Import:case Q.AtApplyRule:case Q.CustomPropertyDeclaration:return!0;case Q.VariableDeclaration:return e.needsSemicolon;case Q.MixinReference:return!e.getContent();case Q.Declaration:return!e.getNestedProperties()}return!1},t.prototype._parseDeclarations=function(t){var n=this.create(le);if(!this.accept(e.CurlyL))return null;for(var r=t();n.addChild(r)&&!this.peek(e.CurlyR);){if(this._needsSemicolonAfter(r)&&!this.accept(e.SemiColon))return this.finish(n,xt.SemiColonExpected,[e.SemiColon,e.CurlyR]);for(r&&this.prevToken&&this.prevToken.type===e.SemiColon&&(r.semicolonPosition=this.prevToken.offset);this.accept(e.SemiColon););r=t()}return this.accept(e.CurlyR)?this.finish(n):this.finish(n,xt.RightCurlyExpected,[e.CurlyR,e.SemiColon])},t.prototype._parseBody=function(t,n){return t.setDeclarations(this._parseDeclarations(n))?this.finish(t):this.finish(t,xt.LeftCurlyExpected,[e.CurlyR,e.SemiColon])},t.prototype._parseSelector=function(e){var t=this.create(he),n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());)n=!0,t.addChild(this._parseCombinator());return n?this.finish(t):null},t.prototype._parseDeclaration=function(t){var n=this._tryParseCustomPropertyDeclaration(t);if(n)return n;var r=this.create(fe);return r.setProperty(this._parseProperty())?this.accept(e.Colon)?(this.prevToken&&(r.colonPosition=this.prevToken.offset),r.setValue(this._parseExpr())?(r.addChild(this._parsePrio()),this.peek(e.SemiColon)&&(r.semicolonPosition=this.token.offset),this.finish(r)):this.finish(r,xt.PropertyValueExpected)):this.finish(r,xt.ColonExpected,[e.Colon],t||[e.SemiColon]):null},t.prototype._tryParseCustomPropertyDeclaration=function(t){if(!this.peekRegExp(e.Ident,/^--/))return null;var n=this.create(ge);if(!n.setProperty(this._parseProperty()))return null;if(!this.accept(e.Colon))return this.finish(n,xt.ColonExpected,[e.Colon]);this.prevToken&&(n.colonPosition=this.prevToken.offset);var r=this.mark();if(this.peek(e.CurlyL)){var i=this.create(me),s=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(i.setDeclarations(s)&&!s.isErroneous(!0)&&(i.addChild(this._parsePrio()),this.peek(e.SemiColon)))return this.finish(i),n.setPropertySet(i),n.semicolonPosition=this.token.offset,this.finish(n);this.restoreAtMark(r)}var o=this._parseExpr();return o&&!o.isErroneous(!0)&&(this._parsePrio(),this.peekOne(t||[e.SemiColon]))?(n.setValue(o),n.semicolonPosition=this.token.offset,this.finish(n)):(this.restoreAtMark(r),n.addChild(this._parseCustomPropertyValue(t)),n.addChild(this._parsePrio()),Zt(n.colonPosition)&&this.token.offset===n.colonPosition+1?this.finish(n,xt.PropertyValueExpected):this.finish(n))},t.prototype._parseCustomPropertyValue=function(t){var n=this;void 0===t&&(t=[e.CurlyR]);var r=this.create(ie),i=function(){return 0===o&&0===a&&0===l},s=function(){return-1!==t.indexOf(n.token.type)},o=0,a=0,l=0;e:for(;;){switch(this.token.type){case e.SemiColon:case e.Exclamation:if(i())break e;break;case e.CurlyL:o++;break;case e.CurlyR:if(--o<0){if(s()&&0===a&&0===l)break e;return this.finish(r,xt.LeftCurlyExpected)}break;case e.ParenthesisL:a++;break;case e.ParenthesisR:if(--a<0){if(s()&&0===l&&0===o)break e;return this.finish(r,xt.LeftParenthesisExpected)}break;case e.BracketL:l++;break;case e.BracketR:if(--l<0)return this.finish(r,xt.LeftSquareBracketExpected);break;case e.BadString:break e;case e.EOF:var c=xt.RightCurlyExpected;return l>0?c=xt.RightSquareBracketExpected:a>0&&(c=xt.RightParenthesisExpected),this.finish(r,c)}this.consumeToken()}return this.finish(r)},t.prototype._tryToParseDeclaration=function(t){var n=this.mark();return this._parseProperty()&&this.accept(e.Colon)?(this.restoreAtMark(n),this._parseDeclaration(t)):(this.restoreAtMark(n),null)},t.prototype._parseProperty=function(){var e=this.create(be),t=this.mark();return(this.acceptDelim("*")||this.acceptDelim("_"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null},t.prototype._parsePropertyIdentifier=function(){return this._parseIdent()},t.prototype._parseCharset=function(){if(!this.peek(e.Charset))return null;var t=this.create(ie);return this.consumeToken(),this.accept(e.String)?this.accept(e.SemiColon)?this.finish(t):this.finish(t,xt.SemiColonExpected):this.finish(t,xt.IdentifierExpected)},t.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var t=this.create(ze);return this.consumeToken(),t.addChild(this._parseURILiteral())||t.addChild(this._parseStringLiteral())?(this.peek(e.SemiColon)||this.peek(e.EOF)||t.setMedialist(this._parseMediaQueryList()),this.finish(t)):this.finish(t,xt.URIOrStringExpected)},t.prototype._parseNamespace=function(){if(!this.peekKeyword("@namespace"))return null;var t=this.create(Oe);return this.consumeToken(),t.addChild(this._parseURILiteral())||(t.addChild(this._parseIdent()),t.addChild(this._parseURILiteral())||t.addChild(this._parseStringLiteral()))?this.accept(e.SemiColon)?this.finish(t):this.finish(t,xt.SemiColonExpected):this.finish(t,xt.URIExpected,[e.SemiColon])},t.prototype._parseFontFace=function(){if(!this.peekKeyword("@font-face"))return null;var e=this.create(De);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseViewPort=function(){if(!this.peekKeyword("@-ms-viewport")&&!this.peekKeyword("@-o-viewport")&&!this.peekKeyword("@viewport"))return null;var e=this.create(Fe);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseKeyframe=function(){if(!this.peekRegExp(e.AtKeyword,this.keyframeRegex))return null;var t=this.create(Re),n=this.create(ie);return this.consumeToken(),t.setKeyword(this.finish(n)),n.matches("@-ms-keyframes")&&this.markError(n,xt.UnknownKeyword),t.setIdentifier(this._parseKeyframeIdent())?this._parseBody(t,this._parseKeyframeSelector.bind(this)):this.finish(t,xt.IdentifierExpected,[e.CurlyR])},t.prototype._parseKeyframeIdent=function(){return this._parseIdent([Z.Keyframe])},t.prototype._parseKeyframeSelector=function(){var t=this.create(Ne);if(!t.addChild(this._parseIdent())&&!this.accept(e.Percentage))return null;for(;this.accept(e.Comma);)if(!t.addChild(this._parseIdent())&&!this.accept(e.Percentage))return this.finish(t,xt.PercentageExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},t.prototype._tryParseKeyframeSelector=function(){var t=this.create(Ne),n=this.mark();if(!t.addChild(this._parseIdent())&&!this.accept(e.Percentage))return null;for(;this.accept(e.Comma);)if(!t.addChild(this._parseIdent())&&!this.accept(e.Percentage))return this.restoreAtMark(n),null;return this.peek(e.CurlyL)?this._parseBody(t,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(n),null)},t.prototype._parseSupports=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@supports"))return null;var t=this.create(We);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))},t.prototype._parseSupportsDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},t.prototype._parseSupportsCondition=function(){var t=this.create(Be);if(this.acceptIdent("not"))t.addChild(this._parseSupportsConditionInParens());else if(t.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(e.Ident,/^(and|or)$/i))for(var n=this.token.text.toLowerCase();this.acceptIdent(n);)t.addChild(this._parseSupportsConditionInParens());return this.finish(t)},t.prototype._parseSupportsConditionInParens=function(){var t=this.create(Be);if(this.accept(e.ParenthesisL))return this.prevToken&&(t.lParent=this.prevToken.offset),t.addChild(this._tryToParseDeclaration([e.ParenthesisR]))||this._parseSupportsCondition()?this.accept(e.ParenthesisR)?(this.prevToken&&(t.rParent=this.prevToken.offset),this.finish(t)):this.finish(t,xt.RightParenthesisExpected,[e.ParenthesisR],[]):this.finish(t,xt.ConditionExpected);if(this.peek(e.Ident)){var n=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(e.ParenthesisL)){for(var r=1;this.token.type!==e.EOF&&0!==r;)this.token.type===e.ParenthesisL?r++:this.token.type===e.ParenthesisR&&r--,this.consumeToken();return this.finish(t)}this.restoreAtMark(n)}return this.finish(t,xt.LeftParenthesisExpected,[],[e.ParenthesisL])},t.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},t.prototype._parseMedia=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@media"))return null;var t=this.create(Le);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,xt.MediaQueryExpected)},t.prototype._parseMediaQueryList=function(){var t=this.create(je);if(!t.addChild(this._parseMediaQuery([e.CurlyL])))return this.finish(t,xt.MediaQueryExpected);for(;this.accept(e.Comma);)if(!t.addChild(this._parseMediaQuery([e.CurlyL])))return this.finish(t,xt.MediaQueryExpected);return this.finish(t)},t.prototype._parseMediaQuery=function(t){var n=this.create(Ve),r=!0,i=!1;if(!this.peek(e.ParenthesisL)){if(this.acceptIdent("only")||this.acceptIdent("not"),!n.addChild(this._parseIdent()))return null;i=!0,r=this.acceptIdent("and")}for(;r;)if(n.addChild(this._parseMediaContentStart()))r=this.acceptIdent("and");else{if(!this.accept(e.ParenthesisL))return i?this.finish(n,xt.LeftParenthesisExpected,[],t):null;if(!n.addChild(this._parseMediaFeatureName()))return this.finish(n,xt.IdentifierExpected,[],t);if(this.accept(e.Colon)&&!n.addChild(this._parseExpr()))return this.finish(n,xt.TermExpected,[],t);if(!this.accept(e.ParenthesisR))return this.finish(n,xt.RightParenthesisExpected,[],t);r=this.acceptIdent("and")}return this.finish(n)},t.prototype._parseMediaContentStart=function(){return null},t.prototype._parseMediaFeatureName=function(){return this._parseIdent()},t.prototype._parseMedium=function(){var e=this.create(ie);return e.addChild(this._parseIdent())?this.finish(e):null},t.prototype._parsePageDeclaration=function(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()},t.prototype._parsePage=function(){if(!this.peekKeyword("@page"))return null;var t=this.create(qe);if(this.consumeToken(),t.addChild(this._parsePageSelector()))for(;this.accept(e.Comma);)if(!t.addChild(this._parsePageSelector()))return this.finish(t,xt.IdentifierExpected);return this._parseBody(t,this._parsePageDeclaration.bind(this))},t.prototype._parsePageMarginBox=function(){if(!this.peek(e.AtKeyword))return null;var t=this.create(Ke);return this.acceptOneKeyword(Xt)||this.markError(t,xt.UnknownAtRule,[],[e.CurlyL]),this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},t.prototype._parsePageSelector=function(){if(!this.peek(e.Ident)&&!this.peek(e.Colon))return null;var t=this.create(ie);return t.addChild(this._parseIdent()),this.accept(e.Colon)&&!t.addChild(this._parseIdent())?this.finish(t,xt.IdentifierExpected):this.finish(t)},t.prototype._parseDocument=function(){if(!this.peekKeyword("@-moz-document"))return null;var t=this.create(Ue);return this.consumeToken(),this.resync([],[e.CurlyL]),this._parseBody(t,this._parseStylesheetStatement.bind(this))},t.prototype._parseUnknownAtRule=function(){if(!this.peek(e.AtKeyword))return null;var t=this.create(ct);t.addChild(this._parseUnknownAtRuleName());var n=0,r=0,i=0,s=0;e:for(;;){switch(this.token.type){case e.SemiColon:if(0===r&&0===i&&0===s)break e;break;case e.EOF:return r>0?this.finish(t,xt.RightCurlyExpected):s>0?this.finish(t,xt.RightSquareBracketExpected):i>0?this.finish(t,xt.RightParenthesisExpected):this.finish(t);case e.CurlyL:n++,r++;break;case e.CurlyR:if(r--,n>0&&0===r){if(this.consumeToken(),s>0)return this.finish(t,xt.RightSquareBracketExpected);if(i>0)return this.finish(t,xt.RightParenthesisExpected);break e}if(r<0){if(0===i&&0===s)break e;return this.finish(t,xt.LeftCurlyExpected)}break;case e.ParenthesisL:i++;break;case e.ParenthesisR:if(--i<0)return this.finish(t,xt.LeftParenthesisExpected);break;case e.BracketL:s++;break;case e.BracketR:if(--s<0)return this.finish(t,xt.LeftSquareBracketExpected)}this.consumeToken()}return t},t.prototype._parseUnknownAtRuleName=function(){var t=this.create(ie);return this.accept(e.AtKeyword)?this.finish(t):t},t.prototype._parseOperator=function(){if(this.peekDelim("/")||this.peekDelim("*")||this.peekDelim("+")||this.peekDelim("-")||this.peek(e.Dashmatch)||this.peek(e.Includes)||this.peek(e.SubstringOperator)||this.peek(e.PrefixOperator)||this.peek(e.SuffixOperator)||this.peekDelim("=")){var t=this.createNode(Q.Operator);return this.consumeToken(),this.finish(t)}return null},t.prototype._parseUnaryOperator=function(){if(!this.peekDelim("+")&&!this.peekDelim("-"))return null;var e=this.create(ie);return this.consumeToken(),this.finish(e)},t.prototype._parseCombinator=function(){if(this.peekDelim(">")){var e=this.create(ie);this.consumeToken();var t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(">")){if(!this.hasWhitespace()&&this.acceptDelim(">"))return e.type=Q.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=Q.SelectorCombinatorParent,this.finish(e)}if(this.peekDelim("+")){e=this.create(ie);return this.consumeToken(),e.type=Q.SelectorCombinatorSibling,this.finish(e)}if(this.peekDelim("~")){e=this.create(ie);return this.consumeToken(),e.type=Q.SelectorCombinatorAllSiblings,this.finish(e)}if(this.peekDelim("/")){e=this.create(ie);this.consumeToken();t=this.mark();if(!this.hasWhitespace()&&this.acceptIdent("deep")&&!this.hasWhitespace()&&this.acceptDelim("/"))return e.type=Q.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null},t.prototype._parseSimpleSelector=function(){var e=this.create(pe),t=0;for(e.addChild(this._parseElementName())&&t++;(0===t||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody());)t++;return t>0?this.finish(e):null},t.prototype._parseSimpleSelectorBody=function(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()},t.prototype._parseSelectorIdent=function(){return this._parseIdent()},t.prototype._parseHash=function(){if(!this.peek(e.Hash)&&!this.peekDelim("#"))return null;var t=this.createNode(Q.IdentifierSelector);if(this.acceptDelim("#")){if(this.hasWhitespace()||!t.addChild(this._parseSelectorIdent()))return this.finish(t,xt.IdentifierExpected)}else this.consumeToken();return this.finish(t)},t.prototype._parseClass=function(){if(!this.peekDelim("."))return null;var e=this.createNode(Q.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,xt.IdentifierExpected):this.finish(e)},t.prototype._parseElementName=function(){var e=this.mark(),t=this.createNode(Q.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),t.addChild(this._parseSelectorIdent())||this.acceptDelim("*")?this.finish(t):(this.restoreAtMark(e),null)},t.prototype._parseNamespacePrefix=function(){var e=this.mark(),t=this.createNode(Q.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim("*"),this.acceptDelim("|")?this.finish(t):(this.restoreAtMark(e),null)},t.prototype._parseAttrib=function(){if(!this.peek(e.BracketL))return null;var t=this.create(Ye);return this.consumeToken(),t.setNamespacePrefix(this._parseNamespacePrefix()),t.setIdentifier(this._parseIdent())?(t.setOperator(this._parseOperator())&&(t.setValue(this._parseBinaryExpr()),this.acceptIdent("i")),this.accept(e.BracketR)?this.finish(t):this.finish(t,xt.RightSquareBracketExpected)):this.finish(t,xt.IdentifierExpected)},t.prototype._parsePseudo=function(){var t=this,n=this._tryParsePseudoIdentifier();if(n){if(!this.hasWhitespace()&&this.accept(e.ParenthesisL)){if(n.addChild(this.try((function(){var n=t.create(ie);if(!n.addChild(t._parseSelector(!1)))return null;for(;t.accept(e.Comma)&&n.addChild(t._parseSelector(!1)););return t.peek(e.ParenthesisR)?t.finish(n):null}))||this._parseBinaryExpr()),!this.accept(e.ParenthesisR))return this.finish(n,xt.RightParenthesisExpected)}return this.finish(n)}return null},t.prototype._tryParsePseudoIdentifier=function(){if(!this.peek(e.Colon))return null;var t=this.mark(),n=this.createNode(Q.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(t),null):(this.accept(e.Colon),this.hasWhitespace()||!n.addChild(this._parseIdent())?this.finish(n,xt.IdentifierExpected):this.finish(n))},t.prototype._tryParsePrio=function(){var e=this.mark(),t=this._parsePrio();return t||(this.restoreAtMark(e),null)},t.prototype._parsePrio=function(){if(!this.peek(e.Exclamation))return null;var t=this.createNode(Q.Prio);return this.accept(e.Exclamation)&&this.acceptIdent("important")?this.finish(t):null},t.prototype._parseExpr=function(t){void 0===t&&(t=!1);var n=this.create($e);if(!n.addChild(this._parseBinaryExpr()))return null;for(;;){if(this.peek(e.Comma)){if(t)return this.finish(n);this.consumeToken()}if(!n.addChild(this._parseBinaryExpr()))break}return this.finish(n)},t.prototype._parseNamedLine=function(){if(!this.peek(e.BracketL))return null;var t=this.createNode(Q.GridLine);for(this.consumeToken();t.addChild(this._parseIdent()););return this.accept(e.BracketR)?this.finish(t):this.finish(t,xt.RightSquareBracketExpected)},t.prototype._parseBinaryExpr=function(e,t){var n=this.create(Ge);if(!n.setLeft(e||this._parseTerm()))return null;if(!n.setOperator(t||this._parseOperator()))return this.finish(n);if(!n.setRight(this._parseTerm()))return this.finish(n,xt.TermExpected);n=this.finish(n);var r=this._parseOperator();return r&&(n=this._parseBinaryExpr(n,r)),this.finish(n)},t.prototype._parseTerm=function(){var e=this.create(He);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null},t.prototype._parseTermExpression=function(){return this._parseURILiteral()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()},t.prototype._parseOperation=function(){if(!this.peek(e.ParenthesisL))return null;var t=this.create(ie);return this.consumeToken(),t.addChild(this._parseExpr()),this.accept(e.ParenthesisR)?this.finish(t):this.finish(t,xt.RightParenthesisExpected)},t.prototype._parseNumeric=function(){if(this.peek(e.Num)||this.peek(e.Percentage)||this.peek(e.Resolution)||this.peek(e.Length)||this.peek(e.EMS)||this.peek(e.EXS)||this.peek(e.Angle)||this.peek(e.Time)||this.peek(e.Dimension)||this.peek(e.Freq)){var t=this.create(et);return this.consumeToken(),this.finish(t)}return null},t.prototype._parseStringLiteral=function(){if(!this.peek(e.String)&&!this.peek(e.BadString))return null;var t=this.createNode(Q.StringLiteral);return this.consumeToken(),this.finish(t)},t.prototype._parseURILiteral=function(){if(!this.peekRegExp(e.Ident,/^url(-prefix)?$/i))return null;var t=this.mark(),n=this.createNode(Q.URILiteral);return this.accept(e.Ident),this.hasWhitespace()||!this.peek(e.ParenthesisL)?(this.restoreAtMark(t),null):(this.scanner.inURL=!0,this.consumeToken(),n.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(e.ParenthesisR)?this.finish(n):this.finish(n,xt.RightParenthesisExpected))},t.prototype._parseURLArgument=function(){var t=this.create(ie);return this.accept(e.String)||this.accept(e.BadString)||this.acceptUnquotedString()?this.finish(t):null},t.prototype._parseIdent=function(t){if(!this.peek(e.Ident))return null;var n=this.create(oe);return t&&(n.referenceTypes=t),n.isCustomProperty=this.peekRegExp(e.Ident,/^--/),this.consumeToken(),this.finish(n)},t.prototype._parseFunction=function(){var t=this.mark(),n=this.create(ve);if(!n.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(e.ParenthesisL))return this.restoreAtMark(t),null;if(n.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)n.getArguments().addChild(this._parseFunctionArgument())||this.markError(n,xt.ExpressionExpected);return this.accept(e.ParenthesisR)?this.finish(n):this.finish(n,xt.RightParenthesisExpected)},t.prototype._parseFunctionIdentifier=function(){if(!this.peek(e.Ident))return null;var t=this.create(oe);if(t.referenceTypes=[Z.Function],this.acceptIdent("progid")){if(this.accept(e.Colon))for(;this.accept(e.Ident)&&this.acceptDelim("."););return this.finish(t)}return this.consumeToken(),this.finish(t)},t.prototype._parseFunctionArgument=function(){var e=this.create(we);return e.setValue(this._parseExpr(!0))?this.finish(e):null},t.prototype._parseHexColor=function(){if(this.peekRegExp(e.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){var t=this.create(Je);return this.consumeToken(),this.finish(t)}return null},t}();function tn(e,t){return-1!==e.indexOf(t)}function nn(){for(var e=[],t=0;te+t||this.offset===e&&this.length===t?this.findInScope(e,t):null},e.prototype.findInScope=function(e,t){void 0===t&&(t=0);var n=e+t,r=function(e,t){var n=0,r=e.length;if(0===r)return 0;for(;nn}));if(0===r)return this;var i=this.children[r-1];return i.offset<=e&&i.offset+i.length>=e+t?i.findInScope(e,t):this},e.prototype.addSymbol=function(e){this.symbols.push(e)},e.prototype.getSymbol=function(e,t){for(var n=0;n0&&(i.arguments=n),i},e.is=function(e){var t=e;return fr.defined(t)&&fr.string(t.title)&&fr.string(t.command)}}(wn||(wn={})),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:""}},e.is=function(e){var t=e;return fr.objectLiteral(t)&&fr.string(t.newText)&&an.is(t.range)}}(xn||(xn={})),function(e){e.create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function(e){var t=e;return void 0!==t&&fr.objectLiteral(t)&&fr.string(t.label)&&(fr.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(fr.string(t.description)||void 0===t.description)}}(Sn||(Sn={})),function(e){e.is=function(e){return"string"==typeof e}}(Cn||(Cn={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return xn.is(t)&&(Sn.is(t.annotationId)||Cn.is(t.annotationId))}}(kn||(kn={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return fr.defined(t)&&Ln.is(t.textDocument)&&Array.isArray(t.edits)}}(_n||(_n={})),function(e){e.create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"create"===t.kind&&fr.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||fr.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||fr.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Cn.is(t.annotationId))}}(En||(En={})),function(e){e.create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function(e){var t=e;return t&&"rename"===t.kind&&fr.string(t.oldUri)&&fr.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||fr.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||fr.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Cn.is(t.annotationId))}}(Fn||(Fn={})),function(e){e.create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"delete"===t.kind&&fr.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||fr.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||fr.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||Cn.is(t.annotationId))}}(Dn||(Dn={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return fr.string(e.kind)?En.is(e)||Fn.is(e)||Dn.is(e):_n.is(e)})))}}(Tn||(Tn={}));var Pn,On,Ln,Wn,Un,jn,Vn,Bn,qn,Kn,$n,Gn,Hn,Yn,Jn,Xn,Qn,Zn,er,tr,nr,rr,ir,sr,or,ar,lr,cr,dr,hr,pr=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=xn.insert(e,t):Cn.is(n)?(i=n,r=kn.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=kn.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=xn.replace(e,t):Cn.is(n)?(i=n,r=kn.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=kn.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=xn.del(e):Cn.is(t)?(r=t,n=kn.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=kn.del(e,r)),this.edits.push(n),void 0!==r)return r},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.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),ur=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(Cn.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new ur(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(_n.is(e)){var n=new pr(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new pr(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(Ln.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new pr(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===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 pr(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new ur,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,s;if(Sn.is(t)||Cn.is(t)?r=t:n=t,void 0===r?i=En.create(e,n):(s=Cn.is(r)?r:this._changeAnnotations.manage(r),i=En.create(e,n,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,s,o;if(Sn.is(n)||Cn.is(n)?i=n:r=n,void 0===i?s=Fn.create(e,t,r):(o=Cn.is(i)?i:this._changeAnnotations.manage(i),s=Fn.create(e,t,r,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,s;if(Sn.is(t)||Cn.is(t)?r=t:n=t,void 0===r?i=Dn.create(e,n):(s=Cn.is(r)?r:this._changeAnnotations.manage(r),i=Dn.create(e,n,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return fr.defined(t)&&fr.string(t.uri)}}(Pn||(Pn={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return fr.defined(t)&&fr.string(t.uri)&&fr.integer(t.version)}}(On||(On={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return fr.defined(t)&&fr.string(t.uri)&&(null===t.version||fr.integer(t.version))}}(Ln||(Ln={})),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 fr.defined(t)&&fr.string(t.uri)&&fr.string(t.languageId)&&fr.integer(t.version)&&fr.string(t.text)}}(Wn||(Wn={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(Un||(Un={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(Un||(Un={})),function(e){e.is=function(e){var t=e;return fr.objectLiteral(e)&&Un.is(t.kind)&&fr.string(t.value)}}(jn||(jn={})),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}(Vn||(Vn={})),function(e){e.PlainText=1,e.Snippet=2}(Bn||(Bn={})),function(e){e.Deprecated=1}(qn||(qn={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&fr.string(t.newText)&&an.is(t.insert)&&an.is(t.replace)}}(Kn||(Kn={})),function(e){e.asIs=1,e.adjustIndentation=2}($n||($n={})),function(e){e.create=function(e){return{label:e}}}(Gn||(Gn={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(Hn||(Hn={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return fr.string(t)||fr.objectLiteral(t)&&fr.string(t.language)&&fr.string(t.value)}}(Yn||(Yn={})),function(e){e.is=function(e){var t=e;return!!t&&fr.objectLiteral(t)&&(jn.is(t.contents)||Yn.is(t.contents)||fr.typedArray(t.contents,Yn.is))&&(void 0===e.range||an.is(e.range))}}(Jn||(Jn={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(Xn||(Xn={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;o--){var a=i[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");r=r.substring(0,l)+a.newText+r.substring(c,r.length),s=l}return r}}(mr||(mr={}));var fr,gr=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,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=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&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,r=t.length;if(0===r)return on.create(0,e);for(;ne?r=i:n=i+1}var s=n-1;return on.create(s,e-t[s])},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+1e?r=i:n=i+1}var s=n-1;return{line:s,character:e-t[s]}},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+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function _r(e){var t=kr(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,r){return new xr(e,t,n,r)},e.update=function(e,t,n){if(e instanceof xr)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){for(var n=e.getText(),r=0,i=[],s=0,o=Sr(t.map(_r),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}));sr&&i.push(n.substring(r,l)),a.newText.length&&i.push(a.newText),r=e.offsetAt(a.range.end)}return i.push(n.substr(r)),i.join("")}}(br||(br={})),function(e){e.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Un.Markdown,Un.PlainText]}},hover:{contentFormat:[Un.Markdown,Un.PlainText]}}}}(vr||(vr={})),function(e){e[e.Unknown=0]="Unknown",e[e.File=1]="File",e[e.Directory=2]="Directory",e[e.SymbolicLink=64]="SymbolicLink"}(yr||(yr={})),wr=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),s=a,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=a,o=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),i=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(r=o+"/"+r,i=47===o.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;ic){if(47===n.charCodeAt(a+h))return n.slice(a+h+1);if(0===h)return n.slice(a+h)}else o>c&&(47===e.charCodeAt(i+h)?d=h:0===h&&(d=0));break}var p=e.charCodeAt(i+h);if(p!==n.charCodeAt(a+h))break;47===p&&(d=h)}var u="";for(h=i+d+1;h<=s;++h)h!==s&&47!==e.charCodeAt(h)||(0===u.length?u+="..":u+="/..");return u.length>0?u+n.slice(a+d):(a+=d,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){i=o;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!o){i=r+1;break}}else-1===l&&(o=!1,l=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=r):(a=-1,s=l))}return i===s?s=l:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(s=!1,i=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){r=a+1;break}}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var o=-1,a=0,l=-1,c=!0,d=e.length-1,h=0;d>=r;--d)if(47!==(i=e.charCodeAt(d)))-1===l&&(c=!1,l=d+1),46===i?-1===o?o=d:1!==h&&(h=1):-1!==o&&(h=-1);else if(!c){a=d+1;break}return-1===o||-1===l||0===h||1===h&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},447:(e,t,n)=>{var r;if(n.r(t),n.d(t,{URI:()=>m,Utils:()=>_}),"object"==typeof process)r="win32"===process.platform;else if("object"==typeof navigator){var i=navigator.userAgent;r=i.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,d=/^\/\//,h="",p="/",u=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,m=function(){function e(e,t,n,r,i,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||h,this.authority=e.authority||h,this.path=e.path||h,this.query=e.query||h,this.fragment=e.fragment||h):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||h,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==p&&(t=p+t):t=p}return t}(this.scheme,n||h),this.query=r||h,this.fragment=i||h,function(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');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(d.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,s))}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&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return w(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=h),void 0===n?n=this.authority:null===n&&(n=h),void 0===r?r=this.path:null===r&&(r=h),void 0===i?i=this.query:null===i&&(i=h),void 0===s?s=this.fragment:null===s&&(s=h),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new g(t,n,r,i,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=u.exec(e);return n?new g(n[2]||h,k(n[4]||h),k(n[5]||h),k(n[7]||h),k(n[9]||h),t):new g(h,h,h,h,h)},e.file=function(e){var t=h;if(r&&(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 new g("file",t,e,h,h)},e.from=function(e){return new g(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),x(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new g(t);return n._formatted=t.external,n._fsPath=t._sep===f?t.fsPath:null,n}return t},e}(),f=r?1:void 0,g=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=w(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?x(this,!0):(this._formatted||(this._formatted=x(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f),this._formatted&&(e.external=this._formatted),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},t}(m),b=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,r=-1,i=0;i=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var o=b[s];void 0!==o?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=o):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function y(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,r&&(n=n.replace(/\//g,"\\")),n}function x(e,t){var n=t?y:v,r="",i=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=p,r+=p),s){var c=s.indexOf("@");if(-1!==c){var d=s.substr(0,c);s=s.substr(c+1),-1===(c=d.indexOf(":"))?r+=n(d,!1):(r+=n(d.substr(0,c),!1),r+=":",r+=n(d.substr(c+1),!1)),r+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?r+=n(s,!1):(r+=n(s.substr(0,c),!1),r+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(h=o.charCodeAt(1))>=65&&h<=90&&(o="/"+String.fromCharCode(h+32)+":"+o.substr(3));else if(o.length>=2&&58===o.charCodeAt(1)){var h;(h=o.charCodeAt(0))>=65&&h<=90&&(o=String.fromCharCode(h+32)+":"+o.substr(2))}r+=n(o,!0)}return a&&(r+="?",r+=n(a,!1)),l&&(r+="#",r+=t?l:v(l,!1)),r}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(e){return e.match(C)?e.replace(C,(function(e){return S(e)})):e}var _,E=n(470),F=function(){for(var e=0,t=0,n=arguments.length;t{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:Er,Utils:Fr}=wr;var Dr=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=0&&-1===' \t\n\r":{[()]},*>+'.indexOf(r.charAt(n));)n--;return r.substring(n+1,t)}(e,this.offset),this.defaultReplaceRange=an.create(on.create(this.position.line,this.position.character-this.currentWord.length),this.position),this.textDocument=e,this.styleSheet=n,this.documentSettings=r;try{var i={isIncomplete:!1,items:[]};this.nodePath=ne(this.styleSheet,this.offset);for(var s=this.nodePath.length-1;s>=0;s--){var o=this.nodePath[s];if(o instanceof be)this.getCompletionsForDeclarationProperty(o.getParent(),i);else if(o instanceof $e)o.parent instanceof nt?this.getVariableProposals(null,i):this.getCompletionsForExpression(o,i);else if(o instanceof pe){var a=o.findAParent(Q.ExtendsReference,Q.Ruleset);if(a)if(a.type===Q.ExtendsReference)this.getCompletionsForExtendsReference(a,o,i);else{var l=a;this.getCompletionsForSelector(l,l&&l.isNested(),i)}}else if(o instanceof we)this.getCompletionsForFunctionArgument(o,o.getParent(),i);else if(o instanceof le)this.getCompletionsForDeclarations(o,i);else if(o instanceof tt)this.getCompletionsForVariableDeclaration(o,i);else if(o instanceof de)this.getCompletionsForRuleSet(o,i);else if(o instanceof nt)this.getCompletionsForInterpolation(o,i);else if(o instanceof Ee)this.getCompletionsForFunctionDeclaration(o,i);else if(o instanceof at)this.getCompletionsForMixinReference(o,i);else if(o instanceof ve)this.getCompletionsForFunctionArgument(null,o,i);else if(o instanceof We)this.getCompletionsForSupports(o,i);else if(o instanceof Be)this.getCompletionsForSupportsCondition(o,i);else if(o instanceof it)this.getCompletionsForExtendsReference(o,null,i);else if(o.type===Q.URILiteral)this.getCompletionForUriLiteralValue(o,i);else if(null===o.parent)this.getCompletionForTopLevel(i);else{if(o.type!==Q.StringLiteral||!this.isImportPathParent(o.parent.type))continue;this.getCompletionForImportPath(o,i)}if(i.items.length>0||this.offset>o.offset)return this.finalize(i)}return this.getCompletionsForStylesheet(i),0===i.items.length&&this.variablePrefix&&0===this.currentWord.indexOf(this.variablePrefix)&&this.getVariableProposals(null,i),this.finalize(i)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}},e.prototype.isImportPathParent=function(e){return e===Q.Import},e.prototype.finalize=function(e){return e},e.prototype.findInNodePath=function(){for(var e=[],t=0;t=0;n--){var r=this.nodePath[n];if(-1!==e.indexOf(r.type))return r}return null},e.prototype.getCompletionsForDeclarationProperty=function(e,t){return this.getPropertyProposals(e,t)},e.prototype.getPropertyProposals=function(e,t){var n=this,r=this.isTriggerPropertyValueCompletionEnabled,i=this.isCompletePropertyWithSemicolonEnabled;return this.cssDataManager.getProperties().forEach((function(s){var o,a,l=!1;e?(o=n.getCompletionRange(e.getProperty()),a=s.name,Zt(e.colonPosition)||(a+=": ",l=!0)):(o=n.getCompletionRange(null),a=s.name+": ",l=!0),!e&&i&&(a+="$0;"),e&&!e.semicolonPosition&&i&&n.offset>=n.textDocument.offsetAt(o.end)&&(a+="$0;");var c={label:s.name,documentation:kt(s,n.doesSupportMarkdown()),tags:Kr(s)?[qn.Deprecated]:[],textEdit:xn.replace(o,a),insertTextFormat:Bn.Snippet,kind:Vn.Property};s.restrictions||(l=!1),r&&l&&(c.command={title:"Suggest",command:"editor.action.triggerSuggest"});var d=(255-("number"==typeof s.relevance?Math.min(Math.max(s.relevance,0),99):50)).toString(16),h=H(s.name,"-")?Wr.VendorPrefixed:Wr.Normal;c.sortText=h+"_"+d,t.items.push(c)})),this.completionParticipants.forEach((function(e){e.onCssProperty&&e.onCssProperty({propertyName:n.currentWord,range:n.defaultReplaceRange})})),t},Object.defineProperty(e.prototype,"isTriggerPropertyValueCompletionEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.triggerPropertyValueCompletion)||void 0===t||t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCompletePropertyWithSemicolonEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.completePropertyWithSemicolon)||void 0===t||t},enumerable:!1,configurable:!0}),e.prototype.getCompletionsForDeclarationValue=function(e,t){for(var n=this,r=e.getFullPropertyName(),i=this.cssDataManager.getProperty(r),s=e.getValue()||null;s&&s.hasChildren();)s=s.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach((function(e){e.onCssPropertyValue&&e.onCssPropertyValue({propertyName:r,propertyValue:n.currentWord,range:n.getCompletionRange(s)})})),i){if(i.restrictions)for(var o=0,a=i.restrictions;o=e.offset+2&&this.getVariableProposals(null,t),t},e.prototype.getVariableProposals=function(e,t){for(var n=0,r=this.getSymbolContext().findSymbolsAtOffset(this.offset,Z.Variable);n0){var i=this.currentWord.match(/^-?\d[\.\d+]*/);i&&(r=i[0],n.isIncomplete=r.length===this.currentWord.length)}else 0===this.currentWord.length&&(n.isIncomplete=!0);if(t&&t.parent&&t.parent.type===Q.Term&&(t=t.getParent()),e.restrictions)for(var s=0,o=e.restrictions;s=n.end?this.getCompletionForTopLevel(t):!n||this.offset<=n.offset?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)},e.prototype.getCompletionsForSelector=function(e,t,n){var r=this,i=this.findInNodePath(Q.PseudoSelector,Q.IdentifierSelector,Q.ClassSelector,Q.ElementNameSelector);if(!i&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord),this.defaultReplaceRange=an.create(on.create(this.position.line,this.position.character-this.currentWord.length),this.position)),this.cssDataManager.getPseudoClasses().forEach((function(e){var t=Gr(e.name),s={label:e.name,textEdit:xn.replace(r.getCompletionRange(i),t),documentation:kt(e,r.doesSupportMarkdown()),tags:Kr(e)?[qn.Deprecated]:[],kind:Vn.Function,insertTextFormat:e.name!==t?Br:void 0};H(e.name,":-")&&(s.sortText=Wr.VendorPrefixed),n.items.push(s)})),this.cssDataManager.getPseudoElements().forEach((function(e){var t=Gr(e.name),s={label:e.name,textEdit:xn.replace(r.getCompletionRange(i),t),documentation:kt(e,r.doesSupportMarkdown()),tags:Kr(e)?[qn.Deprecated]:[],kind:Vn.Function,insertTextFormat:e.name!==t?Br:void 0};H(e.name,"::-")&&(s.sortText=Wr.VendorPrefixed),n.items.push(s)})),!t){for(var s=0,o=Yt;s0){var t=h.substr(e.offset,e.length);return"."!==t.charAt(0)||d[t]||(d[t]=!0,n.items.push({label:t,textEdit:xn.replace(r.getCompletionRange(i),t),kind:Vn.Keyword})),!1}return!0})),e&&e.isNested()){var p=e.getSelectors().findFirstChildBeforeOffset(this.offset);p&&0===e.getSelectors().getChildren().indexOf(p)&&this.getPropertyProposals(null,n)}return n},e.prototype.getCompletionsForDeclarations=function(e,t){if(!e||this.offset===e.offset)return t;var n=e.findFirstChildBeforeOffset(this.offset);if(!n)return this.getCompletionsForDeclarationProperty(null,t);if(n instanceof ue){var r=n;if(!Zt(r.colonPosition)||this.offset<=r.colonPosition)return this.getCompletionsForDeclarationProperty(r,t);if(Zt(r.semicolonPosition)&&r.semicolonPositione.colonPosition&&this.getVariableProposals(e.getValue(),t),t},e.prototype.getCompletionsForExpression=function(e,t){var n=e.getParent();if(n instanceof we)return this.getCompletionsForFunctionArgument(n,n.getParent(),t),t;var r=e.findParent(Q.Declaration);if(!r)return this.getTermProposals(void 0,null,t),t;var i=e.findChildAtOffset(this.offset,!0);return i?i instanceof et||i instanceof oe?this.getCompletionsForDeclarationValue(r,t):t:this.getCompletionsForDeclarationValue(r,t)},e.prototype.getCompletionsForFunctionArgument=function(e,t,n){var r=t.getIdentifier();return r&&r.matches("var")&&(t.getArguments().hasChildren()&&t.getArguments().getChild(0)!==e||this.getVariableProposalsForCSSVarFunction(n)),n},e.prototype.getCompletionsForFunctionDeclaration=function(e,t){var n=e.getDeclarations();return n&&this.offset>n.offset&&this.offsete.lParent&&(!Zt(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t},e.prototype.getCompletionsForSupports=function(e,t){var n=e.getDeclarations();if(!n||this.offset<=n.offset){var r=e.findFirstChildBeforeOffset(this.offset);return r instanceof Be?this.getCompletionsForSupportsCondition(r,t):t}return this.getCompletionForTopLevel(t)},e.prototype.getCompletionsForExtendsReference=function(e,t,n){return n},e.prototype.getCompletionForUriLiteralValue=function(e,t){var n,r,i;if(e.hasChildren()){var s=e.getChild(0);n=s.getText(),r=this.position,i=this.getCompletionRange(s)}else{n="",r=this.position;var o=this.textDocument.positionAt(e.offset+"url(".length);i=an.create(o,o)}return this.completionParticipants.forEach((function(e){e.onCssURILiteralValue&&e.onCssURILiteralValue({uriValue:n,position:r,range:i})})),t},e.prototype.getCompletionForImportPath=function(e,t){var n=this;return this.completionParticipants.forEach((function(t){t.onCssImportPath&&t.onCssImportPath({pathValue:e.getText(),position:n.position,range:n.getCompletionRange(e)})})),t},e.prototype.hasCharacterAtPosition=function(e,t){var n=this.textDocument.getText();return e>=0&&e"),this.writeLine(t,r.join(""))}},e}();!function(e){function t(e){var t=e.match(/^['"](.*)["']$/);return t?t[1]:e}e.ensure=function(e,n){return n+t(e)+n},e.remove=t}(Jr||(Jr={}));var ri=function(){this.id=0,this.attr=0,this.tag=0};function ii(e,t){for(var n=new Zr,r=0,i=e.getChildren();r1){var l=t.cloneWithParent();n.addChild(l.findRoot()),n=l}n.append(o[a])}}break;case Q.SelectorPlaceholder:if(s.matches("@at-root"))return n;case Q.ElementNameSelector:var c=s.getText();n.addAttr("name","*"===c?"element":si(c));break;case Q.ClassSelector:n.addAttr("class",si(s.getText().substring(1)));break;case Q.IdentifierSelector:n.addAttr("id",si(s.getText().substring(1)));break;case Q.MixinDeclaration:n.addAttr("class",s.getName());break;case Q.PseudoSelector:n.addAttr(si(s.getText()),"");break;case Q.AttributeSelector:var d=s,h=d.getIdentifier();if(h){var p=d.getValue(),u=d.getOperator(),m=void 0;if(p&&u)switch(si(u.getText())){case"|=":m=Jr.remove(si(p.getText()))+"-…";break;case"^=":m=Jr.remove(si(p.getText()))+"…";break;case"$=":m="…"+Jr.remove(si(p.getText()));break;case"~=":m=" … "+Jr.remove(si(p.getText()))+" … ";break;case"*=":m="…"+Jr.remove(si(p.getText()))+"…";break;default:m=Jr.remove(si(p.getText()))}n.addAttr(si(h.getText()),m)}}}return n}function si(e){var t=new G;t.setSource(e);var n=t.scanUnquotedString();return n?n.text:e}var oi=function(){function e(e){this.cssDataManager=e}return e.prototype.selectorToMarkedString=function(e){var t=function(e){if(e.matches("@at-root"))return null;var t=new ei,n=[],r=e.getParent();if(r instanceof de)for(var i=r.getParent();i&&!li(i);){if(i instanceof de){if(i.getSelectors().matches("@at-root"))break;n.push(i)}i=i.getParent()}for(var s=new ai(t),o=n.length-1;o>=0;o--){var a=n[o].getSelectors().getChild(0);a&&s.processSelector(a)}return s.processSelector(e),t}(e);if(t){var n=new ni('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}return[]},e.prototype.simpleSelectorToMarkedString=function(e){var t=ii(e),n=new ni('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n},e.prototype.isPseudoElementIdentifier=function(e){var t=e.match(/^::?([\w-]+)/);return!!t&&!!this.cssDataManager.getPseudoElement("::"+t[1])},e.prototype.selectorToSpecificityMarkedString=function(e){var t=this,n=function(e){for(var i=0,s=e.getChildren();i0&&n(o)}},r=new ri;return n(e),Qr("vs/language/css/_deps/vscode-css-languageservice/services/selectorPrinting","specificity","[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})",r.id,r.attr,r.tag)},e}(),ai=function(){function e(e){this.prev=null,this.element=e}return e.prototype.processSelector=function(e){var t=null;if(!(this.element instanceof ei)&&e.getChildren().some((function(e){return e.hasChildren()&&e.getChild(0).type===Q.SelectorCombinator}))){var n=this.element.findRoot();n.parent instanceof ei&&(t=this.element,this.element=n.parent,this.element.removeChild(n),this.prev=null)}for(var r=0,i=e.getChildren();r0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0){switch(l=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),s){case t:a=(n-r)/d+(nn)return 0;var i,s,o=[],a=[];for(i=0;i=i.length/2&&s.push({property:e.name,score:t})})),s.sort((function(e,t){return t.score-e.score||e.property.localeCompare(t.property)}));for(var o=3,a=0,l=s;a=0;a--){var l=o[a];if(l instanceof fe){var c=l.getProperty();if(c&&c.offset===i&&c.end===s)return void this.getFixesForUnknownProperty(e,c,n,r)}}},e}(),Ri=function(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e};function Ni(e,t,n,r){var i=e[t];i.value=n,n&&(tn(i.properties,r)||i.properties.push(r))}function zi(e,t,n,r){"top"===t||"right"===t||"bottom"===t||"left"===t?Ni(e,t,n,r):function(e,t,n){Ni(e,"top",t,n),Ni(e,"right",t,n),Ni(e,"bottom",t,n),Ni(e,"left",t,n)}(e,n,r)}function Ai(e,t,n){switch(t.length){case 1:zi(e,void 0,t[0],n);break;case 2:zi(e,"top",t[0],n),zi(e,"bottom",t[0],n),zi(e,"right",t[1],n),zi(e,"left",t[1],n);break;case 3:zi(e,"top",t[0],n),zi(e,"right",t[1],n),zi(e,"left",t[1],n),zi(e,"bottom",t[2],n);break;case 4:zi(e,"top",t[0],n),zi(e,"right",t[1],n),zi(e,"bottom",t[2],n),zi(e,"left",t[3],n)}}function Ii(e,t){for(var n=0,r=t;n0)for(var m=this.fetch(r,"float"),f=0;f0)for(m=this.fetch(r,"vertical-align"),f=0;f1)for(var S=0;S")||this.peekDelim("<")||this.peekIdent("and")||this.peekIdent("or")||this.peekDelim("%")){var e=this.createNode(Q.Operator);return this.consumeToken(),this.finish(e)}return t.prototype._parseOperator.call(this)},n.prototype._parseUnaryOperator=function(){if(this.peekIdent("not")){var e=this.create(ie);return this.consumeToken(),this.finish(e)}return t.prototype._parseUnaryOperator.call(this)},n.prototype._parseRuleSetDeclaration=function(){return this.peek(e.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||t.prototype._parseRuleSetDeclarationAtStatement.call(this):this._parseVariableDeclaration()||this._tryParseRuleset(!0)||t.prototype._parseRuleSetDeclaration.call(this)},n.prototype._parseDeclaration=function(t){var n=this._tryParseCustomPropertyDeclaration(t);if(n)return n;var r=this.create(fe);if(!r.setProperty(this._parseProperty()))return null;if(!this.accept(e.Colon))return this.finish(r,xt.ColonExpected,[e.Colon],t||[e.SemiColon]);this.prevToken&&(r.colonPosition=this.prevToken.offset);var i=!1;if(r.setValue(this._parseExpr())&&(i=!0,r.addChild(this._parsePrio())),this.peek(e.CurlyL))r.setNestedProperties(this._parseNestedProperties());else if(!i)return this.finish(r,xt.PropertyValueExpected);return this.peek(e.SemiColon)&&(r.semicolonPosition=this.token.offset),this.finish(r)},n.prototype._parseNestedProperties=function(){var e=this.create(Te);return this._parseBody(e,this._parseDeclaration.bind(this))},n.prototype._parseExtends=function(){if(this.peekKeyword("@extend")){var t=this.create(it);if(this.consumeToken(),!t.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(t,xt.SelectorExpected);for(;this.accept(e.Comma);)t.getSelectors().addChild(this._parseSimpleSelector());return this.accept(e.Exclamation)&&!this.acceptIdent("optional")?this.finish(t,xt.UnknownKeyword):this.finish(t)}return null},n.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||this._parseSelectorPlaceholder()||t.prototype._parseSimpleSelectorBody.call(this)},n.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var t=this.createNode(Q.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(e.Num)||this.accept(e.Dimension)||t.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(t)}return null},n.prototype._parseSelectorPlaceholder=function(){if(this.peekDelim("%")){var e=this.createNode(Q.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}if(this.peekKeyword("@at-root")){e=this.createNode(Q.SelectorPlaceholder);return this.consumeToken(),this.finish(e)}return null},n.prototype._parseElementName=function(){var n=this.mark(),r=t.prototype._parseElementName.call(this);return r&&!this.hasWhitespace()&&this.peek(e.ParenthesisL)?(this.restoreAtMark(n),null):r},n.prototype._tryParsePseudoIdentifier=function(){return this._parseInterpolation()||t.prototype._tryParsePseudoIdentifier.call(this)},n.prototype._parseWarnAndDebug=function(){if(!this.peekKeyword("@debug")&&!this.peekKeyword("@warn")&&!this.peekKeyword("@error"))return null;var e=this.createNode(Q.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)},n.prototype._parseControlStatement=function(t){return void 0===t&&(t=this._parseRuleSetDeclaration.bind(this)),this.peek(e.AtKeyword)?this._parseIfStatement(t)||this._parseForStatement(t)||this._parseEachStatement(t)||this._parseWhileStatement(t):null},n.prototype._parseIfStatement=function(e){return this.peekKeyword("@if")?this._internalParseIfStatement(e):null},n.prototype._internalParseIfStatement=function(t){var n=this.create(xe);if(this.consumeToken(),!n.setExpression(this._parseExpr(!0)))return this.finish(n,xt.ExpressionExpected);if(this._parseBody(n,t),this.acceptKeyword("@else"))if(this.peekIdent("if"))n.setElseClause(this._internalParseIfStatement(t));else if(this.peek(e.CurlyL)){var r=this.create(_e);this._parseBody(r,t),n.setElseClause(r)}return this.finish(n)},n.prototype._parseForStatement=function(t){if(!this.peekKeyword("@for"))return null;var n=this.create(Se);return this.consumeToken(),n.setVariable(this._parseVariable())?this.acceptIdent("from")?n.addChild(this._parseBinaryExpr())?this.acceptIdent("to")||this.acceptIdent("through")?n.addChild(this._parseBinaryExpr())?this._parseBody(n,t):this.finish(n,xt.ExpressionExpected,[e.CurlyR]):this.finish(n,ms.ThroughOrToExpected,[e.CurlyR]):this.finish(n,xt.ExpressionExpected,[e.CurlyR]):this.finish(n,ms.FromExpected,[e.CurlyR]):this.finish(n,xt.VariableNameExpected,[e.CurlyR])},n.prototype._parseEachStatement=function(t){if(!this.peekKeyword("@each"))return null;var n=this.create(Ce);this.consumeToken();var r=n.getVariables();if(!r.addChild(this._parseVariable()))return this.finish(n,xt.VariableNameExpected,[e.CurlyR]);for(;this.accept(e.Comma);)if(!r.addChild(this._parseVariable()))return this.finish(n,xt.VariableNameExpected,[e.CurlyR]);return this.finish(r),this.acceptIdent("in")?n.addChild(this._parseExpr())?this._parseBody(n,t):this.finish(n,xt.ExpressionExpected,[e.CurlyR]):this.finish(n,ms.InExpected,[e.CurlyR])},n.prototype._parseWhileStatement=function(t){if(!this.peekKeyword("@while"))return null;var n=this.create(ke);return this.consumeToken(),n.addChild(this._parseBinaryExpr())?this._parseBody(n,t):this.finish(n,xt.ExpressionExpected,[e.CurlyR])},n.prototype._parseFunctionBodyDeclaration=function(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))},n.prototype._parseFunctionDeclaration=function(){if(!this.peekKeyword("@function"))return null;var t=this.create(Ee);if(this.consumeToken(),!t.setIdentifier(this._parseIdent([Z.Function])))return this.finish(t,xt.IdentifierExpected,[e.CurlyR]);if(!this.accept(e.ParenthesisL))return this.finish(t,xt.LeftParenthesisExpected,[e.CurlyR]);if(t.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(t,xt.VariableNameExpected);return this.accept(e.ParenthesisR)?this._parseBody(t,this._parseFunctionBodyDeclaration.bind(this)):this.finish(t,xt.RightParenthesisExpected,[e.CurlyR])},n.prototype._parseReturnStatement=function(){if(!this.peekKeyword("@return"))return null;var e=this.createNode(Q.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,xt.ExpressionExpected)},n.prototype._parseMixinDeclaration=function(){if(!this.peekKeyword("@mixin"))return null;var t=this.create(lt);if(this.consumeToken(),!t.setIdentifier(this._parseIdent([Z.Mixin])))return this.finish(t,xt.IdentifierExpected,[e.CurlyR]);if(this.accept(e.ParenthesisL)){if(t.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(t,xt.VariableNameExpected);if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected,[e.CurlyR])}return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},n.prototype._parseParameterDeclaration=function(){var t=this.create(ye);return t.setIdentifier(this._parseVariable())?(this.accept(ds),this.accept(e.Colon)&&!t.setDefaultValue(this._parseExpr(!0))?this.finish(t,xt.VariableValueExpected,[],[e.Comma,e.ParenthesisR]):this.finish(t)):null},n.prototype._parseMixinContent=function(){if(!this.peekKeyword("@content"))return null;var t=this.create(st);if(this.consumeToken(),this.accept(e.ParenthesisL)){if(t.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getArguments().addChild(this._parseFunctionArgument()))return this.finish(t,xt.ExpressionExpected);if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected)}return this.finish(t)},n.prototype._parseMixinReference=function(){if(!this.peekKeyword("@include"))return null;var t=this.create(at);this.consumeToken();var n=this._parseIdent([Z.Mixin]);if(!t.setIdentifier(n))return this.finish(t,xt.IdentifierExpected,[e.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(".")&&!this.hasWhitespace()){var r=this._parseIdent([Z.Mixin]);if(!r)return this.finish(t,xt.IdentifierExpected,[e.CurlyR]);var i=this.create(ut);n.referenceTypes=[Z.Module],i.setIdentifier(n),t.setIdentifier(r),t.addChild(i)}if(this.accept(e.ParenthesisL)){if(t.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getArguments().addChild(this._parseFunctionArgument()))return this.finish(t,xt.ExpressionExpected);if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected)}return(this.peekIdent("using")||this.peek(e.CurlyL))&&t.setContent(this._parseMixinContentDeclaration()),this.finish(t)},n.prototype._parseMixinContentDeclaration=function(){var t=this.create(ot);if(this.acceptIdent("using")){if(!this.accept(e.ParenthesisL))return this.finish(t,xt.LeftParenthesisExpected,[e.CurlyL]);if(t.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(t,xt.VariableNameExpected);if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected,[e.CurlyL])}return this.peek(e.CurlyL)&&this._parseBody(t,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(t)},n.prototype._parseMixinReferenceBodyStatement=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},n.prototype._parseFunctionArgument=function(){var t=this.create(we),n=this.mark(),r=this._parseVariable();if(r)if(this.accept(e.Colon))t.setIdentifier(r);else{if(this.accept(ds))return t.setValue(r),this.finish(t);this.restoreAtMark(n)}return t.setValue(this._parseExpr(!0))?(this.accept(ds),t.addChild(this._parsePrio()),this.finish(t)):t.setValue(this._tryParsePrio())?this.finish(t):null},n.prototype._parseURLArgument=function(){var n=this.mark(),r=t.prototype._parseURLArgument.call(this);if(!r||!this.peek(e.ParenthesisR)){this.restoreAtMark(n);var i=this.create(ie);return i.addChild(this._parseBinaryExpr()),this.finish(i)}return r},n.prototype._parseOperation=function(){if(!this.peek(e.ParenthesisL))return null;var t=this.create(ie);for(this.consumeToken();t.addChild(this._parseListElement());)this.accept(e.Comma);return this.accept(e.ParenthesisR)?this.finish(t):this.finish(t,xt.RightParenthesisExpected)},n.prototype._parseListElement=function(){var t=this.create(dt),n=this._parseBinaryExpr();if(!n)return null;if(this.accept(e.Colon)){if(t.setKey(n),!t.setValue(this._parseBinaryExpr()))return this.finish(t,xt.ExpressionExpected)}else t.setValue(n);return this.finish(t)},n.prototype._parseUse=function(){if(!this.peekKeyword("@use"))return null;var t=this.create(Ae);if(this.consumeToken(),!t.addChild(this._parseStringLiteral()))return this.finish(t,xt.StringLiteralExpected);if(!this.peek(e.SemiColon)&&!this.peek(e.EOF)){if(!this.peekRegExp(e.Ident,/as|with/))return this.finish(t,xt.UnknownKeyword);if(this.acceptIdent("as")&&!t.setIdentifier(this._parseIdent([Z.Module]))&&!this.acceptDelim("*"))return this.finish(t,xt.IdentifierOrWildcardExpected);if(this.acceptIdent("with")){if(!this.accept(e.ParenthesisL))return this.finish(t,xt.LeftParenthesisExpected,[e.ParenthesisR]);if(!t.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(t,xt.VariableNameExpected);for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(t,xt.VariableNameExpected);if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected)}}return this.accept(e.SemiColon)||this.accept(e.EOF)?this.finish(t):this.finish(t,xt.SemiColonExpected)},n.prototype._parseModuleConfigDeclaration=function(){var t=this.create(Ie);return t.setIdentifier(this._parseVariable())?this.accept(e.Colon)&&t.setValue(this._parseExpr(!0))?!this.accept(e.Exclamation)||!this.hasWhitespace()&&this.acceptIdent("default")?this.finish(t):this.finish(t,xt.UnknownKeyword):this.finish(t,xt.VariableValueExpected,[],[e.Comma,e.ParenthesisR]):null},n.prototype._parseForward=function(){if(!this.peekKeyword("@forward"))return null;var t=this.create(Me);if(this.consumeToken(),!t.addChild(this._parseStringLiteral()))return this.finish(t,xt.StringLiteralExpected);if(this.acceptIdent("with")){if(!this.accept(e.ParenthesisL))return this.finish(t,xt.LeftParenthesisExpected,[e.ParenthesisR]);if(!t.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(t,xt.VariableNameExpected);for(;this.accept(e.Comma)&&!this.peek(e.ParenthesisR);)if(!t.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(t,xt.VariableNameExpected);if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected)}if(!this.peek(e.SemiColon)&&!this.peek(e.EOF)){if(!this.peekRegExp(e.Ident,/as|hide|show/))return this.finish(t,xt.UnknownKeyword);if(this.acceptIdent("as")){var n=this._parseIdent([Z.Forward]);if(!t.setIdentifier(n))return this.finish(t,xt.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim("*"))return this.finish(t,xt.WildcardExpected)}if((this.peekIdent("hide")||this.peekIdent("show"))&&!t.addChild(this._parseForwardVisibility()))return this.finish(t,xt.IdentifierOrVariableExpected)}return this.accept(e.SemiColon)||this.accept(e.EOF)?this.finish(t):this.finish(t,xt.SemiColonExpected)},n.prototype._parseForwardVisibility=function(){var t=this.create(Pe);for(t.setIdentifier(this._parseIdent());t.addChild(this._parseVariable()||this._parseIdent());)this.accept(e.Comma);return t.getChildren().length>1?t:null},n.prototype._parseSupportsCondition=function(){return this._parseInterpolation()||t.prototype._parseSupportsCondition.call(this)},n}(en),bs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),vs=vt(),ys=function(e){function t(n,r){var i=e.call(this,"$",n,r)||this;return ws(t.scssModuleLoaders),ws(t.scssModuleBuiltIns),i}return bs(t,e),t.prototype.isImportPathParent=function(t){return t===Q.Forward||t===Q.Use||e.prototype.isImportPathParent.call(this,t)},t.prototype.getCompletionForImportPath=function(n,r){var i=n.getParent().type;if(i===Q.Forward||i===Q.Use)for(var s=0,o=t.scssModuleBuiltIns;s0){var t="string"==typeof e.documentation?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+="\n\n",t.value+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | "),e.documentation=t}}))}var xs=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ss="/".charCodeAt(0),Cs="\n".charCodeAt(0),ks="\r".charCodeAt(0),_s="\f".charCodeAt(0),Es="`".charCodeAt(0),Fs=".".charCodeAt(0),Ds=e.CustomToken,Ts=Ds++,Rs=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return xs(n,t),n.prototype.scanNext=function(e){var n=this.escapedJavaScript();return null!==n?this.finishToken(e,n):this.stream.advanceIfChars([Fs,Fs,Fs])?this.finishToken(e,Ts):t.prototype.scanNext.call(this,e)},n.prototype.comment=function(){return!!t.prototype.comment.call(this)||!(this.inURL||!this.stream.advanceIfChars([Ss,Ss]))&&(this.stream.advanceWhileChar((function(e){switch(e){case Cs:case ks:case _s:return!1;default:return!0}})),!0)},n.prototype.escapedJavaScript=function(){return this.stream.peekChar()===Es?(this.stream.advance(1),this.stream.advanceWhileChar((function(e){return e!==Es})),this.stream.advanceIfChar(Es)?e.EscapedJavaScript:e.BadEscapedJavaScript):null},n}(G),Ns=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),zs=function(t){function n(){return t.call(this,new Rs)||this}return Ns(n,t),n.prototype._parseStylesheetStatement=function(n){return void 0===n&&(n=!1),this.peek(e.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||t.prototype._parseStylesheetAtStatement.call(this,n):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)},n.prototype._parseImport=function(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;var t=this.create(ze);if(this.consumeToken(),this.accept(e.ParenthesisL)){if(!this.accept(e.Ident))return this.finish(t,xt.IdentifierExpected,[e.SemiColon]);do{if(!this.accept(e.Comma))break}while(this.accept(e.Ident));if(!this.accept(e.ParenthesisR))return this.finish(t,xt.RightParenthesisExpected,[e.SemiColon])}return t.addChild(this._parseURILiteral())||t.addChild(this._parseStringLiteral())?(this.peek(e.SemiColon)||this.peek(e.EOF)||t.setMedialist(this._parseMediaQueryList()),this.finish(t)):this.finish(t,xt.URIOrStringExpected,[e.SemiColon])},n.prototype._parsePlugin=function(){if(!this.peekKeyword("@plugin"))return null;var t=this.createNode(Q.Plugin);return this.consumeToken(),t.addChild(this._parseStringLiteral())?this.accept(e.SemiColon)?this.finish(t):this.finish(t,xt.SemiColonExpected):this.finish(t,xt.StringLiteralExpected)},n.prototype._parseMediaQuery=function(e){var n=t.prototype._parseMediaQuery.call(this,e);if(!n){var r=this.create(Ve);return r.addChild(this._parseVariable())?this.finish(r):null}return n},n.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)},n.prototype._parseMediaFeatureName=function(){return this._parseIdent()||this._parseVariable()},n.prototype._parseVariableDeclaration=function(t){void 0===t&&(t=[]);var n=this.create(tt),r=this.mark();if(!n.setVariable(this._parseVariable(!0)))return null;if(!this.accept(e.Colon))return this.restoreAtMark(r),null;if(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseDetachedRuleSet()))n.needsSemicolon=!1;else if(!n.setValue(this._parseExpr()))return this.finish(n,xt.VariableValueExpected,[],t);return n.addChild(this._parsePrio()),this.peek(e.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)},n.prototype._parseDetachedRuleSet=function(){var t=this.mark();if(this.peekDelim("#")||this.peekDelim(".")){if(this.consumeToken(),this.hasWhitespace()||!this.accept(e.ParenthesisL))return this.restoreAtMark(t),null;var n=this.create(lt);if(n.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(e.Comma)||this.accept(e.SemiColon))&&!this.peek(e.ParenthesisR);)n.getParameters().addChild(this._parseMixinParameter())||this.markError(n,xt.IdentifierExpected,[],[e.ParenthesisR]);if(!this.accept(e.ParenthesisR))return this.restoreAtMark(t),null}if(!this.peek(e.CurlyL))return null;var r=this.create(ce);return this._parseBody(r,this._parseDetachedRuleSetBody.bind(this)),this.finish(r)},n.prototype._parseDetachedRuleSetBody=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},n.prototype._addLookupChildren=function(t){if(!t.addChild(this._parseLookupValue()))return!1;for(var n=!1;this.peek(e.BracketL)&&(n=!0),t.addChild(this._parseLookupValue());)n=!1;return!n},n.prototype._parseLookupValue=function(){var t=this.create(ie),n=this.mark();return this.accept(e.BracketL)&&((t.addChild(this._parseVariable(!1,!0))||t.addChild(this._parsePropertyIdentifier()))&&this.accept(e.BracketR)||this.accept(e.BracketR))?t:(this.restoreAtMark(n),null)},n.prototype._parseVariable=function(t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=!t&&this.peekDelim("$");if(!this.peekDelim("@")&&!r&&!this.peek(e.AtKeyword))return null;for(var i=this.create(rt),s=this.mark();this.acceptDelim("@")||!t&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(s),null;return(this.accept(e.AtKeyword)||this.accept(e.Ident))&&(n||!this.peek(e.BracketL)||this._addLookupChildren(i))?i:(this.restoreAtMark(s),null)},n.prototype._parseTermExpression=function(){return this._parseVariable()||this._parseEscaped()||t.prototype._parseTermExpression.call(this)||this._tryParseMixinReference(!1)},n.prototype._parseEscaped=function(){if(this.peek(e.EscapedJavaScript)||this.peek(e.BadEscapedJavaScript)){var t=this.createNode(Q.EscapedValue);return this.consumeToken(),this.finish(t)}if(this.peekDelim("~")){t=this.createNode(Q.EscapedValue);return this.consumeToken(),this.accept(e.String)||this.accept(e.EscapedJavaScript)?this.finish(t):this.finish(t,xt.TermExpected)}return null},n.prototype._parseOperator=function(){var e=this._parseGuardOperator();return e||t.prototype._parseOperator.call(this)},n.prototype._parseGuardOperator=function(){if(this.peekDelim(">")){var e=this.createNode(Q.Operator);return this.consumeToken(),this.acceptDelim("="),e}if(this.peekDelim("=")){e=this.createNode(Q.Operator);return this.consumeToken(),this.acceptDelim("<"),e}if(this.peekDelim("<")){e=this.createNode(Q.Operator);return this.consumeToken(),this.acceptDelim("="),e}return null},n.prototype._parseRuleSetDeclaration=function(){return this.peek(e.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||t.prototype._parseRuleSetDeclarationAtStatement.call(this):this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||t.prototype._parseRuleSetDeclaration.call(this)},n.prototype._parseKeyframeIdent=function(){return this._parseIdent([Z.Keyframe])||this._parseVariable()},n.prototype._parseKeyframeSelector=function(){return this._parseDetachedRuleSetMixin()||t.prototype._parseKeyframeSelector.call(this)},n.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||t.prototype._parseSimpleSelectorBody.call(this)},n.prototype._parseSelector=function(t){var n=this.create(he),r=!1;for(t&&(r=n.addChild(this._parseCombinator()));n.addChild(this._parseSimpleSelector());){r=!0;var i=this.mark();if(n.addChild(this._parseGuard())&&this.peek(e.CurlyL))break;this.restoreAtMark(i),n.addChild(this._parseCombinator())}return r?this.finish(n):null},n.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var t=this.createNode(Q.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(e.Num)||this.accept(e.Dimension)||t.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(t)}return null},n.prototype._parseSelectorIdent=function(){if(!this.peekInterpolatedIdent())return null;var e=this.createNode(Q.SelectorInterpolation);return this._acceptInterpolatedIdent(e)?this.finish(e):null},n.prototype._parsePropertyIdentifier=function(e){void 0===e&&(e=!1);var t=/^[\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;var n=this.mark(),r=this.create(oe);r.isCustomProperty=this.acceptDelim("-")&&this.acceptDelim("-");return(e?r.isCustomProperty?r.addChild(this._parseIdent()):r.addChild(this._parseRegexp(t)):r.isCustomProperty?this._acceptInterpolatedIdent(r):this._acceptInterpolatedIdent(r,t))?(e||this.hasWhitespace()||(this.acceptDelim("+"),this.hasWhitespace()||this.acceptIdent("_")),this.finish(r)):(this.restoreAtMark(n),null)},n.prototype.peekInterpolatedIdent=function(){return this.peek(e.Ident)||this.peekDelim("@")||this.peekDelim("$")||this.peekDelim("-")},n.prototype._acceptInterpolatedIdent=function(t,n){for(var r=this,i=!1,s=function(){var e=r.mark();return r.acceptDelim("-")&&(r.hasWhitespace()||r.acceptDelim("-"),r.hasWhitespace())?(r.restoreAtMark(e),null):r._parseInterpolation()},o=n?function(){return r.acceptRegexp(n)}:function(){return r.accept(e.Ident)};(o()||t.addChild(this._parseInterpolation()||this.try(s)))&&(i=!0,!this.hasWhitespace()););return i},n.prototype._parseInterpolation=function(){var t=this.mark();if(this.peekDelim("@")||this.peekDelim("$")){var n=this.createNode(Q.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(e.CurlyL)?(this.restoreAtMark(t),null):n.addChild(this._parseIdent())?this.accept(e.CurlyR)?this.finish(n):this.finish(n,xt.RightCurlyExpected):this.finish(n,xt.IdentifierExpected)}return null},n.prototype._tryParseMixinDeclaration=function(){var t=this.mark(),n=this.create(lt);if(!n.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(e.ParenthesisL))return this.restoreAtMark(t),null;if(n.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(e.Comma)||this.accept(e.SemiColon))&&!this.peek(e.ParenthesisR);)n.getParameters().addChild(this._parseMixinParameter())||this.markError(n,xt.IdentifierExpected,[],[e.ParenthesisR]);return this.accept(e.ParenthesisR)?(n.setGuard(this._parseGuard()),this.peek(e.CurlyL)?this._parseBody(n,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(t),null)):(this.restoreAtMark(t),null)},n.prototype._parseMixInBodyDeclaration=function(){return this._parseFontFace()||this._parseRuleSetDeclaration()},n.prototype._parseMixinDeclarationIdentifier=function(){var t;if(this.peekDelim("#")||this.peekDelim(".")){if(t=this.create(oe),this.consumeToken(),this.hasWhitespace()||!t.addChild(this._parseIdent()))return null}else{if(!this.peek(e.Hash))return null;t=this.create(oe),this.consumeToken()}return t.referenceTypes=[Z.Mixin],this.finish(t)},n.prototype._parsePseudo=function(){if(!this.peek(e.Colon))return null;var n=this.mark(),r=this.create(it);return this.consumeToken(),this.acceptIdent("extend")?this._completeExtends(r):(this.restoreAtMark(n),t.prototype._parsePseudo.call(this))},n.prototype._parseExtend=function(){if(!this.peekDelim("&"))return null;var t=this.mark(),n=this.create(it);return this.consumeToken(),!this.hasWhitespace()&&this.accept(e.Colon)&&this.acceptIdent("extend")?this._completeExtends(n):(this.restoreAtMark(t),null)},n.prototype._completeExtends=function(t){if(!this.accept(e.ParenthesisL))return this.finish(t,xt.LeftParenthesisExpected);var n=t.getSelectors();if(!n.addChild(this._parseSelector(!0)))return this.finish(t,xt.SelectorExpected);for(;this.accept(e.Comma);)if(!n.addChild(this._parseSelector(!0)))return this.finish(t,xt.SelectorExpected);return this.accept(e.ParenthesisR)?this.finish(t):this.finish(t,xt.RightParenthesisExpected)},n.prototype._parseDetachedRuleSetMixin=function(){if(!this.peek(e.AtKeyword))return null;var t=this.mark(),n=this.create(at);return!n.addChild(this._parseVariable(!0))||!this.hasWhitespace()&&this.accept(e.ParenthesisL)?this.accept(e.ParenthesisR)?this.finish(n):this.finish(n,xt.RightParenthesisExpected):(this.restoreAtMark(t),null)},n.prototype._tryParseMixinReference=function(t){void 0===t&&(t=!0);for(var n=this.mark(),r=this.create(at),i=this._parseMixinDeclarationIdentifier();i;){this.acceptDelim(">");var s=this._parseMixinDeclarationIdentifier();if(!s)break;r.getNamespaces().addChild(i),i=s}if(!r.setIdentifier(i))return this.restoreAtMark(n),null;var o=!1;if(this.accept(e.ParenthesisL)){if(o=!0,r.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(e.Comma)||this.accept(e.SemiColon))&&!this.peek(e.ParenthesisR);)if(!r.getArguments().addChild(this._parseMixinArgument()))return this.finish(r,xt.ExpressionExpected);if(!this.accept(e.ParenthesisR))return this.finish(r,xt.RightParenthesisExpected);i.referenceTypes=[Z.Mixin]}else i.referenceTypes=[Z.Mixin,Z.Rule];return this.peek(e.BracketL)?t||this._addLookupChildren(r):r.addChild(this._parsePrio()),o||this.peek(e.SemiColon)||this.peek(e.CurlyR)||this.peek(e.EOF)?this.finish(r):(this.restoreAtMark(n),null)},n.prototype._parseMixinArgument=function(){var t=this.create(we),n=this.mark(),r=this._parseVariable();return r&&(this.accept(e.Colon)?t.setIdentifier(r):this.restoreAtMark(n)),t.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(t):(this.restoreAtMark(n),null)},n.prototype._parseMixinParameter=function(){var t=this.create(ye);if(this.peekKeyword("@rest")){var n=this.create(ie);return this.consumeToken(),this.accept(Ts)?(t.setIdentifier(this.finish(n)),this.finish(t)):this.finish(t,xt.DotExpected,[],[e.Comma,e.ParenthesisR])}if(this.peek(Ts)){var r=this.create(ie);return this.consumeToken(),t.setIdentifier(this.finish(r)),this.finish(t)}var i=!1;return t.setIdentifier(this._parseVariable())&&(this.accept(e.Colon),i=!0),t.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))||i?this.finish(t):null},n.prototype._parseGuard=function(){if(!this.peekIdent("when"))return null;var t=this.create(ht);if(this.consumeToken(),t.isNegated=this.acceptIdent("not"),!t.getConditions().addChild(this._parseGuardCondition()))return this.finish(t,xt.ConditionExpected);for(;this.acceptIdent("and")||this.accept(e.Comma);)if(!t.getConditions().addChild(this._parseGuardCondition()))return this.finish(t,xt.ConditionExpected);return this.finish(t)},n.prototype._parseGuardCondition=function(){if(!this.peek(e.ParenthesisL))return null;var t=this.create(pt);return this.consumeToken(),t.addChild(this._parseExpr()),this.accept(e.ParenthesisR)?this.finish(t):this.finish(t,xt.RightParenthesisExpected)},n.prototype._parseFunction=function(){var t=this.mark(),n=this.create(ve);if(!n.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(e.ParenthesisL))return this.restoreAtMark(t),null;if(n.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(e.Comma)||this.accept(e.SemiColon))&&!this.peek(e.ParenthesisR);)if(!n.getArguments().addChild(this._parseMixinArgument()))return this.finish(n,xt.ExpressionExpected);return this.accept(e.ParenthesisR)?this.finish(n):this.finish(n,xt.RightParenthesisExpected)},n.prototype._parseFunctionIdentifier=function(){if(this.peekDelim("%")){var e=this.create(oe);return e.referenceTypes=[Z.Function],this.consumeToken(),this.finish(e)}return t.prototype._parseFunctionIdentifier.call(this)},n.prototype._parseURLArgument=function(){var n=this.mark(),r=t.prototype._parseURLArgument.call(this);if(!r||!this.peek(e.ParenthesisR)){this.restoreAtMark(n);var i=this.create(ie);return i.addChild(this._parseBinaryExpr()),this.finish(i)}return r},n}(en),As=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Is=vt(),Ms=function(e){function t(t,n){return e.call(this,"@",t,n)||this}return As(t,e),t.prototype.createFunctionProposals=function(e,t,n,r){for(var i=0,s=e;i 50%"),example:"percentage(@number);",type:"percentage"},{name:"round",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.round","rounds a number to a number of places"),example:"round(number, [places: 0]);"},{name:"sqrt",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.sqrt","calculates square root of a number"),example:"sqrt(number);"},{name:"sin",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.sin","sine function"),example:"sin(number);"},{name:"tan",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.tan","tangent function"),example:"tan(number);"},{name:"atan",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.atan","arctangent - inverse of tangent function"),example:"atan(number);"},{name:"pi",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.pi","returns pi"),example:"pi();"},{name:"pow",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.pow","first argument raised to the power of the second argument"),example:"pow(@base, @exponent);"},{name:"mod",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.mod","first argument modulus second argument"),example:"mod(number, number);"},{name:"min",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.min","returns the lowest of one or more values"),example:"min(@x, @y);"},{name:"max",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.max","returns the lowest of one or more values"),example:"max(@x, @y);"}],t.colorProposals=[{name:"argb",example:"argb(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.argb","creates a #AARRGGBB")},{name:"hsl",example:"hsl(@hue, @saturation, @lightness);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsl","creates a color")},{name:"hsla",example:"hsla(@hue, @saturation, @lightness, @alpha);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsla","creates a color")},{name:"hsv",example:"hsv(@hue, @saturation, @value);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsv","creates a color")},{name:"hsva",example:"hsva(@hue, @saturation, @value, @alpha);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsva","creates a color")},{name:"hue",example:"hue(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hue","returns the `hue` channel of `@color` in the HSL space")},{name:"saturation",example:"saturation(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.saturation","returns the `saturation` channel of `@color` in the HSL space")},{name:"lightness",example:"lightness(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.lightness","returns the `lightness` channel of `@color` in the HSL space")},{name:"hsvhue",example:"hsvhue(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsvhue","returns the `hue` channel of `@color` in the HSV space")},{name:"hsvsaturation",example:"hsvsaturation(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsvsaturation","returns the `saturation` channel of `@color` in the HSV space")},{name:"hsvvalue",example:"hsvvalue(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.hsvvalue","returns the `value` channel of `@color` in the HSV space")},{name:"red",example:"red(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.red","returns the `red` channel of `@color`")},{name:"green",example:"green(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.green","returns the `green` channel of `@color`")},{name:"blue",example:"blue(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.blue","returns the `blue` channel of `@color`")},{name:"alpha",example:"alpha(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.alpha","returns the `alpha` channel of `@color`")},{name:"luma",example:"luma(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.luma","returns the `luma` value (perceptual brightness) of `@color`")},{name:"saturate",example:"saturate(@color, 10%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.saturate","return `@color` 10% points more saturated")},{name:"desaturate",example:"desaturate(@color, 10%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.desaturate","return `@color` 10% points less saturated")},{name:"lighten",example:"lighten(@color, 10%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.lighten","return `@color` 10% points lighter")},{name:"darken",example:"darken(@color, 10%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.darken","return `@color` 10% points darker")},{name:"fadein",example:"fadein(@color, 10%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.fadein","return `@color` 10% points less transparent")},{name:"fadeout",example:"fadeout(@color, 10%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.fadeout","return `@color` 10% points more transparent")},{name:"fade",example:"fade(@color, 50%);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.fade","return `@color` with 50% transparency")},{name:"spin",example:"spin(@color, 10);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.spin","return `@color` with a 10 degree larger in hue")},{name:"mix",example:"mix(@color1, @color2, [@weight: 50%]);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.mix","return a mix of `@color1` and `@color2`")},{name:"greyscale",example:"greyscale(@color);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.greyscale","returns a grey, 100% desaturated color")},{name:"contrast",example:"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);",description:Is("vs/language/css/_deps/vscode-css-languageservice/services/lessCompletion","less.builtin.contrast","return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes")},{name:"multiply",example:"multiply(@color1, @color2);"},{name:"screen",example:"screen(@color1, @color2);"},{name:"overlay",example:"overlay(@color1, @color2);"},{name:"softlight",example:"softlight(@color1, @color2);"},{name:"hardlight",example:"hardlight(@color1, @color2);"},{name:"difference",example:"difference(@color1, @color2);"},{name:"exclusion",example:"exclusion(@color1, @color2);"},{name:"average",example:"average(@color1, @color2);"},{name:"negation",example:"negation(@color1, @color2);"}],t}(qr);function Ps(t,n){return function(e,t){var n=t&&t.rangeLimit||Number.MAX_VALUE,r=e.sort((function(e,t){var n=e.startLine-t.startLine;return 0===n&&(n=e.endLine-t.endLine),n})),i=[],s=-1;return r.forEach((function(e){e.startLine=0;n--)if(e[n].type===t&&e[n].isStart)return e.splice(n,1)[0];return null}var Ls={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],syntax:"[ && ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."}],syntax:"normal | | | ? ",relevance:60,description:"Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",values:[{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"normal | stretch | | [ ? ]",relevance:84,description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"},{name:"legacy"}],syntax:"normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]",relevance:51,description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"}],syntax:"auto | normal | stretch | | ? [ | left | right ]",relevance:52,description:"Defines the way of justifying a box inside its container along the appropriate axis.",restrictions:["enum"]},{name:"align-self",values:[{name:"auto",description:"Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself."},{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"auto | normal | stretch | | ? ",relevance:71,description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"all",browsers:["E79","FF27","S9.1","C37","O24"],values:[],syntax:"initial | inherit | unset | revert",relevance:52,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/all"}],description:"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.",restrictions:["enum"]},{name:"alt",browsers:["S9"],values:[],relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/alt"}],description:"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.",restrictions:["string","enum"]},{name:"animation",values:[{name:"alternate",description:"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction."},{name:"alternate-reverse",description:"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction."},{name:"backwards",description:"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'."},{name:"both",description:"Both forwards and backwards fill modes are applied."},{name:"forwards",description:"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes."},{name:"infinite",description:"Causes the animation to repeat forever."},{name:"none",description:"No animation is performed"},{name:"normal",description:"Normal playback."},{name:"reverse",description:"All iterations of the animation are played in the reverse direction from the way they were specified."}],syntax:"#",relevance:81,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation"}],description:"Shorthand property combines six of the animation properties into a single property.",restrictions:["time","timing-function","enum","identifier","number"]},{name:"animation-delay",syntax:"