@shikijs/langs-precompiled 3.2.1 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-let-declaration.mjs +1 -1
- package/dist/angular-template-blocks.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/bibtex.mjs +1 -1
- package/dist/bicep.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/html-derivative.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/rst.mjs +1 -1
- package/dist/rust.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/solidity.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/package.json +3 -3
package/dist/cpp.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import regexp from './regexp.mjs'
|
|
|
4
4
|
import glsl from './glsl.mjs'
|
|
5
5
|
import sql from './sql.mjs'
|
|
6
6
|
|
|
7
|
-
const lang = Object.freeze({displayName:"C++",name:"cpp",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#template_isolated_definition"},{include:"#template_definition"},{include:"#template_explicit_instantiation"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{access_control_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{name:"punctuation.separator.colon.access.control.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((p(?:rotected|rivate|ublic))(?:\\p{space}+)?(:))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},alignas_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},alignof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},assembly:{begin:/(\b(?:__asm__|asm)\b)(?:\p{space}+)?((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.cpp"},"2":{name:"storage.modifier.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\(","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.cpp"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.cpp"},"2":{name:"punctuation.definition.string.begin.assembly.cpp"}},contentName:"meta.embedded.assembly",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.assembly.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.asm"},{include:"source.x86"},{include:"source.x86_64"},{include:"source.arm"},{include:"#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.other.asm.label.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.cpp"},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},backslash_escapes:{match:/\\([\\abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x\p{AHex}{0,2}|u\p{AHex}{0,4}|U\p{AHex}{0,8})/dgv,name:"constant.character.escape"},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.cpp"}},name:"meta.block.cpp",patterns:[{include:"#function_body_context"}]},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.cpp"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cpp"}},name:"comment.block.cpp"},builtin_storage_type_initilizer:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\6)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(\\()","dgv",{"hiddenCaptures":[1,6]}),beginCaptures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{name:"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.case.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},class_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},class_declare:{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},comma:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},comma_in_template_argument:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.template.argument.cpp"},comments:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=((?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"#line_continuation_character"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\$\#\<\>\%"\.\=]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.cpp"},"2":{patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\$\#\<\>\%"\.\=]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},"3":{name:"punctuation.definition.comment.end.documentation.cpp"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.cpp"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((?:\\p{space}+)?))\\1)/\\*[\\!\\*]+(?:(?:\\n|(?=\\n?$))|(?=\\p{space}))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.comment.begin.documentation.cpp"}},end:/[\!\*]*\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.documentation.cpp"}},name:"comment.block.documentation.cpp",patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\$\#\<\>\%"\.\=]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{include:"#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"#invalid_comment_end"}]},constructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*)((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"storage.type.modifier.calling-convention.cpp"},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},constructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\14)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=(\\p{space}*))\\32))?::)*))\\13))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\35))((?:(?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))::((?:(?:(?:(?=(\\p{space}*))\\46)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)(\\*/))(?:(?=(\\p{space}*))\\52))+|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\34((?:(?:(?:(?=(\\p{space}*))\\55)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))(?:(?=(\\p{space}*))\\61))+|(?:(?=(\\p{space}+))\\62)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\())","dgv",{"hiddenCaptures":[1,4,7,8,10,11,13,14,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,37,40,41,43,44,46,49,50,52,53,55,58,59,61,62]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.constructor.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"8":{},"9":{patterns:[{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.constructor.cpp"},{match:/(?<=:)(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.constructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},control_flow_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},curly_initializer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))((?:(?:(?:(?=(\\p{space}*))\\73)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))(?:(?=(\\p{space}*))\\79))+|(?:(?=(\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\{)","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,76,77,79,80],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{name:"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"#comma"}]},d9bc4796b0b_module_import:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.directive.import.cpp"},"5":{name:"string.quoted.other.lt-gt.include.cpp"},"6":{name:"punctuation.definition.string.begin.cpp"},"7":{name:"punctuation.definition.string.end.cpp"},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{name:"string.quoted.double.include.cpp"},"11":{name:"punctuation.definition.string.begin.cpp"},"12":{name:"punctuation.definition.string.end.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"15":{name:"entity.name.other.preprocessor.macro.include.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"18":{patterns:[{include:"#inline_comment"}]},"19":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"22":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((import))(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=(\\p{space}*))\\15)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/(?:(?=(\\p{space}*))\\18))+)|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=(\\p{space}*))\\25)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=(\\p{space}*))\\28))+)|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//))))|(((?:((?:(?:(?=(\\p{space}*))\\33)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/(?:(?=(\\p{space}*))\\36))+)|(?:(?=(\\p{space}+))\\37)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\.(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)*((?:((?:(?:(?=(\\p{space}*))\\40)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/(?:(?=(\\p{space}*))\\43))+)|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;)))))|((?:((?:(?:(?=(\\p{space}*))\\47)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/(?:(?=(\\p{space}*))\\50))+)|(?:(?=(\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;))))(?:\\p{space}+)?(;?)","dgv",{"hiddenCaptures":[3,4,5,6,7,15,16,17,18,19,25,26,27,28,29,33,34,35,36,37,40,41,42,43,44,47,48,49,50,51]}),name:"meta.preprocessor.import.cpp"},d9bc4796b0b_preprocessor_number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=\n?$)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=\p{AHex})\.|\.(?=\p{AHex})))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[bB])([01](?:[01]|((?<=\p{AHex})'(?=\p{AHex})))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0)((?:[0-7]|((?<=\p{AHex})'(?=\p{AHex})))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{match:/(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])*/dgv},decltype:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},decltype_specifier:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},default_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.default.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.default.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},destructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*)(~(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},destructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\22)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*))\\21))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\43))((?:(?:(?:(?=(\\p{space}*))\\45)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))(?:(?=(\\p{space}*))\\51))+|(?:(?=(\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))::((?:(?:(?:(?=(\\p{space}*))\\54)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)(\\*/))(?:(?=(\\p{space}*))\\60))+|(?:(?=(\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))~\\42((?:(?:(?:(?=(\\p{space}*))\\63)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))(?:(?=(\\p{space}*))\\69))+|(?:(?=(\\p{space}+))\\70)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,45,48,49,51,52,54,57,58,60,61,63,66,67,69,70],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.destructor.cpp"},{include:"#template_call_range"}]},"11":{patterns:[{include:"#template_call_range"}]},"12":{},"13":{patterns:[{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.destructor.cpp"},{match:/(?<=:)~(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.member.destructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{patterns:[{include:"#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{include:"#inline_comment"}]},"24":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{name:"comment.block.cpp"},"26":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:/*@__PURE__*/ new EmulatedRegExp("(^((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?:error|warning)))\\b(?:\\p{space}+)?","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.diagnostic.$reference(directive).cpp",patterns:[{include:"#comments"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(")|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/[^'"]/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},emacs_file_banner:{captures:{"1":{name:"meta.toc-list.banner.double-slash.cpp"},"2":{name:"comment.line.double-slash.cpp"},"3":{name:"punctuation.definition.comment.cpp"},"4":{name:"meta.banner.character.cpp"},"5":{name:"meta.toc-list.banner.block.cpp"},"6":{name:"comment.line.banner.cpp"},"7":{name:"punctuation.definition.comment.cpp"},"8":{name:"meta.banner.character.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(^(?:\\p{space}+)?((//)(?:\\p{space}+)?((?:(?=([\\#\\;\\/\\=\\*C\\~]+))\\5)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\4(?:\\p{space}+)?(?:\\n|(?=\\n?$))))|(^(?:\\p{space}+)?((/\\*)(?:\\p{space}+)?((?:(?=([\\#\\;\\/\\=\\*C\\~]+))\\10)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\9(?:\\p{space}+)?\\*/)))","dgv",{"hiddenCaptures":[5,10]})},empty_square_brackets:{match:/(?<!delete)\[(?:\p{space}+)?\]/dgv,name:"storage.modifier.array.bracket.square"},enum_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+(class|struct))?(?:(?:\\p{space}+|((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\))))|(?=\\{))(?:\\p{space}+)?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)(?:(?:\\p{space}+)?(:)(?:\\p{space}+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\8)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)(?:(?=(\\p{space}*))\\45))?::)*(?:(?=(\\p{space}*))\\46))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\48)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)(?:(?=(\\p{space}*))\\81))?(::))?(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))?","dgv",{"hiddenCaptures":[8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.enum.cpp"},"1":{name:"storage.type.enum.cpp"},"2":{name:"storage.type.enum.enum-key.$2.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"#scope_resolution_inner_generated"}]},"7":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{name:"entity.name.scope-resolution.cpp"},"11":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"12":{},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{name:"storage.type.integral.$17.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"#enumerator_list"},{include:"#comments"},{include:"#comma"},{include:"#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},enum_declare:{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},enumerator_list:{captures:{"1":{name:"variable.other.enummember.cpp"},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{name:"keyword.operator.assignment.cpp"},"4":{patterns:[{include:"#evaluation_context"}]},"5":{patterns:[{include:"#comma"},{include:"#semicolon"}]}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?((?:(?:(?:\[\[[^\n]*?\]\]|__attribute(?:__)?\p{space}*\(\p{space}*\([^\n]*?\)\p{space}*\))|__declspec\([^\n]*?\))|alignas\([^\n]*?\))(?!\)))?(?:\p{space}+)?(?:(=)(?:\p{space}+)?([^\n]+?)(?:\p{space}+)?)?(?:(?:((?:[\,\;](?!')|\n))|(?=\}[^']))|(?=\/[\/\*]))/dgv,name:"meta.enum.definition.cpp"},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},ever_present_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"},{include:"#comments"},{include:"#line_continuation_character"}]},exception_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.exception.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:throw|catch|try)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},extern_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(extern)(?=\\p{space}*\")","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.extern.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.extern.cpp"}},name:"meta.body.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"#goto_statement"},{include:"#evaluation_context"},{include:"#label"}]},function_call:{begin:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|uintmax_t|uintmax_t|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?:(?=(\\p{space}*))\\44)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)(\\*/))(?:(?=(\\p{space}*))\\50))+|(?:(?=(\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\57)|\\*+(?!/))*))\\56)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)(?:(?=(\\p{space}*))\\84))?(\\()","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,47,48,50,51,56,57,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],"lazyCompile":true}),beginCaptures:{"1":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.function.call.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"11":{},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:^|^|(?<=[\\;\\}]))|(?<=>|\\*/))(?:(?=(\\p{space}*))\\1)(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])template(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\16)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))(?:(?=(\\p{space}*))\\22))+|(?:(?=(\\p{space}+))\\23)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*)((?:(?=(\\p{space}*))\\25)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\47)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\66))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)(?:(?=(\\p{space}*))\\69))?::)*))\\46))((?:(?:(?:(?=(\\p{space}*))\\71)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\75)|\\*+(?!/))*))\\74)(\\*/))(?:(?=(\\p{space}*))\\77))+|(?:(?=(\\p{space}+))\\78)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\81)|\\*+(?!/))*))\\80)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\86)|\\*+(?!/))*))\\85)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\88)|\\*+(?!/))*))\\87)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\90)|\\*+(?!/))*))\\89)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\92)|\\*+(?!/))*))\\91)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\93))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\94))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\95))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\96))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\97))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\98))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\101)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\105)|\\*+(?!/))*))\\104)(\\*/))(?:(?=(\\p{space}*))\\107))+|(?:(?=(\\p{space}+))\\108)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\110)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\114)|\\*+(?!/))*))\\113)(\\*/))(?:(?=(\\p{space}*))\\116))+|(?:(?=(\\p{space}+))\\117)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\119)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\123)|\\*+(?!/))*))\\122)(\\*/))(?:(?=(\\p{space}*))\\125))+|(?:(?=(\\p{space}+))\\126)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\129)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\133)|\\*+(?!/))*))\\132)(\\*/))(?:(?=(\\p{space}*))\\135))+|(?:(?=(\\p{space}+))\\136)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\139)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\151)|\\*+(?!/))*))\\150)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\156))*>)(?:(?=(\\p{space}*))\\157))?::)*(?:(?=(\\p{space}*))\\158))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|uintmax_t|uintmax_t|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?:(?=(\\p{space}*))\\161)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\165)|\\*+(?!/))*))\\164)(\\*/))(?:(?=(\\p{space}*))\\167))+|(?:(?=(\\p{space}+))\\168)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\()","dgv",{"hiddenCaptures":[1,4,7,8,10,11,16,19,20,22,23,25,28,31,32,34,35,37,40,41,43,44,46,47,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,74,75,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,101,104,105,107,108,110,113,114,116,117,119,122,123,125,126,129,132,133,135,136,139,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,161,164,165,167,168],"strategy":"clip_search","lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"#inline_comment"}]},"10":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{name:"comment.block.cpp"},"12":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"14":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"15":{patterns:[{include:"#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"24":{patterns:[{include:"#template_call_range"}]},"25":{},"26":{patterns:[{include:"#inline_comment"}]},"27":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{name:"comment.block.cpp"},"29":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{patterns:[{include:"#inline_comment"}]},"37":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{name:"comment.block.cpp"},"39":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{patterns:[{include:"#inline_comment"}]},"41":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{name:"comment.block.cpp"},"43":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{name:"storage.type.modifier.calling-convention.cpp"},"45":{patterns:[{include:"#inline_comment"}]},"46":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{name:"comment.block.cpp"},"48":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"50":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{patterns:[{include:"#template_call_range"}]},"52":{},"53":{name:"entity.name.function.definition.cpp"},"54":{patterns:[{include:"#inline_comment"}]},"55":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{name:"comment.block.cpp"},"57":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},name:"meta.head.function.definition.cpp",patterns:[{include:"#ever_present_context"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.cpp"}},contentName:"meta.function.definition.parameters",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{name:"comment.block.cpp"},"11":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"17":{patterns:[{include:"#template_call_range"}]},"18":{},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\))(?:\\p{space}+)?(->)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?=(\\p{space}*))\\12)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\15)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\19)|\\*+(?!/))*))\\18)(\\*/))(?:(?=(\\p{space}*))\\21))+|(?:(?=(\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\34)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\38)|\\*+(?!/))*))\\37)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)(?:(?=(\\p{space}*))\\56))?::)*))\\33))((?:(?:(?:(?=(\\p{space}*))\\58)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))(?:(?=(\\p{space}*))\\64))+|(?:(?=(\\p{space}+))\\65)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,18,19,21,22,24,27,28,30,31,33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,61,62,64,65,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},name:"meta.body.function.definition.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"#comma"}]},function_pointer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.other.definition.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>\\n])(?!\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},function_pointer_parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.parameter.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>\\n])(?!\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},functional_specifiers_pre_parameters:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},goto_statement:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.goto.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{name:"entity.name.label.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])goto(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\11)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=(\\p{space}*))\\14))+)|(?:(?=(\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)","dgv",{"hiddenCaptures":[3,4,5,6,7,11,12,13,14,15]})},identifier:{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv},include:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.directive.$5.cpp"},"4":{name:"punctuation.definition.directive.cpp"},"6":{name:"string.quoted.other.lt-gt.include.cpp"},"7":{name:"punctuation.definition.string.begin.cpp"},"8":{name:"punctuation.definition.string.end.cpp"},"9":{patterns:[{include:"#inline_comment"}]},"10":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"11":{name:"string.quoted.double.include.cpp"},"12":{name:"punctuation.definition.string.begin.cpp"},"13":{name:"punctuation.definition.string.end.cpp"},"14":{patterns:[{include:"#inline_comment"}]},"15":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"16":{name:"entity.name.other.preprocessor.macro.include.cpp"},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"21":{patterns:[{include:"#inline_comment"}]},"22":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((#)(?:\\p{space}+)?(include(?:|_next))\\b)(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=(\\p{space}*))\\16)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/(?:(?=(\\p{space}*))\\19))+)|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=(\\p{space}*))\\26)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/(?:(?=(\\p{space}*))\\29))+)|(?:(?=(\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//))))|(((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\.(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)*((?:((?:(?:(?=(\\p{space}*))\\41)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/(?:(?=(\\p{space}*))\\44))+)|(?:(?=(\\p{space}+))\\45)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;)))))|((?:((?:(?:(?=(\\p{space}*))\\48)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/(?:(?=(\\p{space}*))\\51))+)|(?:(?=(\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;))))","dgv",{"hiddenCaptures":[3,4,5,6,7,16,17,18,19,20,26,27,28,29,30,34,35,36,37,38,41,42,43,44,45,48,49,50,51,52]}),name:"meta.preprocessor.include.cpp"},inheritance_context:{patterns:[{include:"#ever_present_context"},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.inheritance.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])p(?:rotected|rivate|ublic)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.access.$0.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])virtual(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.virtual.cpp"},{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=protected|virtual|private|public|[\\,\\:])(?:\\p{space}+)?(?!(?:p(?:rotected|rivate|ublic)|virtual))((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\6)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=(\\p{space}*))\\9))+)|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)(?:(?=(\\p{space}*))\\42))?::)*))\\19))((?:((?:(?:(?=(\\p{space}*))\\45)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=(\\p{space}*))\\48))+)|(?:(?=(\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"hiddenCaptures":[2,6,7,8,9,10,13,14,15,16,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],"lazyCompile":true})}]},inline_builtin_storage_type:{captures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1]})},inline_comment:{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\4)|\\*+(?!/))*))\\3)(\\*/))","dgv",{"hiddenCaptures":[3,4]})},invalid_comment_end:{match:/\*\//dgv,name:"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},label:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"entity.name.label.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{name:"punctuation.separator.label.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))\\b(?<!case|default)((?:((?:(?:(?=(\\p{space}*))\\11)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=(\\p{space}*))\\14))+)|(?:(?=(\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:)","dgv",{"hiddenCaptures":[3,4,5,6,7,11,12,13,14,15]})},lambdas:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?<=\\P{space}|^)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\]\\)\\[\\*\\&\"\\>])|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|^return))(?:\\p{space}+)?(\\[(?!\\[|(?:(?=( *))\\2)\"|(?:(?=( *))\\3)\\p{Nd}))((?:(?=((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\8)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\10)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\12)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\14)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\16)(?:)?)+))\\15)\\])?)+))\\13)\\])?)+))\\11)\\])?)+))\\9)\\])?)+))\\7)\\]))*))\\5))(\\](?!((?:(?:(?:(?=(\\p{space}*))\\19)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)(\\*/))(?:(?=(\\p{space}*))\\25))+|(?:(?=(\\p{space}+))\\26)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))[\\[\\]\\;\\=]))","dgv",{"hiddenCaptures":[2,3,5,7,8,9,10,11,12,13,14,15,16,19,22,23,25,26]}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.separator.delimiter.comma.cpp"},"7":{name:"keyword.operator.assignment.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?=\\]|$|(?=\\n?$))|(,))|(=))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?<=[\;\}])/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.lambda.cpp"}},name:"meta.function.definition.parameters.lambda.cpp",patterns:[{include:"#function_parameter_context"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|mutable)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.lambda.$0.cpp"},{begin:/->/dgv,beginCaptures:{"0":{name:"punctuation.definition.lambda.return-type.cpp"}},end:/(?=\{)/dgv,endCaptures:{},patterns:[{include:"#comments"},{match:/\P{space}+/dgv,name:"storage.type.return-type.lambda.cpp"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},language_constants:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:nullptr|false|NULL|true)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.$0.cpp"},line:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?line\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"#line_continuation_character"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"#line_continuation_character"}]},line_continuation_character:{match:/\\\n/dgv,name:"constant.character.escape.line-continuation.cpp"},macro:{begin:/*@__PURE__*/ new EmulatedRegExp("(^((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?define\\b)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.define.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{name:"entity.name.function.preprocessor.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.macro.cpp",patterns:[{captures:{"1":{name:"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{name:"meta.function.preprocessor.parameters.cpp",patterns:[{captures:{"1":{name:"variable.parameter.preprocessor.cpp"}},match:/(?<=[\(\,])(?:\p{space}+)?((?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)(?:\p{space}+)?/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.cpp"},{match:/\.\.\./dgv,name:"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{name:"punctuation.definition.parameters.end.preprocessor.cpp"}},match:/(?:\p{space}+)?(\()([^\(]*)(\))/dgvy},{include:"#macro_context"},{include:"#macro_argument"}]},macro_argument:{match:/##?(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.macro.argument.cpp"},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},macro_name:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.function.preprocessor.cpp"},member_access:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"variable.language.this.cpp"},"4":{name:"variable.other.object.access.cpp"},"5":{name:"punctuation.separator.dot-access.cpp"},"6":{name:"punctuation.separator.pointer-access.cpp"},"7":{patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\p{space}+)?(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#member_access"},{include:"#method_access"}]},"8":{name:"variable.other.property.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\p{space}+)?(?:\\.(?:\\*|)|->(?:\\*|))(?:\\p{space}+)?)*)(?:\\p{space}+)?(\\b(?!uint_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|suseconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|useconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_addr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_port_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blksize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|unsigned[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blkcnt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|swblk_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|wchar_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|qaddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|caddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|daddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fixpt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nlink_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|segsz_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|clock_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ssize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|mode_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ushort[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|double[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|signed[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|size_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|key_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|div_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ino_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|gid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|off_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|float[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|dev_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_int[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|bool[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|void[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|auto[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int[^\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b(?!\\())","dgv",{"hiddenCaptures":[3,4,5,6,7],"lazyCompile":true})},memory_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.operator.wordlike.cpp"},"4":{name:"keyword.operator.delete.array.cpp"},"5":{name:"keyword.operator.delete.array.bracket.cpp"},"6":{name:"keyword.operator.delete.cpp"},"7":{name:"keyword.operator.new.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:(delete)(?:\\p{space}+)?(\\[\\])|(delete))|(new))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},method_access:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\p{space}+)?(?:\\.(?:\\*|)|->(?:\\*|))(?:\\p{space}+)?)*)(?:\\p{space}+)?(~?(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"},"9":{patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\p{space}+)?(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},misc_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.other.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:constinit|requires|typedef|concept|export|module)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},namespace_alias:{captures:{"1":{name:"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{name:"entity.name.namespace.alias.cpp"},"3":{name:"keyword.operator.assignment.cpp"},"4":{name:"meta.declaration.namespace.alias.value.cpp"},"5":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"6":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{patterns:[{include:"#template_call_range"}]},"9":{name:"entity.name.namespace.cpp"},"10":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(namespace)\\p{space}+((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(=)(?:\\p{space}+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\7)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\19)|\\*+(?!/))*))\\18)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\23))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\24))*>)(?:(?=(\\p{space}*))\\25))?::)*(?:(?=(\\p{space}*))\\26))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(;)|\\n))","dgv",{"hiddenCaptures":[7,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}),name:"meta.declaration.namespace.alias.cpp"},namespace_block:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])namespace(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"0":{name:"meta.head.namespace.cpp"},"1":{name:"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},name:"meta.head.namespace.cpp",patterns:[{include:"#ever_present_context"},{include:"#attributes_context"},{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.namespace.cpp"},"6":{name:"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{name:"storage.modifier.inline.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)(?:(?=(\\p{space}*))\\21))?::)*(?:(?=(\\p{space}*))\\22))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(::)(?:\\p{space}+)?(inline))?","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]})}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.namespace.cpp"}},name:"meta.body.namespace.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.namespace.cpp",patterns:[{include:"$self"}]}]},noexcept_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=\n?$)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=\p{AHex})\.|\.(?=\p{AHex})))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![pP\p{AHex}])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[bB])([01](?:[01]|((?<=\p{AHex})'(?=\p{AHex})))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0)((?:[0-7]|((?<=\p{AHex})'(?=\p{AHex})))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![pP\p{AHex}])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{match:/(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])*/dgv},operator_overload:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?:(?=(\\p{space}*))\\11)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\23)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))(?:(?=(\\p{space}*))\\29))+|(?:(?=(\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\33)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\40)|\\*+(?!/))*))\\39)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)(?:(?=(\\p{space}*))\\55))?::)*))\\32))((?:(?:(?:(?=(\\p{space}*))\\57)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\61)|\\*+(?!/))*))\\60)(\\*/))(?:(?=(\\p{space}*))\\63))+|(?:(?=(\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\84))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\87)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\91)|\\*+(?!/))*))\\90)(\\*/))(?:(?=(\\p{space}*))\\93))+|(?:(?=(\\p{space}+))\\94)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\96)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\100)|\\*+(?!/))*))\\99)(\\*/))(?:(?=(\\p{space}*))\\102))+|(?:(?=(\\p{space}+))\\103)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\105)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\109)|\\*+(?!/))*))\\108)(\\*/))(?:(?=(\\p{space}*))\\111))+|(?:(?=(\\p{space}+))\\112)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\115)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\119)|\\*+(?!/))*))\\118)(\\*/))(?:(?=(\\p{space}*))\\121))+|(?:(?=(\\p{space}+))\\122)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:(?:(?=(\\p{space}*))\\124)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\128)|\\*+(?!/))*))\\127)(\\*/))(?:(?=(\\p{space}*))\\130))+|(?:(?=(\\p{space}+))\\131)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\134)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\138)|\\*+(?!/))*))\\137)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\141)|\\*+(?!/))*))\\140)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\150))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\151))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)(?:(?=(\\p{space}*))\\156))?::)*))\\133))(operator)((?:(?:(?:(?=(\\p{space}*))\\159)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\163)|\\*+(?!/))*))\\162)(\\*/))(?:(?=(\\p{space}*))\\165))+|(?:(?=(\\p{space}+))\\166)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\169)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\173)|\\*+(?!/))*))\\172)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\175)|\\*+(?!/))*))\\174)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\177)|\\*+(?!/))*))\\176)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\179)|\\*+(?!/))*))\\178)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\181)|\\*+(?!/))*))\\180)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\182))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\183))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\184))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\185))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\186))*>)(?:(?=(\\p{space}*))\\187))?::)*))\\168))(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[\\]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|[\\,\\+\\-\\!\\~\\*\\&\\/\\%\\<\\>\\^\\|\\=]))|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(((?:(?:(?:(?=(\\p{space}*))\\192)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\196)|\\*+(?!/))*))\\195)(\\*/))(?:(?=(\\p{space}*))\\198))+|(?:(?=(\\p{space}+))\\199)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\201)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\205)|\\*+(?!/))*))\\204)(\\*/))(?:(?=(\\p{space}*))\\207))+|(?:(?=(\\p{space}+))\\208)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\210)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\214)|\\*+(?!/))*))\\213)(\\*/))(?:(?=(\\p{space}*))\\216))+|(?:(?=(\\p{space}+))\\217)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?=(\\p{space}*))\\221)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\225)|\\*+(?!/))*))\\224)(\\*/))(?:(?=(\\p{space}*))\\227))+|(?:(?=(\\p{space}+))\\228)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))((?:(?:(?:(?=(\\p{space}*))\\231)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\235)|\\*+(?!/))*))\\234)(\\*/))(?:(?=(\\p{space}*))\\237))+|(?:(?=(\\p{space}+))\\238)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\<\\(])","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,17,18,20,21,23,26,27,29,30,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,60,61,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,87,90,91,93,94,96,99,100,102,103,105,108,109,111,112,115,118,119,121,122,124,127,128,130,131,133,134,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,162,163,165,166,168,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,192,195,196,198,199,201,204,205,207,208,210,213,214,216,217,221,224,225,227,228,231,234,235,237,238],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"16":{patterns:[{include:"#template_call_range"}]},"17":{},"18":{patterns:[{include:"#inline_comment"}]},"19":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{name:"comment.block.cpp"},"21":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{patterns:[{include:"#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{name:"storage.type.modifier.calling-convention.cpp"},"37":{patterns:[{include:"#inline_comment"}]},"38":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{name:"comment.block.cpp"},"40":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{patterns:[{include:"#inline_comment"}]},"42":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{name:"comment.block.cpp"},"44":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator.cpp"},{include:"#template_call_range"}]},"46":{patterns:[{include:"#template_call_range"}]},"47":{},"48":{name:"keyword.other.operator.overload.cpp"},"49":{patterns:[{include:"#inline_comment"}]},"50":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{name:"comment.block.cpp"},"52":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator-overload.cpp"},{include:"#template_call_range"}]},"54":{patterns:[{include:"#template_call_range"}]},"55":{},"56":{name:"entity.name.operator.cpp"},"57":{name:"entity.name.operator.type.cpp"},"58":{patterns:[{match:/\*/dgv,name:"entity.name.operator.type.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"#inline_comment"}]},"60":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{name:"comment.block.cpp"},"62":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{patterns:[{include:"#inline_comment"}]},"64":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{name:"comment.block.cpp"},"66":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{patterns:[{include:"#inline_comment"}]},"68":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{name:"comment.block.cpp"},"70":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{name:"entity.name.operator.type.array.cpp"},"72":{name:"entity.name.operator.custom-literal.cpp"},"73":{patterns:[{include:"#inline_comment"}]},"74":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{name:"comment.block.cpp"},"76":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{name:"entity.name.operator.custom-literal.cpp"},"78":{patterns:[{include:"#inline_comment"}]},"79":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{name:"comment.block.cpp"},"81":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.head.function.definition.special.operator-overload.cpp",patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},contentName:"meta.function.definition.parameters.special.operator-overload",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp"},"7":{name:"keyword.other.delete.function.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.body.function.definition.special.operator-overload.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.operator-overload.cpp",patterns:[{include:"$self"}]}]},operators:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/--/dgv,name:"keyword.operator.decrement.cpp"},{match:/\+\+/dgv,name:"keyword.operator.increment.cpp"},{match:/%=|\+=|-=|\*=|(?<!\()\/=/dgv,name:"keyword.operator.assignment.compound.cpp"},{match:/&=|\^=|<<=|>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.cpp"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.cpp"},{match:/!=|<=|>=|==|[\<\>]/dgv,name:"keyword.operator.comparison.cpp"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.cpp"},{match:/[\&\|\^\~]/dgv,name:"keyword.operator.bitwise.cpp"},{include:"#assignment_operator"},{match:/[\%\*\/\-\+]/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},over_qualified_types:{patterns:[{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})}]},parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#function_pointer_parameter"},{include:"#decltype"},{include:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))+)((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\,\\)\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{space}\\(\\,\\:])((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\)\\,\\[\\=\\n])","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#ever_present_context"}]},parameter_class:{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parameter_enum:{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parameter_or_maybe_value:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))+)((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\,\\)\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"#function_call"},{include:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{space}\\(\\,\\:])((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=(?:[\\)\\,\\[\\=]|//|(?:\\n|(?=\\n?$))))","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parameter_struct:{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parameter_union:{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.pragma.cpp",patterns:[{include:"#comments"},{include:"#string_context"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\-\$]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.cpp"},{include:"#preprocessor_number_literal"},{include:"#line_continuation_character"}]},pragma_mark:{captures:{"1":{name:"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{name:"entity.name.tag.pragma-mark.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(^((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\p{space}+mark)\\p{space}+([^\\n]*)","dgv",{"hiddenCaptures":[4,5,6,7,8]}),name:"meta.preprocessor.pragma.cpp"},predefined_macros:{patterns:[{captures:{"1":{name:"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b","dgv",{"lazyCompile":true})},{match:/\b__([A-Z_]+)__\b/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"#language_constants"},{include:"#string_context"},{include:"#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"#predefined_macros"},{include:"#macro_name"},{include:"#line_continuation_character"}]},preprocessor_conditional_defined:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])defined(?![\p{L}\p{M}\p{N}\p{Pc}]))(\()/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.defined.cpp"},"2":{name:"punctuation.section.parens.control.defined.cpp"}},end:/(?:\)|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?(if(?:(?:ndef|def)|))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"},"6":{}},contentName:"meta.preprocessor.conditional",end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_conditional_standalone:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"punctuation.definition.directive.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])e(?:ndif|lse|lif)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]}),name:"keyword.control.directive.$4.cpp"},preprocessor_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"}]},qualified_type:{captures:{"0":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"1":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"9":{patterns:[{include:"#inline_comment"}]},"10":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\5)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/(?:(?=(\\p{space}*))\\8))+)|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\19)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)(?:(?=(\\p{space}*))\\41))?::)*))\\18))((?:((?:(?:(?=(\\p{space}*))\\44)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/(?:(?=(\\p{space}*))\\47))+)|(?:(?=(\\p{space}+))\\48)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\53)|\\*+(?!/))*))\\52)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\55)|\\*+(?!/))*))\\54)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\57)|\\*+(?!/))*))\\56)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\60))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.])","dgv",{"hiddenCaptures":[1,5,6,7,8,9,12,13,14,15,16,18,19,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,45,46,47,48,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],"lazyCompile":true}),name:"meta.qualified_type.cpp"},qualifiers_and_specifiers_post_parameters:{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.modifier.specifier.functional.post-parameters.$5.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?:(?=(\\p{space}*))\\2)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=(\\p{space}*))\\5))+|(?:(?=(\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))+)(?=\\p{space}*[\\{\\;\\n\\r\\=])","dgv",{"hiddenCaptures":[2,3,4,5,6]})},scope_resolution:{captures:{"0":{patterns:[{include:"#scope_resolution_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_call:{captures:{"0":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_call_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_function_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_function_definition_operator_overload:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_definition_operator_overload_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_namespace_alias:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_namespace_alias_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.alias.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_namespace_block:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_namespace_block_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.block.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_namespace_using:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_namespace_using_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.using.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_parameter:{captures:{"0":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_parameter_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.parameter.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_template_call:{captures:{"0":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_template_call_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_template_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_template_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},semicolon:{match:/;/dgv,name:"punctuation.terminator.statement.cpp"},simple_type:{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{},"13":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"14":{patterns:[{include:"#inline_comment"}]},"15":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"16":{patterns:[{include:"#inline_comment"}]},"17":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\6)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=(\\p{space}*))\\9))+)|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)(?:(?=(\\p{space}*))\\42))?::)*))\\19))((?:((?:(?:(?=(\\p{space}*))\\45)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=(\\p{space}*))\\48))+)|(?:(?=(\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:((?:(?:(?=(\\p{space}*))\\69)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/(?:(?=(\\p{space}*))\\72))+)|(?:(?=(\\p{space}+))\\73)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\76)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/(?:(?=(\\p{space}*))\\79))+)|(?:(?=(\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?","dgv",{"hiddenCaptures":[2,6,7,8,9,10,13,14,15,16,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,70,71,72,73,76,77,78,79,80],"lazyCompile":true})},single_line_macro:{captures:{"0":{patterns:[{include:"#macro"},{include:"#comments"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))#define[^\\n]*(?<!\\\\)(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},sizeof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},sizeof_variadic_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},square_brackets:{begin:/([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.other.object"},"2":{name:"punctuation.definition.begin.bracket.square"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},standard_declares:{patterns:[{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})}]},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.other.static_assert.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},patterns:[{begin:/(,)(?:\p{space}+)?(?=(?:L|u8|u|U(?:\p{space}+)?")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},end:/(?=\))/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},std_space:{captures:{"0":{patterns:[{include:"#inline_comment"}]},"1":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=(\\p{space}*))\\2)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=(\\p{space}*))\\5))+)|(?:(?=(\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[2,3,4,5,6]})},storage_specifiers:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"storage.modifier.specifier.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},storage_types:{patterns:[{include:"#storage_specifiers"},{include:"#inline_builtin_storage_type"},{include:"#decltype"},{include:"#typename"}]},string_context:{patterns:[{begin:/((?:u|u8|[UL])?)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(")(?:((?:[a-zA-Z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.cpp",patterns:[{match:/\\(?:u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.cpp"},{match:/\\['"\?\\abfnrtv]/dgv,name:"constant.character.escape.cpp"},{match:/\\[0-7]{1,3}/dgv,name:"constant.character.escape.cpp"},{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x(?:\p{AHex}*|)))/dgv},{include:"#string_escapes_context_c"}]},{begin:/(?<!\p{AHex})((?:u|u8|[UL])?)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(')(?:((?:[a-zA-Z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.character.cpp"}},name:"string.quoted.single.cpp",patterns:[{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x(?:\p{AHex}*|)))/dgv},{include:"#string_escapes_context_c"},{include:"#line_continuation_character"}]},{begin:/((?:[uUL]8?)?R)"(?:(?:_r|re)|regex)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:(?:_r|re)|regex)"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.raw.regex.cpp",patterns:[{include:"source.regexp.python"}]},{begin:/((?:[uUL]8?)?R)"(?:glsl|GLSL)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:glsl|GLSL)"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.glsl.cpp",patterns:[{include:"source.glsl"}]},{begin:/((?:[uUL]8?)?R)"(?:[pP]?(?:sql|SQL)|d[dm]l)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:[pP]?(?:sql|SQL)|d[dm]l)"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.sql.cpp",patterns:[{include:"source.sql"}]},{begin:/((?:u|u8|[UL])?R)"(?:([^ \(\)\\\t]{0,16})|([^ \(\)\\\t]*))\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"},"1":{name:"meta.encoding"},"3":{name:"invalid.illegal.delimiter-too-long"}},end:/(\)\2(\3)")(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end"},"2":{name:"invalid.illegal.delimiter-too-long"},"3":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.raw"}]},string_escapes_context_c:{patterns:[{match:/\\([\\abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x\p{AHex}{0,2}|u\p{AHex}{0,4}|U\p{AHex}{0,8})/dgv,name:"constant.character.escape"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape"},{match:/(?!%')(?!%")%(\p{Nd}+\$)?[\#0\- \+']*[\,\;\:_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|[ljtzqL]|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn\%]/dgv,name:"constant.other.placeholder"}]},struct_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},struct_declare:{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},switch_conditional_parentheses:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},name:"meta.conditional.switch.cpp",patterns:[{include:"#evaluation_context"}]},switch_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.switch.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.switch.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.switch.cpp"}},name:"meta.head.switch.cpp",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.switch.cpp"}},name:"meta.body.switch.cpp",patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_argument_defaulted:{captures:{"1":{name:"storage.type.template.argument.$1.cpp"},"2":{name:"entity.name.type.template.cpp"},"3":{name:"keyword.operator.assignment.cpp"}},match:/(?<=[\<\,])(?:\p{space}+)?((?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)\p{space}+((?:(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)?)(?:\p{space}+)?(=)/dgv},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"#language_constants"},{include:"#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma_in_template_argument"},{include:"#qualified_type"}]},template_call_innards:{captures:{"0":{patterns:[{include:"#template_call_range"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=(\\p{space}*))\\32)","dgv",{"hiddenCaptures":[4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]}),name:"meta.template.call.cpp"},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},template_definition:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)/dgv,beginCaptures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},name:"meta.template.definition.cpp",patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?:\p{space}+)?</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_argument:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"storage.type.template.argument.$3.cpp"},"4":{patterns:[{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"storage.type.template.argument.$0.cpp"}]},"5":{name:"entity.name.type.template.cpp"},"6":{name:"storage.type.template.argument.$6.cpp"},"7":{name:"punctuation.vararg-ellipses.template.definition.cpp"},"8":{name:"entity.name.type.template.cpp"},"9":{name:"storage.type.template.cpp"},"10":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{name:"storage.type.template.argument.$11.cpp"},"12":{name:"entity.name.type.template.cpp"},"13":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{name:"storage.type.template.argument.$14.cpp"},"15":{name:"entity.name.type.template.cpp"},"16":{name:"keyword.operator.assignment.cpp"},"17":{name:"punctuation.separator.delimiter.comma.template.argument.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\p{space}+)+)((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*))|((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?(\\.\\.\\.)(?:\\p{space}+)?((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*))|(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(template)(?:\\p{space}+)?(<)(?:\\p{space}+)?((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(>)(?:\\p{space}+)?(class|typename)(?:\\p{space}+((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*))?)(?:\\p{space}+)?(?:(=)(?:\\p{space}+)?(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?(?:(,)|(?=>|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},template_definition_context:{patterns:[{include:"#scope_resolution_template_definition_inner_generated"},{include:"#template_definition_argument"},{include:"#template_argument_defaulted"},{include:"#template_call_innards"},{include:"#evaluation_context"}]},template_explicit_instantiation:{captures:{"1":{name:"storage.modifier.specifier.extern.cpp"},"2":{name:"storage.type.template.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(extern)\p{space}+)?(template)\p{space}+/dgv,name:"meta.template.explicit-instantiation.cpp"},template_isolated_definition:{captures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{name:"meta.template.definition.cpp",patterns:[{include:"#template_definition_context"}]},"4":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)([^\n]*)(>)(?:\p{space}+)?(?=\n?$)/dgv},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},the_this_keyword:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"variable.language.this.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},type_alias:{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.type.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"4":{name:"keyword.operator.assignment.cpp"},"5":{name:"keyword.other.typename.cpp"},"6":{patterns:[{include:"#storage_specifiers"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"9":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"15":{patterns:[{include:"#template_call_range"}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"20":{name:"meta.declaration.type.alias.value.unknown.cpp",patterns:[{include:"#evaluation_context"}]},"21":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"22":{patterns:[{include:"#inline_comment"}]},"23":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"24":{patterns:[{include:"#inline_comment"}]},"25":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"26":{patterns:[{include:"#inline_comment"}]},"27":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"28":{name:"punctuation.definition.begin.bracket.square.cpp"},"29":{patterns:[{include:"#evaluation_context"}]},"30":{name:"punctuation.definition.end.bracket.square.cpp"},"31":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(using)\\p{space}+(?!namespace)((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?(?:\\p{space}+)?(=)(?:\\p{space}+)?((?:typename)?)(?:\\p{space}+)?((?:(?:((?:(?:(?=(\\p{space}*))\\8)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/(?:(?=(\\p{space}*))\\11))+)|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\p{space}+)+)?(?:((?:(?=(\\p{space}*))\\14)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\18)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/(?:(?=(\\p{space}*))\\21))+)|(?:(?=(\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\25)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=(\\p{space}*))\\28))+)|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\32)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\48))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)(?:(?=(\\p{space}*))\\54))?::)*))\\31))((?:((?:(?:(?=(\\p{space}*))\\57)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/(?:(?=(\\p{space}*))\\60))+)|(?:(?=(\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))|([^\\n]*(?<!;)))(?:(((?:((?:(?:(?=(\\p{space}*))\\82)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/(?:(?=(\\p{space}*))\\85))+)|(?:(?=(\\p{space}+))\\86)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\89)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\91)|\\*+(?!/))*))\\90)\\*/(?:(?=(\\p{space}*))\\92))+)|(?:(?=(\\p{space}+))\\93)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\96)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\98)|\\*+(?!/))*))\\97)\\*/(?:(?=(\\p{space}*))\\99))+)|(?:(?=(\\p{space}+))\\100)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)?(?:\\p{space}+)?(?:(;)|\\n)","dgv",{"hiddenCaptures":[8,9,10,11,12,14,18,19,20,21,22,25,26,27,28,29,31,32,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,82,83,84,85,86,89,90,91,92,93,96,97,98,99,100],"lazyCompile":true}),name:"meta.declaration.type.alias.cpp"},type_casting_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:reinterpret_cast|dynamic_cast|static_cast|const_cast)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},typedef_class:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])class(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_function_pointer:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=[^\n]*\(\*\p{space}*(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\p{space}*\))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>\\n])(?!\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]}]},typedef_struct:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])struct(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_union:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])union(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typeid_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},typename:{captures:{"1":{name:"storage.modifier.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"13":{patterns:[{include:"#template_call_range"}]},"14":{},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typename(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\11)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=(\\p{space}*))\\14))+)|(?:(?=(\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?=(\\p{space}*))\\17)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\21)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/(?:(?=(\\p{space}*))\\24))+)|(?:(?=(\\p{space}+))\\25)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\28)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/(?:(?=(\\p{space}*))\\31))+)|(?:(?=(\\p{space}+))\\32)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\35)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\56))*>)(?:(?=(\\p{space}*))\\57))?::)*))\\34))((?:((?:(?:(?=(\\p{space}*))\\60)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/(?:(?=(\\p{space}*))\\63))+)|(?:(?=(\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\73)|\\*+(?!/))*))\\72)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\75)|\\*+(?!/))*))\\74)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"hiddenCaptures":[4,5,6,7,8,11,12,13,14,15,17,21,22,23,24,25,28,29,30,31,32,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],"lazyCompile":true})},undef:{captures:{"1":{name:"keyword.control.directive.undef.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{name:"entity.name.function.preprocessor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(^((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?undef\\b)((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16]}),name:"meta.preprocessor.undef.cpp"},union_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},union_declare:{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},using_name:{captures:{"1":{name:"keyword.other.using.directive.cpp"}},match:/(using)\p{space}+(?!namespace\b)/dgv},using_namespace:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(using)\\p{space}+(namespace)\\p{space}+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\5)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)(?:(?=(\\p{space}*))\\23))?::)*(?:(?=(\\p{space}*))\\24))?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?=[\\;\\n])","dgv",{"hiddenCaptures":[5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}),beginCaptures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"4":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{patterns:[{include:"#template_call_range"}]},"6":{},"7":{name:"entity.name.namespace.cpp"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"},vararg_ellipses:{match:/(?<!\.)\.\.\.(?!\.)/dgv,name:"punctuation.vararg-ellipses.cpp"},wordlike_operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},scopeName:"source.cpp",embeddedLangs:["cpp-macro","regexp","glsl","sql"],aliases:["c++"]})
|
|
7
|
+
const lang = Object.freeze({displayName:"C++",name:"cpp",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#template_isolated_definition"},{include:"#template_definition"},{include:"#template_explicit_instantiation"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{access_control_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{name:"punctuation.separator.colon.access.control.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((p(?:rotected|rivate|ublic))(?:\\p{space}+)?(:))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},alignas_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},alignof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},assembly:{begin:/(\b(?:__asm__|asm)\b)(?:\p{space}+)?((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.cpp"},"2":{name:"storage.modifier.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\(","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.cpp"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.cpp"},"2":{name:"punctuation.definition.string.begin.assembly.cpp"}},contentName:"meta.embedded.assembly",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.assembly.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.asm"},{include:"source.x86"},{include:"source.x86_64"},{include:"source.arm"},{include:"#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.other.asm.label.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.cpp"},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},backslash_escapes:{match:/\\([\\abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x\p{AHex}{0,2}|u\p{AHex}{0,4}|U\p{AHex}{0,8})/dgv,name:"constant.character.escape"},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.cpp"}},name:"meta.block.cpp",patterns:[{include:"#function_body_context"}]},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.cpp"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cpp"}},name:"comment.block.cpp"},builtin_storage_type_initilizer:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\6)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(\\()","dgv",{"hiddenCaptures":[1,6]}),beginCaptures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{name:"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.case.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},class_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},class_declare:{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},comma:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},comma_in_template_argument:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.template.argument.cpp"},comments:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=((?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"#line_continuation_character"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\$\#\<\>\%"\.\=]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.cpp"},"2":{patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\$\#\<\>\%"\.\=]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},"3":{name:"punctuation.definition.comment.end.documentation.cpp"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.cpp"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((?:\\p{space}+)?))\\1)/\\*[\\!\\*]+(?:(?:\\n|(?=\\n?$))|(?=\\p{space}))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.comment.begin.documentation.cpp"}},end:/[\!\*]*\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.documentation.cpp"}},name:"comment.block.documentation.cpp",patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\$\#\<\>\%"\.\=]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{include:"#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"#invalid_comment_end"}]},constructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*)((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"storage.type.modifier.calling-convention.cpp"},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},constructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\14)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=(\\p{space}*))\\32))?::)*))\\13))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\35))((?:(?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))::((?:(?:(?:(?=(\\p{space}*))\\46)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)(\\*/))(?:(?=(\\p{space}*))\\52))+|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\34((?:(?:(?:(?=(\\p{space}*))\\55)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))(?:(?=(\\p{space}*))\\61))+|(?:(?=(\\p{space}+))\\62)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\())","dgv",{"hiddenCaptures":[1,4,7,8,10,11,13,14,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,37,40,41,43,44,46,49,50,52,53,55,58,59,61,62]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.constructor.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"8":{},"9":{patterns:[{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.constructor.cpp"},{match:/(?<=:)(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.constructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},control_flow_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},curly_initializer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))((?:(?:(?:(?=(\\p{space}*))\\73)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))(?:(?=(\\p{space}*))\\79))+|(?:(?=(\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\{)","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,76,77,79,80],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{name:"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"#comma"}]},d9bc4796b0b_module_import:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.directive.import.cpp"},"5":{name:"string.quoted.other.lt-gt.include.cpp"},"6":{name:"punctuation.definition.string.begin.cpp"},"7":{name:"punctuation.definition.string.end.cpp"},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{name:"string.quoted.double.include.cpp"},"11":{name:"punctuation.definition.string.begin.cpp"},"12":{name:"punctuation.definition.string.end.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"15":{name:"entity.name.other.preprocessor.macro.include.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"18":{patterns:[{include:"#inline_comment"}]},"19":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"22":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((import))(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=(\\p{space}*))\\15)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/(?:(?=(\\p{space}*))\\18))+)|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=(\\p{space}*))\\25)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=(\\p{space}*))\\28))+)|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//))))|(((?:((?:(?:(?=(\\p{space}*))\\33)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/(?:(?=(\\p{space}*))\\36))+)|(?:(?=(\\p{space}+))\\37)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\.(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)*((?:((?:(?:(?=(\\p{space}*))\\40)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/(?:(?=(\\p{space}*))\\43))+)|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;)))))|((?:((?:(?:(?=(\\p{space}*))\\47)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/(?:(?=(\\p{space}*))\\50))+)|(?:(?=(\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;))))(?:\\p{space}+)?(;?)","dgv",{"hiddenCaptures":[3,4,5,6,7,15,16,17,18,19,25,26,27,28,29,33,34,35,36,37,40,41,42,43,44,47,48,49,50,51]}),name:"meta.preprocessor.import.cpp"},d9bc4796b0b_preprocessor_number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=\n?$)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=\p{AHex})\.|\.(?=\p{AHex})))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[bB])([01](?:[01]|((?<=\p{AHex})'(?=\p{AHex})))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0)((?:[0-7]|((?<=\p{AHex})'(?=\p{AHex})))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{match:/(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])*/dgv},decltype:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},decltype_specifier:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},default_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.default.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.default.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},destructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*)(~(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},destructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\22)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*))\\21))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\43))((?:(?:(?:(?=(\\p{space}*))\\45)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))(?:(?=(\\p{space}*))\\51))+|(?:(?=(\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))::((?:(?:(?:(?=(\\p{space}*))\\54)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)(\\*/))(?:(?=(\\p{space}*))\\60))+|(?:(?=(\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))~\\42((?:(?:(?:(?=(\\p{space}*))\\63)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))(?:(?=(\\p{space}*))\\69))+|(?:(?=(\\p{space}+))\\70)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,45,48,49,51,52,54,57,58,60,61,63,66,67,69,70],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.destructor.cpp"},{include:"#template_call_range"}]},"11":{patterns:[{include:"#template_call_range"}]},"12":{},"13":{patterns:[{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.destructor.cpp"},{match:/(?<=:)~(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.member.destructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{patterns:[{include:"#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{include:"#inline_comment"}]},"24":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{name:"comment.block.cpp"},"26":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:/*@__PURE__*/ new EmulatedRegExp("(^((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?:error|warning)))\\b(?:\\p{space}+)?","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.diagnostic.$reference(directive).cpp",patterns:[{include:"#comments"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(")|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/[^'"]/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},emacs_file_banner:{captures:{"1":{name:"meta.toc-list.banner.double-slash.cpp"},"2":{name:"comment.line.double-slash.cpp"},"3":{name:"punctuation.definition.comment.cpp"},"4":{name:"meta.banner.character.cpp"},"5":{name:"meta.toc-list.banner.block.cpp"},"6":{name:"comment.line.banner.cpp"},"7":{name:"punctuation.definition.comment.cpp"},"8":{name:"meta.banner.character.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(^(?:\\p{space}+)?((//)(?:\\p{space}+)?((?:(?=([\\#\\;\\/\\=\\*C\\~]+))\\5)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\4(?:\\p{space}+)?(?:\\n|(?=\\n?$))))|(^(?:\\p{space}+)?((/\\*)(?:\\p{space}+)?((?:(?=([\\#\\;\\/\\=\\*C\\~]+))\\10)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\9(?:\\p{space}+)?\\*/)))","dgv",{"hiddenCaptures":[5,10]})},empty_square_brackets:{match:/(?<!delete)\[(?:\p{space}+)?\]/dgv,name:"storage.modifier.array.bracket.square"},enum_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+(class|struct))?(?:(?:\\p{space}+|((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\))))|(?=\\{))(?:\\p{space}+)?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)(?:(?:\\p{space}+)?(:)(?:\\p{space}+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\8)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)(?:(?=(\\p{space}*))\\45))?::)*(?:(?=(\\p{space}*))\\46))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\48)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)(?:(?=(\\p{space}*))\\81))?(::))?(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))?","dgv",{"hiddenCaptures":[8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.enum.cpp"},"1":{name:"storage.type.enum.cpp"},"2":{name:"storage.type.enum.enum-key.$2.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"#scope_resolution_inner_generated"}]},"7":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{name:"entity.name.scope-resolution.cpp"},"11":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"12":{},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{name:"storage.type.integral.$17.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"#enumerator_list"},{include:"#comments"},{include:"#comma"},{include:"#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},enum_declare:{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},enumerator_list:{captures:{"1":{name:"variable.other.enummember.cpp"},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{name:"keyword.operator.assignment.cpp"},"4":{patterns:[{include:"#evaluation_context"}]},"5":{patterns:[{include:"#comma"},{include:"#semicolon"}]}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?((?:(?:(?:\[\[[^\n]*?\]\]|__attribute(?:__)?\p{space}*\(\p{space}*\([^\n]*?\)\p{space}*\))|__declspec\([^\n]*?\))|alignas\([^\n]*?\))(?!\)))?(?:\p{space}+)?(?:(=)(?:\p{space}+)?([^\n]+?)(?:\p{space}+)?)?(?:(?:((?:[\,\;](?!')|\n))|(?=\}[^']))|(?=\/[\/\*]))/dgv,name:"meta.enum.definition.cpp"},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},ever_present_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"},{include:"#comments"},{include:"#line_continuation_character"}]},exception_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.exception.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:throw|catch|try)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},extern_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(extern)(?=\\p{space}*\")","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.extern.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.extern.cpp"}},name:"meta.body.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"#goto_statement"},{include:"#evaluation_context"},{include:"#label"}]},function_call:{begin:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|uintmax_t|uintmax_t|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?:(?=(\\p{space}*))\\44)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)(\\*/))(?:(?=(\\p{space}*))\\50))+|(?:(?=(\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\57)|\\*+(?!/))*))\\56)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)(?:(?=(\\p{space}*))\\84))?(\\()","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,47,48,50,51,56,57,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],"lazyCompile":true}),beginCaptures:{"1":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.function.call.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"11":{},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:^|^|(?<=[\\;\\}]))|(?<=>|\\*/))(?:(?=(\\p{space}*))\\1)(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])template(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\16)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))(?:(?=(\\p{space}*))\\22))+|(?:(?=(\\p{space}+))\\23)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*)((?:(?=(\\p{space}*))\\25)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\47)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\66))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)(?:(?=(\\p{space}*))\\69))?::)*))\\46))((?:(?:(?:(?=(\\p{space}*))\\71)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\75)|\\*+(?!/))*))\\74)(\\*/))(?:(?=(\\p{space}*))\\77))+|(?:(?=(\\p{space}+))\\78)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\81)|\\*+(?!/))*))\\80)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\86)|\\*+(?!/))*))\\85)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\88)|\\*+(?!/))*))\\87)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\90)|\\*+(?!/))*))\\89)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\92)|\\*+(?!/))*))\\91)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\93))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\94))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\95))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\96))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\97))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\98))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\101)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\105)|\\*+(?!/))*))\\104)(\\*/))(?:(?=(\\p{space}*))\\107))+|(?:(?=(\\p{space}+))\\108)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\110)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\114)|\\*+(?!/))*))\\113)(\\*/))(?:(?=(\\p{space}*))\\116))+|(?:(?=(\\p{space}+))\\117)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\119)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\123)|\\*+(?!/))*))\\122)(\\*/))(?:(?=(\\p{space}*))\\125))+|(?:(?=(\\p{space}+))\\126)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\129)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\133)|\\*+(?!/))*))\\132)(\\*/))(?:(?=(\\p{space}*))\\135))+|(?:(?=(\\p{space}+))\\136)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\139)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\151)|\\*+(?!/))*))\\150)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\156))*>)(?:(?=(\\p{space}*))\\157))?::)*(?:(?=(\\p{space}*))\\158))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|uintmax_t|uintmax_t|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?:(?=(\\p{space}*))\\161)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\165)|\\*+(?!/))*))\\164)(\\*/))(?:(?=(\\p{space}*))\\167))+|(?:(?=(\\p{space}+))\\168)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\()","dgv",{"hiddenCaptures":[1,4,7,8,10,11,16,19,20,22,23,25,28,31,32,34,35,37,40,41,43,44,46,47,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,74,75,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,101,104,105,107,108,110,113,114,116,117,119,122,123,125,126,129,132,133,135,136,139,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,161,164,165,167,168],"strategy":"clip_search","lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"#inline_comment"}]},"10":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{name:"comment.block.cpp"},"12":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"14":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"15":{patterns:[{include:"#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"24":{patterns:[{include:"#template_call_range"}]},"25":{},"26":{patterns:[{include:"#inline_comment"}]},"27":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{name:"comment.block.cpp"},"29":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{patterns:[{include:"#inline_comment"}]},"37":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{name:"comment.block.cpp"},"39":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{patterns:[{include:"#inline_comment"}]},"41":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{name:"comment.block.cpp"},"43":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{name:"storage.type.modifier.calling-convention.cpp"},"45":{patterns:[{include:"#inline_comment"}]},"46":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{name:"comment.block.cpp"},"48":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"50":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{patterns:[{include:"#template_call_range"}]},"52":{},"53":{name:"entity.name.function.definition.cpp"},"54":{patterns:[{include:"#inline_comment"}]},"55":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{name:"comment.block.cpp"},"57":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},name:"meta.head.function.definition.cpp",patterns:[{include:"#ever_present_context"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.cpp"}},contentName:"meta.function.definition.parameters",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{name:"comment.block.cpp"},"11":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"17":{patterns:[{include:"#template_call_range"}]},"18":{},"19":{patterns:[{include:"#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\))(?:\\p{space}+)?(->)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?=(\\p{space}*))\\12)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\15)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\19)|\\*+(?!/))*))\\18)(\\*/))(?:(?=(\\p{space}*))\\21))+|(?:(?=(\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\34)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\38)|\\*+(?!/))*))\\37)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)(?:(?=(\\p{space}*))\\56))?::)*))\\33))((?:(?:(?:(?=(\\p{space}*))\\58)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))(?:(?=(\\p{space}*))\\64))+|(?:(?=(\\p{space}+))\\65)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,18,19,21,22,24,27,28,30,31,33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,61,62,64,65,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},name:"meta.body.function.definition.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"#comma"}]},function_pointer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.other.definition.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>\\n])(?!\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},function_pointer_parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.parameter.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>\\n])(?!\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},functional_specifiers_pre_parameters:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},goto_statement:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.goto.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{name:"entity.name.label.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])goto(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\11)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=(\\p{space}*))\\14))+)|(?:(?=(\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)","dgv",{"hiddenCaptures":[3,4,5,6,7,11,12,13,14,15]})},identifier:{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv},include:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.control.directive.$5.cpp"},"4":{name:"punctuation.definition.directive.cpp"},"6":{name:"string.quoted.other.lt-gt.include.cpp"},"7":{name:"punctuation.definition.string.begin.cpp"},"8":{name:"punctuation.definition.string.end.cpp"},"9":{patterns:[{include:"#inline_comment"}]},"10":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"11":{name:"string.quoted.double.include.cpp"},"12":{name:"punctuation.definition.string.begin.cpp"},"13":{name:"punctuation.definition.string.end.cpp"},"14":{patterns:[{include:"#inline_comment"}]},"15":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"16":{name:"entity.name.other.preprocessor.macro.include.cpp"},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"21":{patterns:[{include:"#inline_comment"}]},"22":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((#)(?:\\p{space}+)?(include(?:|_next))\\b)(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=(\\p{space}*))\\16)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/(?:(?=(\\p{space}*))\\19))+)|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=(\\p{space}*))\\26)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/(?:(?=(\\p{space}*))\\29))+)|(?:(?=(\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=//))))|(((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\.(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)*((?:((?:(?:(?=(\\p{space}*))\\41)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/(?:(?=(\\p{space}*))\\44))+)|(?:(?=(\\p{space}+))\\45)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;)))))|((?:((?:(?:(?=(\\p{space}*))\\48)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/(?:(?=(\\p{space}*))\\51))+)|(?:(?=(\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;))))","dgv",{"hiddenCaptures":[3,4,5,6,7,16,17,18,19,20,26,27,28,29,30,34,35,36,37,38,41,42,43,44,45,48,49,50,51,52]}),name:"meta.preprocessor.include.cpp"},inheritance_context:{patterns:[{include:"#ever_present_context"},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.inheritance.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])p(?:rotected|rivate|ublic)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.access.$0.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])virtual(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.virtual.cpp"},{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=protected|virtual|private|public|[\\,\\:])(?:\\p{space}+)?(?!(?:p(?:rotected|rivate|ublic)|virtual))((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\6)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=(\\p{space}*))\\9))+)|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)(?:(?=(\\p{space}*))\\42))?::)*))\\19))((?:((?:(?:(?=(\\p{space}*))\\45)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=(\\p{space}*))\\48))+)|(?:(?=(\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"hiddenCaptures":[2,6,7,8,9,10,13,14,15,16,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],"lazyCompile":true})}]},inline_builtin_storage_type:{captures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1]})},inline_comment:{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\4)|\\*+(?!/))*))\\3)(\\*/))","dgv",{"hiddenCaptures":[3,4]})},invalid_comment_end:{match:/\*\//dgv,name:"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},label:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"entity.name.label.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{name:"punctuation.separator.label.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))\\b(?<!case|default)((?:((?:(?:(?=(\\p{space}*))\\11)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=(\\p{space}*))\\14))+)|(?:(?=(\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:)","dgv",{"hiddenCaptures":[3,4,5,6,7,11,12,13,14,15]})},lambdas:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?<=\\P{space}|^)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\]\\)\\[\\*\\&\"\\>])|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|^return))(?:\\p{space}+)?(\\[(?!\\[|(?:(?=( *))\\2)\"|(?:(?=( *))\\3)\\p{Nd}))((?:(?=((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\8)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\10)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\12)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\14)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\[\\]]*))\\16)(?:)?)+))\\15)\\])?)+))\\13)\\])?)+))\\11)\\])?)+))\\9)\\])?)+))\\7)\\]))*))\\5))(\\](?!((?:(?:(?:(?=(\\p{space}*))\\19)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)(\\*/))(?:(?=(\\p{space}*))\\25))+|(?:(?=(\\p{space}+))\\26)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))[\\[\\]\\;\\=]))","dgv",{"hiddenCaptures":[2,3,5,7,8,9,10,11,12,13,14,15,16,19,22,23,25,26]}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.separator.delimiter.comma.cpp"},"7":{name:"keyword.operator.assignment.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?=\\]|$|(?=\\n?$))|(,))|(=))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?<=[\;\}])/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.lambda.cpp"}},name:"meta.function.definition.parameters.lambda.cpp",patterns:[{include:"#function_parameter_context"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|mutable)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.lambda.$0.cpp"},{begin:/->/dgv,beginCaptures:{"0":{name:"punctuation.definition.lambda.return-type.cpp"}},end:/(?=\{)/dgv,endCaptures:{},patterns:[{include:"#comments"},{match:/\P{space}+/dgv,name:"storage.type.return-type.lambda.cpp"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},language_constants:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:nullptr|false|NULL|true)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.$0.cpp"},line:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?line\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"#line_continuation_character"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"#line_continuation_character"}]},line_continuation_character:{match:/\\\n/dgv,name:"constant.character.escape.line-continuation.cpp"},macro:{begin:/*@__PURE__*/ new EmulatedRegExp("(^((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?define\\b)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.define.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{name:"entity.name.function.preprocessor.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.macro.cpp",patterns:[{captures:{"1":{name:"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{name:"meta.function.preprocessor.parameters.cpp",patterns:[{captures:{"1":{name:"variable.parameter.preprocessor.cpp"}},match:/(?<=[\(\,])(?:\p{space}+)?((?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)(?:\p{space}+)?/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.cpp"},{match:/\.\.\./dgv,name:"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{name:"punctuation.definition.parameters.end.preprocessor.cpp"}},match:/(?:\p{space}+)?(\()([^\(]*)(\))/dgvy},{include:"#macro_context"},{include:"#macro_argument"}]},macro_argument:{match:/##?(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.macro.argument.cpp"},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},macro_name:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.function.preprocessor.cpp"},member_access:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"variable.language.this.cpp"},"4":{name:"variable.other.object.access.cpp"},"5":{name:"punctuation.separator.dot-access.cpp"},"6":{name:"punctuation.separator.pointer-access.cpp"},"7":{patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\p{space}+)?(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#member_access"},{include:"#method_access"}]},"8":{name:"variable.other.property.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\p{space}+)?(?:\\.(?:\\*|)|->(?:\\*|))(?:\\p{space}+)?)*)(?:\\p{space}+)?(\\b(?!uint_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|suseconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|useconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_addr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_port_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blksize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|unsigned[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blkcnt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|swblk_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|wchar_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|qaddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|caddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|daddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fixpt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nlink_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|segsz_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|clock_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ssize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|mode_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ushort[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|double[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|signed[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|size_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|key_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|div_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ino_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|gid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|off_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|float[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|dev_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_int[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|bool[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|void[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|auto[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int[^\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b(?!\\())","dgv",{"hiddenCaptures":[3,4,5,6,7],"lazyCompile":true})},memory_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.operator.wordlike.cpp"},"4":{name:"keyword.operator.delete.array.cpp"},"5":{name:"keyword.operator.delete.array.bracket.cpp"},"6":{name:"keyword.operator.delete.cpp"},"7":{name:"keyword.operator.new.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:(delete)(?:\\p{space}+)?(\\[\\])|(delete))|(new))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},method_access:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\p{space}+)?(?:\\.(?:\\*|)|->(?:\\*|))(?:\\p{space}+)?)*)(?:\\p{space}+)?(~?(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"},"9":{patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\p{space}+)?(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},misc_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.other.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:constinit|requires|typedef|concept|export|module)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"#number_literal"},{include:"#ever_present_context"}]},namespace_alias:{captures:{"1":{name:"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{name:"entity.name.namespace.alias.cpp"},"3":{name:"keyword.operator.assignment.cpp"},"4":{name:"meta.declaration.namespace.alias.value.cpp"},"5":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"6":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{patterns:[{include:"#template_call_range"}]},"9":{name:"entity.name.namespace.cpp"},"10":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(namespace)\\p{space}+((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(=)(?:\\p{space}+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\7)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\19)|\\*+(?!/))*))\\18)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\23))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\24))*>)(?:(?=(\\p{space}*))\\25))?::)*(?:(?=(\\p{space}*))\\26))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(;)|\\n))","dgv",{"hiddenCaptures":[7,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}),name:"meta.declaration.namespace.alias.cpp"},namespace_block:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])namespace(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"0":{name:"meta.head.namespace.cpp"},"1":{name:"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},name:"meta.head.namespace.cpp",patterns:[{include:"#ever_present_context"},{include:"#attributes_context"},{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.namespace.cpp"},"6":{name:"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{name:"storage.modifier.inline.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)(?:(?=(\\p{space}*))\\21))?::)*(?:(?=(\\p{space}*))\\22))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(::)(?:\\p{space}+)?(inline))?","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]})}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.namespace.cpp"}},name:"meta.body.namespace.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.namespace.cpp",patterns:[{include:"$self"}]}]},noexcept_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=\n?$)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=\p{AHex})\.|\.(?=\p{AHex})))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![pP\p{AHex}])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[bB])([01](?:[01]|((?<=\p{AHex})'(?=\p{AHex})))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0)((?:[0-7]|((?<=\p{AHex})'(?=\p{AHex})))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![pP\p{AHex}])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{match:/(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])*/dgv},operator_overload:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?:(?=(\\p{space}*))\\11)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\23)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))(?:(?=(\\p{space}*))\\29))+|(?:(?=(\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\33)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\40)|\\*+(?!/))*))\\39)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)(?:(?=(\\p{space}*))\\55))?::)*))\\32))((?:(?:(?:(?=(\\p{space}*))\\57)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\61)|\\*+(?!/))*))\\60)(\\*/))(?:(?=(\\p{space}*))\\63))+|(?:(?=(\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\84))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\87)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\91)|\\*+(?!/))*))\\90)(\\*/))(?:(?=(\\p{space}*))\\93))+|(?:(?=(\\p{space}+))\\94)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\96)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\100)|\\*+(?!/))*))\\99)(\\*/))(?:(?=(\\p{space}*))\\102))+|(?:(?=(\\p{space}+))\\103)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\105)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\109)|\\*+(?!/))*))\\108)(\\*/))(?:(?=(\\p{space}*))\\111))+|(?:(?=(\\p{space}+))\\112)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:__(?:cdecl|clrcall|stdcall|fastcall|thiscall|vectorcall))?)((?:(?:(?:(?=(\\p{space}*))\\115)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\119)|\\*+(?!/))*))\\118)(\\*/))(?:(?=(\\p{space}*))\\121))+|(?:(?=(\\p{space}+))\\122)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:(?:(?=(\\p{space}*))\\124)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\128)|\\*+(?!/))*))\\127)(\\*/))(?:(?=(\\p{space}*))\\130))+|(?:(?=(\\p{space}+))\\131)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\134)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\138)|\\*+(?!/))*))\\137)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\141)|\\*+(?!/))*))\\140)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\150))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\151))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)(?:(?=(\\p{space}*))\\156))?::)*))\\133))(operator)((?:(?:(?:(?=(\\p{space}*))\\159)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\163)|\\*+(?!/))*))\\162)(\\*/))(?:(?=(\\p{space}*))\\165))+|(?:(?=(\\p{space}+))\\166)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\169)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\173)|\\*+(?!/))*))\\172)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\175)|\\*+(?!/))*))\\174)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\177)|\\*+(?!/))*))\\176)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\179)|\\*+(?!/))*))\\178)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\181)|\\*+(?!/))*))\\180)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\182))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\183))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\184))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\185))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\186))*>)(?:(?=(\\p{space}*))\\187))?::)*))\\168))(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[\\]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|[\\,\\+\\-\\!\\~\\*\\&\\/\\%\\<\\>\\^\\|\\=]))|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(((?:(?:(?:(?=(\\p{space}*))\\192)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\196)|\\*+(?!/))*))\\195)(\\*/))(?:(?=(\\p{space}*))\\198))+|(?:(?=(\\p{space}+))\\199)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\201)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\205)|\\*+(?!/))*))\\204)(\\*/))(?:(?=(\\p{space}*))\\207))+|(?:(?=(\\p{space}+))\\208)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\210)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\214)|\\*+(?!/))*))\\213)(\\*/))(?:(?=(\\p{space}*))\\216))+|(?:(?=(\\p{space}+))\\217)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?=(\\p{space}*))\\221)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\225)|\\*+(?!/))*))\\224)(\\*/))(?:(?=(\\p{space}*))\\227))+|(?:(?=(\\p{space}+))\\228)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))((?:(?:(?:(?=(\\p{space}*))\\231)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\235)|\\*+(?!/))*))\\234)(\\*/))(?:(?=(\\p{space}*))\\237))+|(?:(?=(\\p{space}+))\\238)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\<\\(])","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,17,18,20,21,23,26,27,29,30,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,60,61,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,87,90,91,93,94,96,99,100,102,103,105,108,109,111,112,115,118,119,121,122,124,127,128,130,131,133,134,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,162,163,165,166,168,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,192,195,196,198,199,201,204,205,207,208,210,213,214,216,217,221,224,225,227,228,231,234,235,237,238],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{include:"#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"16":{patterns:[{include:"#template_call_range"}]},"17":{},"18":{patterns:[{include:"#inline_comment"}]},"19":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{name:"comment.block.cpp"},"21":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{patterns:[{include:"#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{name:"storage.type.modifier.calling-convention.cpp"},"37":{patterns:[{include:"#inline_comment"}]},"38":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{name:"comment.block.cpp"},"40":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{patterns:[{include:"#inline_comment"}]},"42":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{name:"comment.block.cpp"},"44":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator.cpp"},{include:"#template_call_range"}]},"46":{patterns:[{include:"#template_call_range"}]},"47":{},"48":{name:"keyword.other.operator.overload.cpp"},"49":{patterns:[{include:"#inline_comment"}]},"50":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{name:"comment.block.cpp"},"52":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator-overload.cpp"},{include:"#template_call_range"}]},"54":{patterns:[{include:"#template_call_range"}]},"55":{},"56":{name:"entity.name.operator.cpp"},"57":{name:"entity.name.operator.type.cpp"},"58":{patterns:[{match:/\*/dgv,name:"entity.name.operator.type.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"#inline_comment"}]},"60":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{name:"comment.block.cpp"},"62":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{patterns:[{include:"#inline_comment"}]},"64":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{name:"comment.block.cpp"},"66":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{patterns:[{include:"#inline_comment"}]},"68":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{name:"comment.block.cpp"},"70":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{name:"entity.name.operator.type.array.cpp"},"72":{name:"entity.name.operator.custom-literal.cpp"},"73":{patterns:[{include:"#inline_comment"}]},"74":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{name:"comment.block.cpp"},"76":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{name:"entity.name.operator.custom-literal.cpp"},"78":{patterns:[{include:"#inline_comment"}]},"79":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{name:"comment.block.cpp"},"81":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.head.function.definition.special.operator-overload.cpp",patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},contentName:"meta.function.definition.parameters.special.operator-overload",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp"},"7":{name:"keyword.other.delete.function.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.body.function.definition.special.operator-overload.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.operator-overload.cpp",patterns:[{include:"$self"}]}]},operators:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/--/dgv,name:"keyword.operator.decrement.cpp"},{match:/\+\+/dgv,name:"keyword.operator.increment.cpp"},{match:/%=|\+=|-=|\*=|(?<!\()\/=/dgv,name:"keyword.operator.assignment.compound.cpp"},{match:/&=|\^=|<<=|>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.cpp"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.cpp"},{match:/!=|<=|>=|==|[\<\>]/dgv,name:"keyword.operator.comparison.cpp"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.cpp"},{match:/[\&\|\^\~]/dgv,name:"keyword.operator.bitwise.cpp"},{include:"#assignment_operator"},{match:/[\%\*\/\-\+]/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},over_qualified_types:{patterns:[{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})}]},parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#function_pointer_parameter"},{include:"#decltype"},{include:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))+)((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\,\\)\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{space}\\(\\,\\:])((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\)\\,\\[\\=\\n])","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#ever_present_context"}]},parameter_class:{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parameter_enum:{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parameter_or_maybe_value:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))+)((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|(pthread_(?:rwlockattr_t|mutexattr_t|condattr_t|rwlock_t|mutex_t|cond_t|attr_t|once_t|key_t|t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\,\\)\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"#function_call"},{include:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{space}\\(\\,\\:])((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=(?:[\\)\\,\\[\\=]|//|(?:\\n|(?=\\n?$))))","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parameter_struct:{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parameter_union:{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\34)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=(\\p{space}*))\\37))+)|(?:(?=(\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)((?:((?:(?:(?=(\\p{space}*))\\42)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=(\\p{space}*))\\45))+)|(?:(?=(\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=(\\p{space}*))\\49)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=(\\p{space}*))\\52))+)|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\]((?:((?:(?:(?=(\\p{space}*))\\56)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=(\\p{space}*))\\59))+)|(?:(?=(\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\,\\)\\n])","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16,20,21,22,23,24,27,28,29,30,31,34,35,36,37,38,42,43,44,45,46,49,50,51,52,53,56,57,58,59,60]})},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"meta.preprocessor.pragma.cpp",patterns:[{include:"#comments"},{include:"#string_context"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\-\$]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.cpp"},{include:"#preprocessor_number_literal"},{include:"#line_continuation_character"}]},pragma_mark:{captures:{"1":{name:"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{name:"entity.name.tag.pragma-mark.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(^((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\p{space}+mark)\\p{space}+([^\\n]*)","dgv",{"hiddenCaptures":[4,5,6,7,8]}),name:"meta.preprocessor.pragma.cpp"},predefined_macros:{patterns:[{captures:{"1":{name:"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b","dgv",{"lazyCompile":true})},{match:/\b__([A-Z_]+)__\b/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"#language_constants"},{include:"#string_context"},{include:"#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"#predefined_macros"},{include:"#macro_name"},{include:"#line_continuation_character"}]},preprocessor_conditional_defined:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])defined(?![\p{L}\p{M}\p{N}\p{Pc}]))(\()/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.defined.cpp"},"2":{name:"punctuation.section.parens.control.defined.cpp"}},end:/(?:\)|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?(if(?:(?:ndef|def)|))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"},"6":{}},contentName:"meta.preprocessor.conditional",end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_conditional_standalone:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"punctuation.definition.directive.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])e(?:ndif|lse|lif)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]}),name:"keyword.control.directive.$4.cpp"},preprocessor_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"}]},qualified_type:{captures:{"0":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"1":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"9":{patterns:[{include:"#inline_comment"}]},"10":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\5)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/(?:(?=(\\p{space}*))\\8))+)|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\19)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)(?:(?=(\\p{space}*))\\41))?::)*))\\18))((?:((?:(?:(?=(\\p{space}*))\\44)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/(?:(?=(\\p{space}*))\\47))+)|(?:(?=(\\p{space}+))\\48)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\53)|\\*+(?!/))*))\\52)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\55)|\\*+(?!/))*))\\54)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\57)|\\*+(?!/))*))\\56)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\60))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.])","dgv",{"hiddenCaptures":[1,5,6,7,8,9,12,13,14,15,16,18,19,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,45,46,47,48,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],"lazyCompile":true}),name:"meta.qualified_type.cpp"},qualifiers_and_specifiers_post_parameters:{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.modifier.specifier.functional.post-parameters.$5.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?:(?=(\\p{space}*))\\2)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=(\\p{space}*))\\5))+|(?:(?=(\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))+)(?=\\p{space}*[\\{\\;\\n\\r\\=])","dgv",{"hiddenCaptures":[2,3,4,5,6]})},scope_resolution:{captures:{"0":{patterns:[{include:"#scope_resolution_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_call:{captures:{"0":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_call_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_function_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_function_definition_operator_overload:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_function_definition_operator_overload_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_namespace_alias:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_namespace_alias_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.alias.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_namespace_block:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_namespace_block_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.block.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_namespace_using:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_namespace_using_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.using.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_parameter:{captures:{"0":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_parameter_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.parameter.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_template_call:{captures:{"0":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_template_call_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},scope_resolution_template_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=(\\p{space}*))\\20))?::)*(?:(?=(\\p{space}*))\\21)","dgv",{"hiddenCaptures":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]})},scope_resolution_template_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=(\\p{space}*))\\76))?(::)","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"lazyCompile":true})},semicolon:{match:/;/dgv,name:"punctuation.terminator.statement.cpp"},simple_type:{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{},"13":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"14":{patterns:[{include:"#inline_comment"}]},"15":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"16":{patterns:[{include:"#inline_comment"}]},"17":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\6)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=(\\p{space}*))\\9))+)|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)(?:(?=(\\p{space}*))\\42))?::)*))\\19))((?:((?:(?:(?=(\\p{space}*))\\45)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=(\\p{space}*))\\48))+)|(?:(?=(\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:((?:(?:(?=(\\p{space}*))\\69)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/(?:(?=(\\p{space}*))\\72))+)|(?:(?=(\\p{space}+))\\73)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\76)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/(?:(?=(\\p{space}*))\\79))+)|(?:(?=(\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?","dgv",{"hiddenCaptures":[2,6,7,8,9,10,13,14,15,16,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,70,71,72,73,76,77,78,79,80],"lazyCompile":true})},single_line_macro:{captures:{"0":{patterns:[{include:"#macro"},{include:"#comments"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))#define[^\\n]*(?<!\\\\)(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},sizeof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},sizeof_variadic_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},square_brackets:{begin:/([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.other.object"},"2":{name:"punctuation.definition.begin.bracket.square"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},standard_declares:{patterns:[{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})}]},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.other.static_assert.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},patterns:[{begin:/(,)(?:\p{space}+)?(?=(?:L|u8|u|U(?:\p{space}+)?")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},end:/(?=\))/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},std_space:{captures:{"0":{patterns:[{include:"#inline_comment"}]},"1":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=(\\p{space}*))\\2)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=(\\p{space}*))\\5))+)|(?:(?=(\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[2,3,4,5,6]})},storage_specifiers:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"storage.modifier.specifier.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},storage_types:{patterns:[{include:"#storage_specifiers"},{include:"#inline_builtin_storage_type"},{include:"#decltype"},{include:"#typename"}]},string_context:{patterns:[{begin:/((?:u|u8|[UL])?)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(")(?:((?:[a-zA-Z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.cpp",patterns:[{match:/\\(?:u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.cpp"},{match:/\\['"\?\\abfnrtv]/dgv,name:"constant.character.escape.cpp"},{match:/\\[0-7]{1,3}/dgv,name:"constant.character.escape.cpp"},{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x(?:\p{AHex}*|)))/dgv},{include:"#string_escapes_context_c"}]},{begin:/(?<!\p{AHex})((?:u|u8|[UL])?)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(')(?:((?:[a-zA-Z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.character.cpp"}},name:"string.quoted.single.cpp",patterns:[{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x(?:\p{AHex}*|)))/dgv},{include:"#string_escapes_context_c"},{include:"#line_continuation_character"}]},{begin:/((?:[uUL]8?)?R)"(?:(?:_r|re)|regex)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:(?:_r|re)|regex)"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.raw.regex.cpp",patterns:[{include:"source.regexp.python"}]},{begin:/((?:[uUL]8?)?R)"(?:glsl|GLSL)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:glsl|GLSL)"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.glsl.cpp",patterns:[{include:"source.glsl"}]},{begin:/((?:[uUL]8?)?R)"(?:[pP]?(?:sql|SQL)|d[dm]l)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:[pP]?(?:sql|SQL)|d[dm]l)"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.sql.cpp",patterns:[{include:"source.sql"}]},{begin:/((?:u|u8|[UL])?R)"(?:([^ \(\)\\\t]{0,16})|([^ \(\)\\\t]*))\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"},"1":{name:"meta.encoding"},"3":{name:"invalid.illegal.delimiter-too-long"}},end:/(\)\2(\3)")(?:((?:[a-zA-Z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end"},"2":{name:"invalid.illegal.delimiter-too-long"},"3":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.raw"}]},string_escapes_context_c:{patterns:[{match:/\\([\\abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x\p{AHex}{0,2}|u\p{AHex}{0,4}|U\p{AHex}{0,8})/dgv,name:"constant.character.escape"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape"},{match:/(?!%')(?!%")%(\p{Nd}+\$)?[\#0\- \+']*[\,\;\:_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|[ljtzqL]|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn\%]/dgv,name:"constant.other.placeholder"}]},struct_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},struct_declare:{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},switch_conditional_parentheses:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},name:"meta.conditional.switch.cpp",patterns:[{include:"#evaluation_context"}]},switch_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.switch.cpp"},"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.switch.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.switch.cpp"}},name:"meta.head.switch.cpp",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.switch.cpp"}},name:"meta.body.switch.cpp",patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_argument_defaulted:{captures:{"1":{name:"storage.type.template.argument.$1.cpp"},"2":{name:"entity.name.type.template.cpp"},"3":{name:"keyword.operator.assignment.cpp"}},match:/(?<=[\<\,])(?:\p{space}+)?((?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)\p{space}+((?:(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)?)(?:\p{space}+)?(=)/dgv},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"#language_constants"},{include:"#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma_in_template_argument"},{include:"#qualified_type"}]},template_call_innards:{captures:{"0":{patterns:[{include:"#template_call_range"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=(\\p{space}*))\\32)","dgv",{"hiddenCaptures":[4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]}),name:"meta.template.call.cpp"},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},template_definition:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)/dgv,beginCaptures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},name:"meta.template.definition.cpp",patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?:\p{space}+)?</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_argument:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"storage.type.template.argument.$3.cpp"},"4":{patterns:[{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"storage.type.template.argument.$0.cpp"}]},"5":{name:"entity.name.type.template.cpp"},"6":{name:"storage.type.template.argument.$6.cpp"},"7":{name:"punctuation.vararg-ellipses.template.definition.cpp"},"8":{name:"entity.name.type.template.cpp"},"9":{name:"storage.type.template.cpp"},"10":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{name:"storage.type.template.argument.$11.cpp"},"12":{name:"entity.name.type.template.cpp"},"13":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{name:"storage.type.template.argument.$14.cpp"},"15":{name:"entity.name.type.template.cpp"},"16":{name:"keyword.operator.assignment.cpp"},"17":{name:"punctuation.separator.delimiter.comma.template.argument.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)|((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\p{space}+)+)((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*))|((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?(\\.\\.\\.)(?:\\p{space}+)?((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*))|(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(template)(?:\\p{space}+)?(<)(?:\\p{space}+)?((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(>)(?:\\p{space}+)?(class|typename)(?:\\p{space}+((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*))?)(?:\\p{space}+)?(?:(=)(?:\\p{space}+)?(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?(?:(,)|(?=>|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},template_definition_context:{patterns:[{include:"#scope_resolution_template_definition_inner_generated"},{include:"#template_definition_argument"},{include:"#template_argument_defaulted"},{include:"#template_call_innards"},{include:"#evaluation_context"}]},template_explicit_instantiation:{captures:{"1":{name:"storage.modifier.specifier.extern.cpp"},"2":{name:"storage.type.template.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(extern)\p{space}+)?(template)\p{space}+/dgv,name:"meta.template.explicit-instantiation.cpp"},template_isolated_definition:{captures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{name:"meta.template.definition.cpp",patterns:[{include:"#template_definition_context"}]},"4":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)([^\n]*)(>)(?:\p{space}+)?(?=\n?$)/dgv},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},the_this_keyword:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"variable.language.this.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},type_alias:{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.type.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"4":{name:"keyword.operator.assignment.cpp"},"5":{name:"keyword.other.typename.cpp"},"6":{patterns:[{include:"#storage_specifiers"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"9":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"14":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"15":{patterns:[{include:"#template_call_range"}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"20":{name:"meta.declaration.type.alias.value.unknown.cpp",patterns:[{include:"#evaluation_context"}]},"21":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"22":{patterns:[{include:"#inline_comment"}]},"23":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"24":{patterns:[{include:"#inline_comment"}]},"25":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"26":{patterns:[{include:"#inline_comment"}]},"27":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"28":{name:"punctuation.definition.begin.bracket.square.cpp"},"29":{patterns:[{include:"#evaluation_context"}]},"30":{name:"punctuation.definition.end.bracket.square.cpp"},"31":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(using)\\p{space}+(?!namespace)((?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?(?:\\p{space}+)?(=)(?:\\p{space}+)?((?:typename)?)(?:\\p{space}+)?((?:(?:((?:(?:(?=(\\p{space}*))\\8)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/(?:(?=(\\p{space}*))\\11))+)|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\p{space}+)+)?(?:((?:(?=(\\p{space}*))\\14)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\18)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/(?:(?=(\\p{space}*))\\21))+)|(?:(?=(\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\25)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=(\\p{space}*))\\28))+)|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\32)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\48))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)(?:(?=(\\p{space}*))\\54))?::)*))\\31))((?:((?:(?:(?=(\\p{space}*))\\57)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/(?:(?=(\\p{space}*))\\60))+)|(?:(?=(\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))|([^\\n]*(?<!;)))(?:(((?:((?:(?:(?=(\\p{space}*))\\82)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/(?:(?=(\\p{space}*))\\85))+)|(?:(?=(\\p{space}+))\\86)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\89)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\91)|\\*+(?!/))*))\\90)\\*/(?:(?=(\\p{space}*))\\92))+)|(?:(?=(\\p{space}+))\\93)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])((?:((?:(?:(?=(\\p{space}*))\\96)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\98)|\\*+(?!/))*))\\97)\\*/(?:(?=(\\p{space}*))\\99))+)|(?:(?=(\\p{space}+))\\100)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)?(?:\\p{space}+)?(?:(;)|\\n)","dgv",{"hiddenCaptures":[8,9,10,11,12,14,18,19,20,21,22,25,26,27,28,29,31,32,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,82,83,84,85,86,89,90,91,92,93,96,97,98,99,100],"lazyCompile":true}),name:"meta.declaration.type.alias.cpp"},type_casting_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"3":{name:"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=(\\p{space}*))\\3)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=(\\p{space}*))\\6))+)|(?:(?=(\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:reinterpret_cast|dynamic_cast|static_cast|const_cast)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,4,5,6,7]})},typedef_class:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])class(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_function_pointer:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=[^\n]*\(\*\p{space}*(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\p{space}*\))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{patterns:[{include:"#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>\\n])(?!\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]}]},typedef_struct:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])struct(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_union:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])union(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:(?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:(?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typeid_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},typename:{captures:{"1":{name:"storage.modifier.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"13":{patterns:[{include:"#template_call_range"}]},"14":{},"15":{patterns:[{include:"#inline_comment"}]},"16":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"17":{}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typename(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\11)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=(\\p{space}*))\\14))+)|(?:(?=(\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?=(\\p{space}*))\\17)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=(\\p{space}*))\\21)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/(?:(?=(\\p{space}*))\\24))+)|(?:(?=(\\p{space}+))\\25)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=(\\p{space}*))\\28)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/(?:(?=(\\p{space}*))\\31))+)|(?:(?=(\\p{space}+))\\32)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\35)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\56))*>)(?:(?=(\\p{space}*))\\57))?::)*))\\34))((?:((?:(?:(?=(\\p{space}*))\\60)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/(?:(?=(\\p{space}*))\\63))+)|(?:(?=(\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\73)|\\*+(?!/))*))\\72)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\75)|\\*+(?!/))*))\\74)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"hiddenCaptures":[4,5,6,7,8,11,12,13,14,15,17,21,22,23,24,25,28,29,30,31,32,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],"lazyCompile":true})},undef:{captures:{"1":{name:"keyword.control.directive.undef.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{patterns:[{include:"#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{name:"entity.name.function.preprocessor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(^((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?undef\\b)((?:((?:(?:(?=(\\p{space}*))\\12)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=(\\p{space}*))\\15))+)|(?:(?=(\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[4,5,6,7,8,12,13,14,15,16]}),name:"meta.preprocessor.undef.cpp"},union_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},union_declare:{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"10":{patterns:[{include:"#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\4)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=(\\p{space}*))\\7))+)|(?:(?=(\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:[\\&\\*]((?:((?:(?:(?=(\\p{space}*))\\20)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=(\\p{space}*))\\23))+)|(?:(?=(\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*[\\&\\*])?((?:((?:(?:(?=(\\p{space}*))\\27)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=(\\p{space}*))\\30))+)|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=(\\p{space}*))\\35)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=(\\p{space}*))\\38))+)|(?:(?=(\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"hiddenCaptures":[4,5,6,7,8,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31,35,36,37,38,39]})},using_name:{captures:{"1":{name:"keyword.other.using.directive.cpp"}},match:/(using)\p{space}+(?!namespace\b)/dgv},using_namespace:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(using)\\p{space}+(namespace)\\p{space}+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\5)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=((?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)(?:(?=(\\p{space}*))\\23))?::)*(?:(?=(\\p{space}*))\\24))?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[a-zA-Z0-9_]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?=[\\;\\n])","dgv",{"hiddenCaptures":[5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}),beginCaptures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"4":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{patterns:[{include:"#template_call_range"}]},"6":{},"7":{name:"entity.name.namespace.cpp"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"},vararg_ellipses:{match:/(?<!\.)\.\.\.(?!\.)/dgv,name:"punctuation.vararg-ellipses.cpp"},wordlike_operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},scopeName:"source.cpp",embeddedLangs:["cpp-macro","regexp","glsl","sql"],aliases:["c++"]})
|
|
8
8
|
|
|
9
9
|
export default [
|
|
10
10
|
...cpp_macro,
|