/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunkbrowser_esm_webpack"] = self["webpackChunkbrowser_esm_webpack"] || []).push([["vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js"],{

/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js":
/*!******************************************************************************************!*\
  !*** ./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js ***!
  \******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"conf\": () => (/* binding */ conf),\n/* harmony export */   \"language\": () => (/* binding */ language)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\r\n *  Copyright (c) Microsoft Corporation. All rights reserved.\r\n *  Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar conf = {\r\n    comments: {\r\n        lineComment: '//',\r\n        blockComment: ['/*', '*/']\r\n    },\r\n    brackets: [\r\n        ['{', '}'],\r\n        ['[', ']'],\r\n        ['(', ')'],\r\n        ['begin', 'end'],\r\n        ['case', 'endcase'],\r\n        ['casex', 'endcase'],\r\n        ['casez', 'endcase'],\r\n        ['checker', 'endchecker'],\r\n        ['class', 'endclass'],\r\n        ['clocking', 'endclocking'],\r\n        ['config', 'endconfig'],\r\n        ['function', 'endfunction'],\r\n        ['generate', 'endgenerate'],\r\n        ['group', 'endgroup'],\r\n        ['interface', 'endinterface'],\r\n        ['module', 'endmodule'],\r\n        ['package', 'endpackage'],\r\n        ['primitive', 'endprimitive'],\r\n        ['program', 'endprogram'],\r\n        ['property', 'endproperty'],\r\n        ['specify', 'endspecify'],\r\n        ['sequence', 'endsequence'],\r\n        ['table', 'endtable'],\r\n        ['task', 'endtask']\r\n    ],\r\n    autoClosingPairs: [\r\n        { open: '[', close: ']' },\r\n        { open: '{', close: '}' },\r\n        { open: '(', close: ')' },\r\n        { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\r\n        { open: '\"', close: '\"', notIn: ['string'] }\r\n    ],\r\n    surroundingPairs: [\r\n        { open: '{', close: '}' },\r\n        { open: '[', close: ']' },\r\n        { open: '(', close: ')' },\r\n        { open: '\"', close: '\"' },\r\n        { open: \"'\", close: \"'\" }\r\n    ],\r\n    folding: {\r\n        offSide: false,\r\n        markers: {\r\n            start: new RegExp('^(?:\\\\s*|.*(?!\\\\/[\\\\/\\\\*])[^\\\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\\\b'),\r\n            end: new RegExp('^(?:\\\\s*|.*(?!\\\\/[\\\\/\\\\*])[^\\\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\\\b')\r\n        }\r\n    }\r\n};\r\nvar language = {\r\n    defaultToken: '',\r\n    tokenPostfix: '.sv',\r\n    brackets: [\r\n        { token: 'delimiter.curly', open: '{', close: '}' },\r\n        { token: 'delimiter.parenthesis', open: '(', close: ')' },\r\n        { token: 'delimiter.square', open: '[', close: ']' },\r\n        { token: 'delimiter.angle', open: '<', close: '>' }\r\n    ],\r\n    keywords: [\r\n        'accept_on',\r\n        'alias',\r\n        'always',\r\n        'always_comb',\r\n        'always_ff',\r\n        'always_latch',\r\n        'and',\r\n        'assert',\r\n        'assign',\r\n        'assume',\r\n        'automatic',\r\n        'before',\r\n        'begin',\r\n        'bind',\r\n        'bins',\r\n        'binsof',\r\n        'bit',\r\n        'break',\r\n        'buf',\r\n        'bufif0',\r\n        'bufif1',\r\n        'byte',\r\n        'case',\r\n        'casex',\r\n        'casez',\r\n        'cell',\r\n        'chandle',\r\n        'checker',\r\n        'class',\r\n        'clocking',\r\n        'cmos',\r\n        'config',\r\n        'const',\r\n        'constraint',\r\n        'context',\r\n        'continue',\r\n        'cover',\r\n        'covergroup',\r\n        'coverpoint',\r\n        'cross',\r\n        'deassign',\r\n        'default',\r\n        'defparam',\r\n        'design',\r\n        'disable',\r\n        'dist',\r\n        'do',\r\n        'edge',\r\n        'else',\r\n        'end',\r\n        'endcase',\r\n        'endchecker',\r\n        'endclass',\r\n        'endclocking',\r\n        'endconfig',\r\n        'endfunction',\r\n        'endgenerate',\r\n        'endgroup',\r\n        'endinterface',\r\n        'endmodule',\r\n        'endpackage',\r\n        'endprimitive',\r\n        'endprogram',\r\n        'endproperty',\r\n        'endspecify',\r\n        'endsequence',\r\n        'endtable',\r\n        'endtask',\r\n        'enum',\r\n        'event',\r\n        'eventually',\r\n        'expect',\r\n        'export',\r\n        'extends',\r\n        'extern',\r\n        'final',\r\n        'first_match',\r\n        'for',\r\n        'force',\r\n        'foreach',\r\n        'forever',\r\n        'fork',\r\n        'forkjoin',\r\n        'function',\r\n        'generate',\r\n        'genvar',\r\n        'global',\r\n        'highz0',\r\n        'highz1',\r\n        'if',\r\n        'iff',\r\n        'ifnone',\r\n        'ignore_bins',\r\n        'illegal_bins',\r\n        'implements',\r\n        'implies',\r\n        'import',\r\n        'incdir',\r\n        'include',\r\n        'initial',\r\n        'inout',\r\n        'input',\r\n        'inside',\r\n        'instance',\r\n        'int',\r\n        'integer',\r\n        'interconnect',\r\n        'interface',\r\n        'intersect',\r\n        'join',\r\n        'join_any',\r\n        'join_none',\r\n        'large',\r\n        'let',\r\n        'liblist',\r\n        'library',\r\n        'local',\r\n        'localparam',\r\n        'logic',\r\n        'longint',\r\n        'macromodule',\r\n        'matches',\r\n        'medium',\r\n        'modport',\r\n        'module',\r\n        'nand',\r\n        'negedge',\r\n        'nettype',\r\n        'new',\r\n        'nexttime',\r\n        'nmos',\r\n        'nor',\r\n        'noshowcancelled',\r\n        'not',\r\n        'notif0',\r\n        'notif1',\r\n        'null',\r\n        'or',\r\n        'output',\r\n        'package',\r\n        'packed',\r\n        'parameter',\r\n        'pmos',\r\n        'posedge',\r\n        'primitive',\r\n        'priority',\r\n        'program',\r\n        'property',\r\n        'protected',\r\n        'pull0',\r\n        'pull1',\r\n        'pulldown',\r\n        'pullup',\r\n        'pulsestyle_ondetect',\r\n        'pulsestyle_onevent',\r\n        'pure',\r\n        'rand',\r\n        'randc',\r\n        'randcase',\r\n        'randsequence',\r\n        'rcmos',\r\n        'real',\r\n        'realtime',\r\n        'ref',\r\n        'reg',\r\n        'reject_on',\r\n        'release',\r\n        'repeat',\r\n        'restrict',\r\n        'return',\r\n        'rnmos',\r\n        'rpmos',\r\n        'rtran',\r\n        'rtranif0',\r\n        'rtranif1',\r\n        's_always',\r\n        's_eventually',\r\n        's_nexttime',\r\n        's_until',\r\n        's_until_with',\r\n        'scalared',\r\n        'sequence',\r\n        'shortint',\r\n        'shortreal',\r\n        'showcancelled',\r\n        'signed',\r\n        'small',\r\n        'soft',\r\n        'solve',\r\n        'specify',\r\n        'specparam',\r\n        'static',\r\n        'string',\r\n        'strong',\r\n        'strong0',\r\n        'strong1',\r\n        'struct',\r\n        'super',\r\n        'supply0',\r\n        'supply1',\r\n        'sync_accept_on',\r\n        'sync_reject_on',\r\n        'table',\r\n        'tagged',\r\n        'task',\r\n        'this',\r\n        'throughout',\r\n        'time',\r\n        'timeprecision',\r\n        'timeunit',\r\n        'tran',\r\n        'tranif0',\r\n        'tranif1',\r\n        'tri',\r\n        'tri0',\r\n        'tri1',\r\n        'triand',\r\n        'trior',\r\n        'trireg',\r\n        'type',\r\n        'typedef',\r\n        'union',\r\n        'unique',\r\n        'unique0',\r\n        'unsigned',\r\n        'until',\r\n        'until_with',\r\n        'untyped',\r\n        'use',\r\n        'uwire',\r\n        'var',\r\n        'vectored',\r\n        'virtual',\r\n        'void',\r\n        'wait',\r\n        'wait_order',\r\n        'wand',\r\n        'weak',\r\n        'weak0',\r\n        'weak1',\r\n        'while',\r\n        'wildcard',\r\n        'wire',\r\n        'with',\r\n        'within',\r\n        'wor',\r\n        'xnor',\r\n        'xor'\r\n    ],\r\n    builtin_gates: [\r\n        'and',\r\n        'nand',\r\n        'nor',\r\n        'or',\r\n        'xor',\r\n        'xnor',\r\n        'buf',\r\n        'not',\r\n        'bufif0',\r\n        'bufif1',\r\n        'notif1',\r\n        'notif0',\r\n        'cmos',\r\n        'nmos',\r\n        'pmos',\r\n        'rcmos',\r\n        'rnmos',\r\n        'rpmos',\r\n        'tran',\r\n        'tranif1',\r\n        'tranif0',\r\n        'rtran',\r\n        'rtranif1',\r\n        'rtranif0'\r\n    ],\r\n    operators: [\r\n        // assignment operators\r\n        '=',\r\n        '+=',\r\n        '-=',\r\n        '*=',\r\n        '/=',\r\n        '%=',\r\n        '&=',\r\n        '|=',\r\n        '^=',\r\n        '<<=',\r\n        '>>+',\r\n        '<<<=',\r\n        '>>>=',\r\n        // conditional expression\r\n        '?',\r\n        ':',\r\n        // Unary operators\r\n        '+',\r\n        '-',\r\n        '!',\r\n        '~',\r\n        '&',\r\n        '~&',\r\n        '|',\r\n        '~|',\r\n        '^',\r\n        '~^',\r\n        '^~',\r\n        //binary operators\r\n        '+',\r\n        '-',\r\n        '*',\r\n        '/',\r\n        '%',\r\n        '==',\r\n        '!=',\r\n        '===',\r\n        '!==',\r\n        '==?',\r\n        '!=?',\r\n        '&&',\r\n        '||',\r\n        '**',\r\n        '<',\r\n        '<=',\r\n        '>',\r\n        '>=',\r\n        '&',\r\n        '|',\r\n        '^',\r\n        '>>',\r\n        '<<',\r\n        '>>>',\r\n        '<<<',\r\n        // increment or decrement operator\r\n        '++',\r\n        '--',\r\n        //binary logical operator\r\n        '->',\r\n        '<->',\r\n        // binary set membership operator\r\n        'inside',\r\n        // binary distrubution operator\r\n        'dist',\r\n        '::',\r\n        '+:',\r\n        '-:',\r\n        '*>',\r\n        '&&&',\r\n        '|->',\r\n        '|=>',\r\n        '#=#'\r\n    ],\r\n    // we include these common regular expressions\r\n    symbols: /[=><!~?:&|+\\-*\\/\\^%#]+/,\r\n    escapes: /%%|\\\\(?:[antvf\\\\\"']|x[0-9A-Fa-f]{1,2}|[0-7]{1,3})/,\r\n    identifier: /(?:[a-zA-Z_][a-zA-Z0-9_$\\.]*|\\\\\\S+ )/,\r\n    systemcall: /[$][a-zA-Z0-9_]+/,\r\n    timeunits: /s|ms|us|ns|ps|fs/,\r\n    // The main tokenizer for our languages\r\n    tokenizer: {\r\n        root: [\r\n            // module instances\r\n            [\r\n                /^(\\s*)(@identifier)/,\r\n                [\r\n                    '',\r\n                    {\r\n                        cases: {\r\n                            '@builtin_gates': {\r\n                                token: 'keyword.$2',\r\n                                next: '@module_instance'\r\n                            },\r\n                            '@keywords': { token: 'keyword.$2' },\r\n                            '@default': {\r\n                                token: 'identifier',\r\n                                next: '@module_instance'\r\n                            }\r\n                        }\r\n                    }\r\n                ]\r\n            ],\r\n            // include statements\r\n            [/^\\s*`include/, { token: 'keyword.directive.include', next: '@include' }],\r\n            // Preprocessor directives\r\n            [/^\\s*`\\s*\\w+/, 'keyword'],\r\n            // identifiers and keywords\r\n            { include: '@identifier_or_keyword' },\r\n            // whitespace\r\n            { include: '@whitespace' },\r\n            // (* attributes *).\r\n            [/\\(\\*.*\\*\\)/, 'annotation'],\r\n            // Systemcall\r\n            [/@systemcall/, 'variable.predefined'],\r\n            // delimiters and operators\r\n            [/[{}()\\[\\]]/, '@brackets'],\r\n            [/[<>](?!@symbols)/, '@brackets'],\r\n            [\r\n                /@symbols/,\r\n                {\r\n                    cases: {\r\n                        '@operators': 'delimiter',\r\n                        '@default': ''\r\n                    }\r\n                }\r\n            ],\r\n            // numbers\r\n            { include: '@numbers' },\r\n            // delimiter: after number because of .\\d floats\r\n            [/[;,.]/, 'delimiter'],\r\n            // strings\r\n            { include: '@strings' }\r\n        ],\r\n        identifier_or_keyword: [\r\n            [\r\n                /@identifier/,\r\n                {\r\n                    cases: {\r\n                        '@keywords': { token: 'keyword.$0' },\r\n                        '@default': 'identifier'\r\n                    }\r\n                }\r\n            ]\r\n        ],\r\n        numbers: [\r\n            [/\\d+?[\\d_]*(?:\\.[\\d_]+)?[eE][\\-+]?\\d+/, 'number.float'],\r\n            [/\\d+?[\\d_]*\\.[\\d_]+(?:\\s*@timeunits)?/, 'number.float'],\r\n            [/(?:\\d+?[\\d_]*\\s*)?'[sS]?[dD]\\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/, 'number'],\r\n            [/(?:\\d+?[\\d_]*\\s*)?'[sS]?[bB]\\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/, 'number.binary'],\r\n            [/(?:\\d+?[\\d_]*\\s*)?'[sS]?[oO]\\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/, 'number.octal'],\r\n            [/(?:\\d+?[\\d_]*\\s*)?'[sS]?[hH]\\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/, 'number.hex'],\r\n            [/1step/, 'number'],\r\n            [/[\\dxXzZ]+?[\\dxXzZ_]*(?:\\s*@timeunits)?/, 'number'],\r\n            [/'[01xXzZ]+/, 'number']\r\n        ],\r\n        module_instance: [\r\n            { include: '@whitespace' },\r\n            [/(#?)(\\()/, ['', { token: '@brackets', next: '@port_connection' }]],\r\n            [/@identifier\\s*[;={}\\[\\],]/, { token: '@rematch', next: '@pop' }],\r\n            [/@symbols|[;={}\\[\\],]/, { token: '@rematch', next: '@pop' }],\r\n            [/@identifier/, 'type'],\r\n            [/;/, 'delimiter', '@pop']\r\n        ],\r\n        port_connection: [\r\n            { include: '@identifier_or_keyword' },\r\n            { include: '@whitespace' },\r\n            [/@systemcall/, 'variable.predefined'],\r\n            { include: '@numbers' },\r\n            { include: '@strings' },\r\n            [/[,]/, 'delimiter'],\r\n            [/\\(/, '@brackets', '@port_connection'],\r\n            [/\\)/, '@brackets', '@pop']\r\n        ],\r\n        whitespace: [\r\n            [/[ \\t\\r\\n]+/, ''],\r\n            [/\\/\\*/, 'comment', '@comment'],\r\n            [/\\/\\/.*$/, 'comment']\r\n        ],\r\n        comment: [\r\n            [/[^\\/*]+/, 'comment'],\r\n            [/\\*\\//, 'comment', '@pop'],\r\n            [/[\\/*]/, 'comment']\r\n        ],\r\n        strings: [\r\n            [/\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'],\r\n            [/\"/, 'string', '@string']\r\n        ],\r\n        string: [\r\n            [/[^\\\\\"]+/, 'string'],\r\n            [/@escapes/, 'string.escape'],\r\n            [/\\\\./, 'string.escape.invalid'],\r\n            [/\"/, 'string', '@pop']\r\n        ],\r\n        include: [\r\n            [\r\n                /(\\s*)(\")([\\w*\\/*]*)(.\\w*)(\")/,\r\n                [\r\n                    '',\r\n                    'string.include.identifier',\r\n                    'string.include.identifier',\r\n                    'string.include.identifier',\r\n                    { token: 'string.include.identifier', next: '@pop' }\r\n                ]\r\n            ],\r\n            [\r\n                /(\\s*)(<)([\\w*\\/*]*)(.\\w*)(>)/,\r\n                [\r\n                    '',\r\n                    'string.include.identifier',\r\n                    'string.include.identifier',\r\n                    'string.include.identifier',\r\n                    { token: 'string.include.identifier', next: '@pop' }\r\n                ]\r\n            ]\r\n        ]\r\n    }\r\n};\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js?");

/***/ })

}]);