Path: blob/main/extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json
3314 views
{1"information_for_contributors": [2"This file has been converted from https://github.com/NVIDIA/cuda-cpp-grammar/blob/master/syntaxes/cuda-cpp.tmLanguage.json",3"If you want to provide a fix or improvement, please create a pull request against the original repository.",4"Once accepted there, we are happy to receive an update request."5],6"version": "https://github.com/NVIDIA/cuda-cpp-grammar/commit/81e88eaec5170aa8585736c63627c73e3589998c",7"name": "CUDA C++",8"scopeName": "source.cuda-cpp",9"patterns": [10{11"include": "#ever_present_context"12},13{14"include": "#constructor_root"15},16{17"include": "#destructor_root"18},19{20"include": "#function_definition"21},22{23"include": "#operator_overload"24},25{26"include": "#using_namespace"27},28{29"include": "#type_alias"30},31{32"include": "#using_name"33},34{35"include": "#namespace_alias"36},37{38"include": "#namespace_block"39},40{41"include": "#extern_block"42},43{44"include": "#typedef_class"45},46{47"include": "#typedef_struct"48},49{50"include": "#typedef_union"51},52{53"include": "#misc_keywords"54},55{56"include": "#standard_declares"57},58{59"include": "#class_block"60},61{62"include": "#struct_block"63},64{65"include": "#union_block"66},67{68"include": "#enum_block"69},70{71"include": "#template_isolated_definition"72},73{74"include": "#template_definition"75},76{77"include": "#access_control_keywords"78},79{80"include": "#block"81},82{83"include": "#static_assert"84},85{86"include": "#assembly"87},88{89"include": "#function_pointer"90},91{92"include": "#evaluation_context"93}94],95"repository": {96"access_control_keywords": {97"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))",98"captures": {99"1": {100"patterns": [101{102"include": "#inline_comment"103}104]105},106"2": {107"patterns": [108{109"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",110"captures": {111"1": {112"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"113},114"2": {115"name": "comment.block.cuda-cpp"116},117"3": {118"patterns": [119{120"match": "\\*\\/",121"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"122},123{124"match": "\\*",125"name": "comment.block.cuda-cpp"126}127]128}129}130}131]132},133"3": {134"name": "storage.type.modifier.access.control.$4.cuda-cpp"135},136"4": {},137"5": {138"name": "punctuation.separator.colon.access.control.cuda-cpp"139}140}141},142"alignas_attribute": {143"begin": "alignas\\(",144"end": "\\)",145"beginCaptures": {146"0": {147"name": "punctuation.section.attribute.begin.cuda-cpp"148}149},150"endCaptures": {151"0": {152"name": "punctuation.section.attribute.end.cuda-cpp"153}154},155"name": "support.other.attribute.cuda-cpp",156"patterns": [157{158"include": "#attributes_context"159},160{161"begin": "\\(",162"end": "\\)",163"beginCaptures": {},164"endCaptures": {},165"patterns": [166{167"include": "#attributes_context"168},169{170"include": "#string_context"171}172]173},174{175"match": "(using)(?:\\s)+((?<!\\w)(?:[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}))*(?!\\w))",176"captures": {177"1": {178"name": "keyword.other.using.directive.cuda-cpp"179},180"2": {181"name": "entity.name.namespace.cuda-cpp"182}183}184},185{186"match": ",",187"name": "punctuation.separator.attribute.cuda-cpp"188},189{190"match": ":",191"name": "punctuation.accessor.attribute.cuda-cpp"192},193{194"match": "(?<!\\w)(?:[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}))*(?!\\w)(?=::)",195"name": "entity.name.namespace.cuda-cpp"196},197{198"match": "(?<!\\w)(?:[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}))*(?!\\w)",199"name": "entity.other.attribute.$0.cuda-cpp"200},201{202"include": "#number_literal"203}204]205},206"alignas_operator": {207"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",208"end": "\\)",209"beginCaptures": {210"1": {211"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignas.cuda-cpp"212},213"2": {214"patterns": [215{216"include": "#inline_comment"217}218]219},220"3": {221"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"222},223"4": {224"name": "comment.block.cuda-cpp"225},226"5": {227"patterns": [228{229"match": "\\*\\/",230"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"231},232{233"match": "\\*",234"name": "comment.block.cuda-cpp"235}236]237},238"6": {239"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cuda-cpp"240}241},242"endCaptures": {243"0": {244"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cuda-cpp"245}246},247"contentName": "meta.arguments.operator.alignas",248"patterns": [249{250"include": "#evaluation_context"251}252]253},254"alignof_operator": {255"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",256"end": "\\)",257"beginCaptures": {258"1": {259"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignof.cuda-cpp"260},261"2": {262"patterns": [263{264"include": "#inline_comment"265}266]267},268"3": {269"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"270},271"4": {272"name": "comment.block.cuda-cpp"273},274"5": {275"patterns": [276{277"match": "\\*\\/",278"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"279},280{281"match": "\\*",282"name": "comment.block.cuda-cpp"283}284]285},286"6": {287"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cuda-cpp"288}289},290"endCaptures": {291"0": {292"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cuda-cpp"293}294},295"contentName": "meta.arguments.operator.alignof",296"patterns": [297{298"include": "#evaluation_context"299}300]301},302"assembly": {303"begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)",304"end": "(?!\\G)",305"beginCaptures": {306"1": {307"name": "storage.type.asm.cuda-cpp"308},309"2": {310"name": "storage.modifier.cuda-cpp"311}312},313"endCaptures": {},314"name": "meta.asm.cuda-cpp",315"patterns": [316{317"match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)",318"captures": {319"1": {320"patterns": [321{322"include": "#inline_comment"323}324]325},326"2": {327"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"328},329"3": {330"name": "comment.block.cuda-cpp"331},332"4": {333"patterns": [334{335"match": "\\*\\/",336"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"337},338{339"match": "\\*",340"name": "comment.block.cuda-cpp"341}342]343}344}345},346{347"include": "#comments"348},349{350"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(",351"end": "\\)",352"beginCaptures": {353"0": {354"name": "punctuation.section.parens.begin.bracket.round.assembly.cuda-cpp"355},356"1": {357"patterns": [358{359"include": "#inline_comment"360}361]362},363"2": {364"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"365},366"3": {367"name": "comment.block.cuda-cpp"368},369"4": {370"patterns": [371{372"match": "\\*\\/",373"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"374},375{376"match": "\\*",377"name": "comment.block.cuda-cpp"378}379]380}381},382"endCaptures": {383"0": {384"name": "punctuation.section.parens.end.bracket.round.assembly.cuda-cpp"385}386},387"patterns": [388{389"begin": "(R?)(\")",390"end": "\"",391"beginCaptures": {392"1": {393"name": "meta.encoding.cuda-cpp"394},395"2": {396"name": "punctuation.definition.string.begin.assembly.cuda-cpp"397}398},399"endCaptures": {400"0": {401"name": "punctuation.definition.string.end.assembly.cuda-cpp"402}403},404"name": "string.quoted.double.cuda-cpp",405"contentName": "meta.embedded.assembly",406"patterns": [407{408"include": "source.asm"409},410{411"include": "source.x86"412},413{414"include": "source.x86_64"415},416{417"include": "source.arm"418},419{420"include": "#backslash_escapes"421},422{423"include": "#string_escaped_char"424}425]426},427{428"begin": "\\(",429"end": "\\)",430"beginCaptures": {431"0": {432"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cuda-cpp"433}434},435"endCaptures": {436"0": {437"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cuda-cpp"438}439},440"patterns": [441{442"include": "#evaluation_context"443}444]445},446{447"match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[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}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]",448"captures": {449"1": {450"patterns": [451{452"include": "#inline_comment"453}454]455},456"2": {457"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"458},459"3": {460"name": "comment.block.cuda-cpp"461},462"4": {463"patterns": [464{465"match": "\\*\\/",466"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"467},468{469"match": "\\*",470"name": "comment.block.cuda-cpp"471}472]473},474"5": {475"name": "variable.other.asm.label.cuda-cpp"476},477"6": {478"patterns": [479{480"include": "#inline_comment"481}482]483},484"7": {485"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"486},487"8": {488"name": "comment.block.cuda-cpp"489},490"9": {491"patterns": [492{493"match": "\\*\\/",494"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"495},496{497"match": "\\*",498"name": "comment.block.cuda-cpp"499}500]501}502}503},504{505"match": ":",506"name": "punctuation.separator.delimiter.colon.assembly.cuda-cpp"507},508{509"include": "#comments"510}511]512}513]514},515"assignment_operator": {516"match": "\\=",517"name": "keyword.operator.assignment.cuda-cpp"518},519"attributes_context": {520"patterns": [521{522"include": "#cpp_attributes"523},524{525"include": "#gcc_attributes"526},527{528"include": "#ms_attributes"529},530{531"include": "#alignas_attribute"532}533]534},535"backslash_escapes": {536"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",537"name": "constant.character.escape"538},539"block": {540"begin": "{",541"end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",542"beginCaptures": {543"0": {544"name": "punctuation.section.block.begin.bracket.curly.cuda-cpp"545}546},547"endCaptures": {548"0": {549"name": "punctuation.section.block.end.bracket.curly.cuda-cpp"550}551},552"name": "meta.block.cuda-cpp",553"patterns": [554{555"include": "#function_body_context"556}557]558},559"block_comment": {560"begin": "\\s*+(\\/\\*)",561"end": "\\*\\/",562"beginCaptures": {563"1": {564"name": "punctuation.definition.comment.begin.cuda-cpp"565}566},567"endCaptures": {568"0": {569"name": "punctuation.definition.comment.end.cuda-cpp"570}571},572"name": "comment.block.cuda-cpp"573},574"builtin_storage_type_initilizer": {575"begin": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)(?:\\s)*+(?<!\\w)(\\()",576"end": "\\)",577"beginCaptures": {578"1": {579"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"580},581"2": {582"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"583},584"3": {585"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"586},587"4": {588"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"589},590"5": {591"name": "punctuation.section.arguments.begin.bracket.round.initializer.cuda-cpp"592}593},594"endCaptures": {595"0": {596"name": "punctuation.section.arguments.end.bracket.round.initializer.cuda-cpp"597}598},599"patterns": [600{601"include": "#evaluation_context"602}603]604},605"case_statement": {606"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)case(?!\\w))",607"end": ":",608"beginCaptures": {609"1": {610"patterns": [611{612"include": "#inline_comment"613}614]615},616"2": {617"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"618},619"3": {620"name": "comment.block.cuda-cpp"621},622"4": {623"patterns": [624{625"match": "\\*\\/",626"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"627},628{629"match": "\\*",630"name": "comment.block.cuda-cpp"631}632]633},634"5": {635"name": "keyword.control.case.cuda-cpp"636}637},638"endCaptures": {639"0": {640"name": "punctuation.separator.colon.case.cuda-cpp"641}642},643"name": "meta.conditional.case.cuda-cpp",644"patterns": [645{646"include": "#evaluation_context"647},648{649"include": "#c_conditional_context"650}651]652},653"class_block": {654"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",655"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",656"beginCaptures": {657"0": {658"name": "meta.head.class.cuda-cpp"659},660"1": {661"name": "storage.type.$1.cuda-cpp"662},663"2": {664"patterns": [665{666"include": "#inline_comment"667}668]669},670"3": {671"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"672},673"4": {674"name": "comment.block.cuda-cpp"675},676"5": {677"patterns": [678{679"match": "\\*\\/",680"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"681},682{683"match": "\\*",684"name": "comment.block.cuda-cpp"685}686]687},688"6": {689"patterns": [690{691"include": "#attributes_context"692},693{694"include": "#number_literal"695}696]697},698"7": {699"patterns": [700{701"include": "#inline_comment"702}703]704},705"8": {706"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"707},708"9": {709"name": "comment.block.cuda-cpp"710},711"10": {712"patterns": [713{714"match": "\\*\\/",715"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"716},717{718"match": "\\*",719"name": "comment.block.cuda-cpp"720}721]722},723"11": {724"patterns": [725{726"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",727"captures": {728"1": {729"name": "storage.type.modifier.final.cuda-cpp"730},731"2": {732"patterns": [733{734"include": "#inline_comment"735}736]737},738"3": {739"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"740},741"4": {742"name": "comment.block.cuda-cpp"743},744"5": {745"patterns": [746{747"match": "\\*\\/",748"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"749},750{751"match": "\\*",752"name": "comment.block.cuda-cpp"753}754]755}756}757},758{759"match": "((?<!\\w)(?:[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}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",760"captures": {761"1": {762"name": "entity.name.type.class.cuda-cpp"763},764"2": {765"patterns": [766{767"include": "#inline_comment"768}769]770},771"3": {772"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"773},774"4": {775"name": "comment.block.cuda-cpp"776},777"5": {778"patterns": [779{780"match": "\\*\\/",781"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"782},783{784"match": "\\*",785"name": "comment.block.cuda-cpp"786}787]788},789"6": {790"name": "storage.type.modifier.final.cuda-cpp"791},792"7": {793"patterns": [794{795"include": "#inline_comment"796}797]798},799"8": {800"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"801},802"9": {803"name": "comment.block.cuda-cpp"804},805"10": {806"patterns": [807{808"match": "\\*\\/",809"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"810},811{812"match": "\\*",813"name": "comment.block.cuda-cpp"814}815]816}817}818},819{820"match": "DLLEXPORT",821"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"822},823{824"match": "(?:[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}))*",825"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"826}827]828},829"12": {830"patterns": [831{832"include": "#inline_comment"833}834]835},836"13": {837"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"838},839"14": {840"name": "comment.block.cuda-cpp"841},842"15": {843"patterns": [844{845"match": "\\*\\/",846"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"847},848{849"match": "\\*",850"name": "comment.block.cuda-cpp"851}852]853},854"16": {855"patterns": [856{857"include": "#inline_comment"858}859]860},861"17": {862"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"863},864"18": {865"name": "comment.block.cuda-cpp"866},867"19": {868"patterns": [869{870"match": "\\*\\/",871"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"872},873{874"match": "\\*",875"name": "comment.block.cuda-cpp"876}877]878},879"20": {880"name": "punctuation.separator.colon.inheritance.cuda-cpp"881}882},883"endCaptures": {884"1": {885"name": "punctuation.terminator.statement.cuda-cpp"886},887"2": {888"name": "punctuation.terminator.statement.cuda-cpp"889}890},891"name": "meta.block.class.cuda-cpp",892"patterns": [893{894"begin": "\\G ?",895"end": "(?:\\{|<%|\\?\\?<|(?=;))",896"beginCaptures": {},897"endCaptures": {898"0": {899"name": "punctuation.section.block.begin.bracket.curly.class.cuda-cpp"900}901},902"name": "meta.head.class.cuda-cpp",903"patterns": [904{905"include": "#ever_present_context"906},907{908"include": "#inheritance_context"909},910{911"include": "#template_call_range"912}913]914},915{916"begin": "(?<=\\{|<%|\\?\\?<)",917"end": "\\}|%>|\\?\\?>",918"beginCaptures": {},919"endCaptures": {920"0": {921"name": "punctuation.section.block.end.bracket.curly.class.cuda-cpp"922}923},924"name": "meta.body.class.cuda-cpp",925"patterns": [926{927"include": "#function_pointer"928},929{930"include": "#static_assert"931},932{933"include": "#constructor_inline"934},935{936"include": "#destructor_inline"937},938{939"include": "$self"940}941]942},943{944"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",945"end": "[\\s]*(?=;)",946"beginCaptures": {},947"endCaptures": {},948"name": "meta.tail.class.cuda-cpp",949"patterns": [950{951"include": "$self"952}953]954}955]956},957"class_declare": {958"match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",959"captures": {960"1": {961"name": "storage.type.class.declare.cuda-cpp"962},963"2": {964"patterns": [965{966"include": "#inline_comment"967}968]969},970"3": {971"patterns": [972{973"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",974"captures": {975"1": {976"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"977},978"2": {979"name": "comment.block.cuda-cpp"980},981"3": {982"patterns": [983{984"match": "\\*\\/",985"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"986},987{988"match": "\\*",989"name": "comment.block.cuda-cpp"990}991]992}993}994}995]996},997"4": {998"name": "entity.name.type.class.cuda-cpp"999},1000"5": {1001"patterns": [1002{1003"match": "\\*",1004"name": "storage.modifier.pointer.cuda-cpp"1005},1006{1007"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",1008"captures": {1009"1": {1010"patterns": [1011{1012"include": "#inline_comment"1013}1014]1015},1016"2": {1017"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1018},1019"3": {1020"name": "comment.block.cuda-cpp"1021},1022"4": {1023"patterns": [1024{1025"match": "\\*\\/",1026"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1027},1028{1029"match": "\\*",1030"name": "comment.block.cuda-cpp"1031}1032]1033}1034},1035"name": "invalid.illegal.reference-type.cuda-cpp"1036},1037{1038"match": "\\&",1039"name": "storage.modifier.reference.cuda-cpp"1040}1041]1042},1043"6": {1044"patterns": [1045{1046"include": "#inline_comment"1047}1048]1049},1050"7": {1051"patterns": [1052{1053"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",1054"captures": {1055"1": {1056"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1057},1058"2": {1059"name": "comment.block.cuda-cpp"1060},1061"3": {1062"patterns": [1063{1064"match": "\\*\\/",1065"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1066},1067{1068"match": "\\*",1069"name": "comment.block.cuda-cpp"1070}1071]1072}1073}1074}1075]1076},1077"8": {1078"patterns": [1079{1080"include": "#inline_comment"1081}1082]1083},1084"9": {1085"patterns": [1086{1087"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",1088"captures": {1089"1": {1090"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1091},1092"2": {1093"name": "comment.block.cuda-cpp"1094},1095"3": {1096"patterns": [1097{1098"match": "\\*\\/",1099"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1100},1101{1102"match": "\\*",1103"name": "comment.block.cuda-cpp"1104}1105]1106}1107}1108}1109]1110},1111"10": {1112"patterns": [1113{1114"include": "#inline_comment"1115}1116]1117},1118"11": {1119"patterns": [1120{1121"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",1122"captures": {1123"1": {1124"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1125},1126"2": {1127"name": "comment.block.cuda-cpp"1128},1129"3": {1130"patterns": [1131{1132"match": "\\*\\/",1133"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1134},1135{1136"match": "\\*",1137"name": "comment.block.cuda-cpp"1138}1139]1140}1141}1142}1143]1144},1145"12": {1146"name": "variable.other.object.declare.cuda-cpp"1147},1148"13": {1149"patterns": [1150{1151"include": "#inline_comment"1152}1153]1154},1155"14": {1156"patterns": [1157{1158"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",1159"captures": {1160"1": {1161"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1162},1163"2": {1164"name": "comment.block.cuda-cpp"1165},1166"3": {1167"patterns": [1168{1169"match": "\\*\\/",1170"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1171},1172{1173"match": "\\*",1174"name": "comment.block.cuda-cpp"1175}1176]1177}1178}1179}1180]1181}1182}1183},1184"comma": {1185"match": ",",1186"name": "punctuation.separator.delimiter.comma.cuda-cpp"1187},1188"comma_in_template_argument": {1189"match": ",",1190"name": "punctuation.separator.delimiter.comma.template.argument.cuda-cpp"1191},1192"comments": {1193"patterns": [1194{1195"begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)",1196"end": "(?<=\\n)(?<!\\\\\\n)",1197"beginCaptures": {1198"1": {1199"name": "punctuation.definition.comment.documentation.cuda-cpp"1200}1201},1202"endCaptures": {},1203"name": "comment.line.double-slash.documentation.cuda-cpp",1204"patterns": [1205{1206"include": "#line_continuation_character"1207},1208{1209"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1210"name": "storage.type.class.doxygen.cuda-cpp"1211},1212{1213"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",1214"captures": {1215"1": {1216"name": "storage.type.class.doxygen.cuda-cpp"1217},1218"2": {1219"name": "markup.italic.doxygen.cuda-cpp"1220}1221}1222},1223{1224"match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",1225"captures": {1226"1": {1227"name": "storage.type.class.doxygen.cuda-cpp"1228},1229"2": {1230"name": "markup.bold.doxygen.cuda-cpp"1231}1232}1233},1234{1235"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",1236"captures": {1237"1": {1238"name": "storage.type.class.doxygen.cuda-cpp"1239},1240"2": {1241"name": "markup.inline.raw.string.cuda-cpp"1242}1243}1244},1245{1246"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|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(?:\\{[^}]*\\})?",1247"name": "storage.type.class.doxygen.cuda-cpp"1248},1249{1250"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1251"name": "storage.type.class.doxygen.cuda-cpp"1252},1253{1254"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",1255"captures": {1256"1": {1257"name": "storage.type.class.doxygen.cuda-cpp"1258},1259"2": {1260"patterns": [1261{1262"match": "in|out",1263"name": "keyword.other.parameter.direction.$0.cuda-cpp"1264}1265]1266},1267"3": {1268"name": "variable.parameter.cuda-cpp"1269}1270}1271},1272{1273"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1274"name": "storage.type.class.doxygen.cuda-cpp"1275},1276{1277"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1278"name": "storage.type.class.doxygen.cuda-cpp"1279},1280{1281"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",1282"name": "storage.type.class.gtkdoc.cuda-cpp"1283}1284]1285},1286{1287"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",1288"captures": {1289"1": {1290"name": "punctuation.definition.comment.begin.documentation.cuda-cpp"1291},1292"2": {1293"patterns": [1294{1295"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1296"name": "storage.type.class.doxygen.cuda-cpp"1297},1298{1299"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",1300"captures": {1301"1": {1302"name": "storage.type.class.doxygen.cuda-cpp"1303},1304"2": {1305"name": "markup.italic.doxygen.cuda-cpp"1306}1307}1308},1309{1310"match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",1311"captures": {1312"1": {1313"name": "storage.type.class.doxygen.cuda-cpp"1314},1315"2": {1316"name": "markup.bold.doxygen.cuda-cpp"1317}1318}1319},1320{1321"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",1322"captures": {1323"1": {1324"name": "storage.type.class.doxygen.cuda-cpp"1325},1326"2": {1327"name": "markup.inline.raw.string.cuda-cpp"1328}1329}1330},1331{1332"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|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(?:\\{[^}]*\\})?",1333"name": "storage.type.class.doxygen.cuda-cpp"1334},1335{1336"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1337"name": "storage.type.class.doxygen.cuda-cpp"1338},1339{1340"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",1341"captures": {1342"1": {1343"name": "storage.type.class.doxygen.cuda-cpp"1344},1345"2": {1346"patterns": [1347{1348"match": "in|out",1349"name": "keyword.other.parameter.direction.$0.cuda-cpp"1350}1351]1352},1353"3": {1354"name": "variable.parameter.cuda-cpp"1355}1356}1357},1358{1359"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1360"name": "storage.type.class.doxygen.cuda-cpp"1361},1362{1363"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1364"name": "storage.type.class.doxygen.cuda-cpp"1365},1366{1367"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",1368"name": "storage.type.class.gtkdoc.cuda-cpp"1369}1370]1371},1372"3": {1373"name": "punctuation.definition.comment.end.documentation.cuda-cpp"1374}1375},1376"name": "comment.block.documentation.cuda-cpp"1377},1378{1379"begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))",1380"end": "[!*]*\\*\\/",1381"beginCaptures": {1382"0": {1383"name": "punctuation.definition.comment.begin.documentation.cuda-cpp"1384}1385},1386"endCaptures": {1387"0": {1388"name": "punctuation.definition.comment.end.documentation.cuda-cpp"1389}1390},1391"name": "comment.block.documentation.cuda-cpp",1392"patterns": [1393{1394"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1395"name": "storage.type.class.doxygen.cuda-cpp"1396},1397{1398"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",1399"captures": {1400"1": {1401"name": "storage.type.class.doxygen.cuda-cpp"1402},1403"2": {1404"name": "markup.italic.doxygen.cuda-cpp"1405}1406}1407},1408{1409"match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",1410"captures": {1411"1": {1412"name": "storage.type.class.doxygen.cuda-cpp"1413},1414"2": {1415"name": "markup.bold.doxygen.cuda-cpp"1416}1417}1418},1419{1420"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",1421"captures": {1422"1": {1423"name": "storage.type.class.doxygen.cuda-cpp"1424},1425"2": {1426"name": "markup.inline.raw.string.cuda-cpp"1427}1428}1429},1430{1431"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|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(?:\\{[^}]*\\})?",1432"name": "storage.type.class.doxygen.cuda-cpp"1433},1434{1435"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1436"name": "storage.type.class.doxygen.cuda-cpp"1437},1438{1439"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",1440"captures": {1441"1": {1442"name": "storage.type.class.doxygen.cuda-cpp"1443},1444"2": {1445"patterns": [1446{1447"match": "in|out",1448"name": "keyword.other.parameter.direction.$0.cuda-cpp"1449}1450]1451},1452"3": {1453"name": "variable.parameter.cuda-cpp"1454}1455}1456},1457{1458"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1459"name": "storage.type.class.doxygen.cuda-cpp"1460},1461{1462"match": "(?<=[\\s*!\\/])[\\\\@](?: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(?:\\{[^}]*\\})?",1463"name": "storage.type.class.doxygen.cuda-cpp"1464},1465{1466"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",1467"name": "storage.type.class.gtkdoc.cuda-cpp"1468}1469]1470},1471{1472"include": "#emacs_file_banner"1473},1474{1475"include": "#block_comment"1476},1477{1478"include": "#line_comment"1479},1480{1481"include": "#invalid_comment_end"1482}1483]1484},1485"constructor_inline": {1486"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w)(?=\\())",1487"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",1488"beginCaptures": {1489"0": {1490"name": "meta.head.function.definition.special.constructor.cuda-cpp"1491},1492"1": {1493"patterns": [1494{1495"include": "#inline_comment"1496}1497]1498},1499"2": {1500"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1501},1502"3": {1503"name": "comment.block.cuda-cpp"1504},1505"4": {1506"patterns": [1507{1508"match": "\\*\\/",1509"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1510},1511{1512"match": "\\*",1513"name": "comment.block.cuda-cpp"1514}1515]1516},1517"5": {1518"patterns": [1519{1520"include": "#functional_specifiers_pre_parameters"1521}1522]1523},1524"6": {1525"patterns": [1526{1527"include": "#inline_comment"1528}1529]1530},1531"7": {1532"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1533},1534"8": {1535"name": "comment.block.cuda-cpp"1536},1537"9": {1538"patterns": [1539{1540"match": "\\*\\/",1541"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1542},1543{1544"match": "\\*",1545"name": "comment.block.cuda-cpp"1546}1547]1548},1549"10": {1550"patterns": [1551{1552"include": "#inline_comment"1553}1554]1555},1556"11": {1557"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1558},1559"12": {1560"name": "comment.block.cuda-cpp"1561},1562"13": {1563"patterns": [1564{1565"match": "\\*\\/",1566"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1567},1568{1569"match": "\\*",1570"name": "comment.block.cuda-cpp"1571}1572]1573},1574"14": {1575"name": "storage.type.modifier.calling-convention.cuda-cpp"1576},1577"15": {1578"patterns": [1579{1580"include": "#inline_comment"1581}1582]1583},1584"16": {1585"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1586},1587"17": {1588"name": "comment.block.cuda-cpp"1589},1590"18": {1591"patterns": [1592{1593"match": "\\*\\/",1594"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1595},1596{1597"match": "\\*",1598"name": "comment.block.cuda-cpp"1599}1600]1601},1602"19": {1603"name": "entity.name.function.constructor.cuda-cpp entity.name.function.definition.special.constructor.cuda-cpp"1604}1605},1606"endCaptures": {},1607"name": "meta.function.definition.special.constructor.cuda-cpp",1608"patterns": [1609{1610"begin": "\\G ?",1611"end": "(?:\\{|<%|\\?\\?<|(?=;))",1612"beginCaptures": {},1613"endCaptures": {1614"0": {1615"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cuda-cpp"1616}1617},1618"name": "meta.head.function.definition.special.constructor.cuda-cpp",1619"patterns": [1620{1621"include": "#ever_present_context"1622},1623{1624"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",1625"captures": {1626"1": {1627"name": "keyword.operator.assignment.cuda-cpp"1628},1629"2": {1630"patterns": [1631{1632"include": "#inline_comment"1633}1634]1635},1636"3": {1637"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1638},1639"4": {1640"name": "comment.block.cuda-cpp"1641},1642"5": {1643"patterns": [1644{1645"match": "\\*\\/",1646"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1647},1648{1649"match": "\\*",1650"name": "comment.block.cuda-cpp"1651}1652]1653},1654"6": {1655"name": "keyword.other.default.constructor.cuda-cpp"1656},1657"7": {1658"name": "keyword.other.delete.constructor.cuda-cpp"1659}1660}1661},1662{1663"include": "#functional_specifiers_pre_parameters"1664},1665{1666"begin": ":",1667"end": "(?=\\{)",1668"beginCaptures": {1669"0": {1670"name": "punctuation.separator.initializers.cuda-cpp"1671}1672},1673"endCaptures": {},1674"patterns": [1675{1676"begin": "((?<!\\w)(?:[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}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()",1677"end": "\\)",1678"beginCaptures": {1679"1": {1680"name": "entity.name.function.call.initializer.cuda-cpp"1681},1682"2": {1683"name": "meta.template.call.cuda-cpp",1684"patterns": [1685{1686"include": "#template_call_range"1687}1688]1689},1690"3": {},1691"4": {1692"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"1693}1694},1695"endCaptures": {1696"0": {1697"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"1698}1699},1700"contentName": "meta.parameter.initialization",1701"patterns": [1702{1703"include": "#evaluation_context"1704}1705]1706},1707{1708"begin": "((?<!\\w)(?:[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}))*(?!\\w))(\\{)",1709"end": "\\}",1710"beginCaptures": {1711"1": {1712"name": "entity.name.function.call.initializer.cuda-cpp"1713},1714"2": {1715"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"1716}1717},1718"endCaptures": {1719"0": {1720"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"1721}1722},1723"contentName": "meta.parameter.initialization",1724"patterns": [1725{1726"include": "#evaluation_context"1727}1728]1729},1730{1731"match": ",",1732"name": "punctuation.separator.delimiter.comma.cuda-cpp"1733},1734{1735"include": "#comments"1736}1737]1738},1739{1740"begin": "\\(",1741"end": "\\)",1742"beginCaptures": {1743"0": {1744"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cuda-cpp"1745}1746},1747"endCaptures": {1748"0": {1749"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cuda-cpp"1750}1751},1752"contentName": "meta.function.definition.parameters.special.constructor",1753"patterns": [1754{1755"include": "#function_parameter_context"1756},1757{1758"include": "#evaluation_context"1759}1760]1761},1762{1763"match": "((?:(?:final)|(?:override)))+",1764"captures": {1765"1": {1766"name": "keyword.operator.$1.cuda-cpp"1767}1768}1769},1770{1771"include": "$self"1772}1773]1774},1775{1776"begin": "(?<=\\{|<%|\\?\\?<)",1777"end": "\\}|%>|\\?\\?>",1778"beginCaptures": {},1779"endCaptures": {1780"0": {1781"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cuda-cpp"1782}1783},1784"name": "meta.body.function.definition.special.constructor.cuda-cpp",1785"patterns": [1786{1787"include": "#function_body_context"1788}1789]1790},1791{1792"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",1793"end": "[\\s]*(?=;)",1794"beginCaptures": {},1795"endCaptures": {},1796"name": "meta.tail.function.definition.special.constructor.cuda-cpp",1797"patterns": [1798{1799"include": "$self"1800}1801]1802}1803]1804},1805"constructor_root": {1806"begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[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}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",1807"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",1808"beginCaptures": {1809"0": {1810"name": "meta.head.function.definition.special.constructor.cuda-cpp"1811},1812"1": {1813"patterns": [1814{1815"include": "#inline_comment"1816}1817]1818},1819"2": {1820"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1821},1822"3": {1823"name": "comment.block.cuda-cpp"1824},1825"4": {1826"patterns": [1827{1828"match": "\\*\\/",1829"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1830},1831{1832"match": "\\*",1833"name": "comment.block.cuda-cpp"1834}1835]1836},1837"5": {1838"name": "storage.type.modifier.calling-convention.cuda-cpp"1839},1840"6": {1841"patterns": [1842{1843"include": "#inline_comment"1844}1845]1846},1847"7": {1848"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1849},1850"8": {1851"name": "comment.block.cuda-cpp"1852},1853"9": {1854"patterns": [1855{1856"match": "\\*\\/",1857"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1858},1859{1860"match": "\\*",1861"name": "comment.block.cuda-cpp"1862}1863]1864},1865"10": {1866"patterns": [1867{1868"match": "::",1869"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.constructor.cuda-cpp"1870},1871{1872"match": "(?<!\\w)(?:[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}))*(?!\\w)",1873"name": "entity.name.scope-resolution.constructor.cuda-cpp"1874},1875{1876"include": "#template_call_range"1877}1878]1879},1880"11": {1881"patterns": [1882{1883"include": "#template_call_range"1884}1885]1886},1887"12": {},1888"13": {1889"patterns": [1890{1891"match": "(?:[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}))*(?=:)",1892"name": "entity.name.type.constructor.cuda-cpp"1893},1894{1895"match": "(?<=:)(?:[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}))*",1896"name": "entity.name.function.definition.special.constructor.cuda-cpp"1897},1898{1899"match": "::",1900"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.constructor.cuda-cpp"1901}1902]1903},1904"14": {},1905"15": {1906"patterns": [1907{1908"include": "#inline_comment"1909}1910]1911},1912"16": {1913"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1914},1915"17": {1916"name": "comment.block.cuda-cpp"1917},1918"18": {1919"patterns": [1920{1921"match": "\\*\\/",1922"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1923},1924{1925"match": "\\*",1926"name": "comment.block.cuda-cpp"1927}1928]1929},1930"19": {1931"patterns": [1932{1933"include": "#inline_comment"1934}1935]1936},1937"20": {1938"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1939},1940"21": {1941"name": "comment.block.cuda-cpp"1942},1943"22": {1944"patterns": [1945{1946"match": "\\*\\/",1947"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1948},1949{1950"match": "\\*",1951"name": "comment.block.cuda-cpp"1952}1953]1954},1955"23": {1956"patterns": [1957{1958"include": "#inline_comment"1959}1960]1961},1962"24": {1963"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"1964},1965"25": {1966"name": "comment.block.cuda-cpp"1967},1968"26": {1969"patterns": [1970{1971"match": "\\*\\/",1972"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"1973},1974{1975"match": "\\*",1976"name": "comment.block.cuda-cpp"1977}1978]1979}1980},1981"endCaptures": {},1982"name": "meta.function.definition.special.constructor.cuda-cpp",1983"patterns": [1984{1985"begin": "\\G ?",1986"end": "(?:\\{|<%|\\?\\?<|(?=;))",1987"beginCaptures": {},1988"endCaptures": {1989"0": {1990"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cuda-cpp"1991}1992},1993"name": "meta.head.function.definition.special.constructor.cuda-cpp",1994"patterns": [1995{1996"include": "#ever_present_context"1997},1998{1999"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",2000"captures": {2001"1": {2002"name": "keyword.operator.assignment.cuda-cpp"2003},2004"2": {2005"patterns": [2006{2007"include": "#inline_comment"2008}2009]2010},2011"3": {2012"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2013},2014"4": {2015"name": "comment.block.cuda-cpp"2016},2017"5": {2018"patterns": [2019{2020"match": "\\*\\/",2021"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2022},2023{2024"match": "\\*",2025"name": "comment.block.cuda-cpp"2026}2027]2028},2029"6": {2030"name": "keyword.other.default.constructor.cuda-cpp"2031},2032"7": {2033"name": "keyword.other.delete.constructor.cuda-cpp"2034}2035}2036},2037{2038"include": "#functional_specifiers_pre_parameters"2039},2040{2041"begin": ":",2042"end": "(?=\\{)",2043"beginCaptures": {2044"0": {2045"name": "punctuation.separator.initializers.cuda-cpp"2046}2047},2048"endCaptures": {},2049"patterns": [2050{2051"begin": "((?<!\\w)(?:[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}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()",2052"end": "\\)",2053"beginCaptures": {2054"1": {2055"name": "entity.name.function.call.initializer.cuda-cpp"2056},2057"2": {2058"name": "meta.template.call.cuda-cpp",2059"patterns": [2060{2061"include": "#template_call_range"2062}2063]2064},2065"3": {},2066"4": {2067"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"2068}2069},2070"endCaptures": {2071"0": {2072"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"2073}2074},2075"contentName": "meta.parameter.initialization",2076"patterns": [2077{2078"include": "#evaluation_context"2079}2080]2081},2082{2083"begin": "((?<!\\w)(?:[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}))*(?!\\w))(\\{)",2084"end": "\\}",2085"beginCaptures": {2086"1": {2087"name": "entity.name.function.call.initializer.cuda-cpp"2088},2089"2": {2090"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"2091}2092},2093"endCaptures": {2094"0": {2095"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"2096}2097},2098"contentName": "meta.parameter.initialization",2099"patterns": [2100{2101"include": "#evaluation_context"2102}2103]2104},2105{2106"match": ",",2107"name": "punctuation.separator.delimiter.comma.cuda-cpp"2108},2109{2110"include": "#comments"2111}2112]2113},2114{2115"begin": "\\(",2116"end": "\\)",2117"beginCaptures": {2118"0": {2119"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cuda-cpp"2120}2121},2122"endCaptures": {2123"0": {2124"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cuda-cpp"2125}2126},2127"contentName": "meta.function.definition.parameters.special.constructor",2128"patterns": [2129{2130"include": "#function_parameter_context"2131},2132{2133"include": "#evaluation_context"2134}2135]2136},2137{2138"match": "((?:(?:final)|(?:override)))+",2139"captures": {2140"1": {2141"name": "keyword.operator.$1.cuda-cpp"2142}2143}2144},2145{2146"include": "$self"2147}2148]2149},2150{2151"begin": "(?<=\\{|<%|\\?\\?<)",2152"end": "\\}|%>|\\?\\?>",2153"beginCaptures": {},2154"endCaptures": {2155"0": {2156"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cuda-cpp"2157}2158},2159"name": "meta.body.function.definition.special.constructor.cuda-cpp",2160"patterns": [2161{2162"include": "#function_body_context"2163}2164]2165},2166{2167"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",2168"end": "[\\s]*(?=;)",2169"beginCaptures": {},2170"endCaptures": {},2171"name": "meta.tail.function.definition.special.constructor.cuda-cpp",2172"patterns": [2173{2174"include": "$self"2175}2176]2177}2178]2179},2180"control_flow_keywords": {2181"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:co_return)|(?:continue)|(?:co_await)|(?:co_yield)|(?:default)|(?:switch)|(?:return)|(?:throw)|(?:while)|(?:catch)|(?:break)|(?:else)|(?:goto)|(?:case)|(?:for)|(?:try)|(?:do)|(?:if))(?!\\w))",2182"captures": {2183"1": {2184"patterns": [2185{2186"include": "#inline_comment"2187}2188]2189},2190"2": {2191"patterns": [2192{2193"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2194"captures": {2195"1": {2196"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2197},2198"2": {2199"name": "comment.block.cuda-cpp"2200},2201"3": {2202"patterns": [2203{2204"match": "\\*\\/",2205"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2206},2207{2208"match": "\\*",2209"name": "comment.block.cuda-cpp"2210}2211]2212}2213}2214}2215]2216},2217"3": {2218"name": "keyword.control.$3.cuda-cpp"2219}2220}2221},2222"cpp_attributes": {2223"begin": "\\[\\[",2224"end": "\\]\\]",2225"beginCaptures": {2226"0": {2227"name": "punctuation.section.attribute.begin.cuda-cpp"2228}2229},2230"endCaptures": {2231"0": {2232"name": "punctuation.section.attribute.end.cuda-cpp"2233}2234},2235"name": "support.other.attribute.cuda-cpp",2236"patterns": [2237{2238"include": "#attributes_context"2239},2240{2241"begin": "\\(",2242"end": "\\)",2243"beginCaptures": {},2244"endCaptures": {},2245"patterns": [2246{2247"include": "#attributes_context"2248},2249{2250"include": "#string_context"2251}2252]2253},2254{2255"match": "(using)(?:\\s)+((?<!\\w)(?:[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}))*(?!\\w))",2256"captures": {2257"1": {2258"name": "keyword.other.using.directive.cuda-cpp"2259},2260"2": {2261"name": "entity.name.namespace.cuda-cpp"2262}2263}2264},2265{2266"match": ",",2267"name": "punctuation.separator.attribute.cuda-cpp"2268},2269{2270"match": ":",2271"name": "punctuation.accessor.attribute.cuda-cpp"2272},2273{2274"match": "(?<!\\w)(?:[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}))*(?!\\w)(?=::)",2275"name": "entity.name.namespace.cuda-cpp"2276},2277{2278"match": "(?<!\\w)(?:[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}))*(?!\\w)",2279"name": "entity.other.attribute.$0.cuda-cpp"2280},2281{2282"include": "#number_literal"2283}2284]2285},2286"curly_initializer": {2287"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)",2288"end": "\\}",2289"beginCaptures": {2290"1": {2291"name": "meta.qualified_type.cuda-cpp",2292"patterns": [2293{2294"match": "::",2295"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"2296},2297{2298"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",2299"name": "storage.type.$0.cuda-cpp"2300},2301{2302"include": "#attributes_context"2303},2304{2305"include": "#storage_types"2306},2307{2308"include": "#number_literal"2309},2310{2311"include": "#string_context"2312},2313{2314"include": "#comma"2315},2316{2317"include": "#scope_resolution_inner_generated"2318},2319{2320"begin": "<",2321"end": ">",2322"beginCaptures": {2323"0": {2324"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"2325}2326},2327"endCaptures": {2328"0": {2329"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"2330}2331},2332"name": "meta.template.call.cuda-cpp",2333"patterns": [2334{2335"include": "#template_call_context"2336}2337]2338},2339{2340"match": "(?:[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}))*",2341"name": "entity.name.type.cuda-cpp"2342}2343]2344},2345"2": {2346"patterns": [2347{2348"include": "#attributes_context"2349},2350{2351"include": "#number_literal"2352}2353]2354},2355"3": {2356"patterns": [2357{2358"include": "#inline_comment"2359}2360]2361},2362"4": {2363"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2364},2365"5": {2366"name": "comment.block.cuda-cpp"2367},2368"6": {2369"patterns": [2370{2371"match": "\\*\\/",2372"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2373},2374{2375"match": "\\*",2376"name": "comment.block.cuda-cpp"2377}2378]2379},2380"7": {2381"patterns": [2382{2383"include": "#inline_comment"2384}2385]2386},2387"8": {2388"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2389},2390"9": {2391"name": "comment.block.cuda-cpp"2392},2393"10": {2394"patterns": [2395{2396"match": "\\*\\/",2397"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2398},2399{2400"match": "\\*",2401"name": "comment.block.cuda-cpp"2402}2403]2404},2405"11": {2406"patterns": [2407{2408"match": "::",2409"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"2410},2411{2412"match": "(?<!\\w)(?:[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}))*(?!\\w)",2413"name": "entity.name.scope-resolution.type.cuda-cpp"2414},2415{2416"include": "#template_call_range"2417}2418]2419},2420"12": {2421"patterns": [2422{2423"include": "#template_call_range"2424}2425]2426},2427"13": {},2428"14": {2429"patterns": [2430{2431"include": "#inline_comment"2432}2433]2434},2435"15": {2436"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2437},2438"16": {2439"name": "comment.block.cuda-cpp"2440},2441"17": {2442"patterns": [2443{2444"match": "\\*\\/",2445"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2446},2447{2448"match": "\\*",2449"name": "comment.block.cuda-cpp"2450}2451]2452},2453"18": {},2454"19": {2455"patterns": [2456{2457"include": "#inline_comment"2458}2459]2460},2461"20": {2462"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2463},2464"21": {2465"name": "comment.block.cuda-cpp"2466},2467"22": {2468"patterns": [2469{2470"match": "\\*\\/",2471"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2472},2473{2474"match": "\\*",2475"name": "comment.block.cuda-cpp"2476}2477]2478},2479"23": {2480"name": "punctuation.section.arguments.begin.bracket.curly.initializer.cuda-cpp"2481}2482},2483"endCaptures": {2484"0": {2485"name": "punctuation.section.arguments.end.bracket.curly.initializer.cuda-cpp"2486}2487},2488"name": "meta.initialization.cuda-cpp",2489"patterns": [2490{2491"include": "#evaluation_context"2492},2493{2494"include": "#comma"2495}2496]2497},2498"d9bc4796b0b_module_import": {2499"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[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-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}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)",2500"captures": {2501"1": {2502"patterns": [2503{2504"include": "#inline_comment"2505}2506]2507},2508"2": {2509"patterns": [2510{2511"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2512"captures": {2513"1": {2514"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2515},2516"2": {2517"name": "comment.block.cuda-cpp"2518},2519"3": {2520"patterns": [2521{2522"match": "\\*\\/",2523"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2524},2525{2526"match": "\\*",2527"name": "comment.block.cuda-cpp"2528}2529]2530}2531}2532}2533]2534},2535"3": {2536"name": "keyword.control.directive.import.cuda-cpp"2537},2538"5": {2539"name": "string.quoted.other.lt-gt.include.cuda-cpp"2540},2541"6": {2542"name": "punctuation.definition.string.begin.cuda-cpp"2543},2544"7": {2545"name": "punctuation.definition.string.end.cuda-cpp"2546},2547"8": {2548"patterns": [2549{2550"include": "#inline_comment"2551}2552]2553},2554"9": {2555"patterns": [2556{2557"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2558"captures": {2559"1": {2560"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2561},2562"2": {2563"name": "comment.block.cuda-cpp"2564},2565"3": {2566"patterns": [2567{2568"match": "\\*\\/",2569"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2570},2571{2572"match": "\\*",2573"name": "comment.block.cuda-cpp"2574}2575]2576}2577}2578}2579]2580},2581"10": {2582"name": "string.quoted.double.include.cuda-cpp"2583},2584"11": {2585"name": "punctuation.definition.string.begin.cuda-cpp"2586},2587"12": {2588"name": "punctuation.definition.string.end.cuda-cpp"2589},2590"13": {2591"patterns": [2592{2593"include": "#inline_comment"2594}2595]2596},2597"14": {2598"patterns": [2599{2600"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2601"captures": {2602"1": {2603"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2604},2605"2": {2606"name": "comment.block.cuda-cpp"2607},2608"3": {2609"patterns": [2610{2611"match": "\\*\\/",2612"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2613},2614{2615"match": "\\*",2616"name": "comment.block.cuda-cpp"2617}2618]2619}2620}2621}2622]2623},2624"15": {2625"name": "entity.name.other.preprocessor.macro.include.cuda-cpp"2626},2627"16": {2628"patterns": [2629{2630"include": "#inline_comment"2631}2632]2633},2634"17": {2635"patterns": [2636{2637"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2638"captures": {2639"1": {2640"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2641},2642"2": {2643"name": "comment.block.cuda-cpp"2644},2645"3": {2646"patterns": [2647{2648"match": "\\*\\/",2649"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2650},2651{2652"match": "\\*",2653"name": "comment.block.cuda-cpp"2654}2655]2656}2657}2658}2659]2660},2661"18": {2662"patterns": [2663{2664"include": "#inline_comment"2665}2666]2667},2668"19": {2669"patterns": [2670{2671"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2672"captures": {2673"1": {2674"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2675},2676"2": {2677"name": "comment.block.cuda-cpp"2678},2679"3": {2680"patterns": [2681{2682"match": "\\*\\/",2683"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2684},2685{2686"match": "\\*",2687"name": "comment.block.cuda-cpp"2688}2689]2690}2691}2692}2693]2694},2695"20": {2696"patterns": [2697{2698"include": "#inline_comment"2699}2700]2701},2702"21": {2703"patterns": [2704{2705"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",2706"captures": {2707"1": {2708"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"2709},2710"2": {2711"name": "comment.block.cuda-cpp"2712},2713"3": {2714"patterns": [2715{2716"match": "\\*\\/",2717"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"2718},2719{2720"match": "\\*",2721"name": "comment.block.cuda-cpp"2722}2723]2724}2725}2726}2727]2728},2729"22": {2730"name": "punctuation.terminator.statement.cuda-cpp"2731}2732},2733"name": "meta.preprocessor.import.cuda-cpp"2734},2735"d9bc4796b0b_preprocessor_number_literal": {2736"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",2737"captures": {2738"0": {2739"patterns": [2740{2741"begin": "(?=.)",2742"end": "$",2743"beginCaptures": {},2744"endCaptures": {},2745"patterns": [2746{2747"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",2748"captures": {2749"1": {2750"name": "keyword.other.unit.hexadecimal.cuda-cpp"2751},2752"2": {2753"name": "constant.numeric.hexadecimal.cuda-cpp",2754"patterns": [2755{2756"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2757"name": "punctuation.separator.constant.numeric.cuda-cpp"2758}2759]2760},2761"3": {2762"name": "punctuation.separator.constant.numeric.cuda-cpp"2763},2764"4": {2765"name": "constant.numeric.hexadecimal.cuda-cpp"2766},2767"5": {2768"name": "constant.numeric.hexadecimal.cuda-cpp",2769"patterns": [2770{2771"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2772"name": "punctuation.separator.constant.numeric.cuda-cpp"2773}2774]2775},2776"6": {2777"name": "punctuation.separator.constant.numeric.cuda-cpp"2778},2779"7": {2780"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"2781},2782"8": {2783"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"2784},2785"9": {2786"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"2787},2788"10": {2789"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",2790"patterns": [2791{2792"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2793"name": "punctuation.separator.constant.numeric.cuda-cpp"2794}2795]2796},2797"11": {2798"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"2799}2800}2801},2802{2803"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",2804"captures": {2805"1": {2806"name": "constant.numeric.decimal.cuda-cpp",2807"patterns": [2808{2809"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2810"name": "punctuation.separator.constant.numeric.cuda-cpp"2811}2812]2813},2814"2": {2815"name": "punctuation.separator.constant.numeric.cuda-cpp"2816},2817"3": {2818"name": "constant.numeric.decimal.point.cuda-cpp"2819},2820"4": {2821"name": "constant.numeric.decimal.cuda-cpp",2822"patterns": [2823{2824"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2825"name": "punctuation.separator.constant.numeric.cuda-cpp"2826}2827]2828},2829"5": {2830"name": "punctuation.separator.constant.numeric.cuda-cpp"2831},2832"6": {2833"name": "keyword.other.unit.exponent.decimal.cuda-cpp"2834},2835"7": {2836"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"2837},2838"8": {2839"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"2840},2841"9": {2842"name": "constant.numeric.exponent.decimal.cuda-cpp",2843"patterns": [2844{2845"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2846"name": "punctuation.separator.constant.numeric.cuda-cpp"2847}2848]2849},2850"10": {2851"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"2852}2853}2854},2855{2856"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",2857"captures": {2858"1": {2859"name": "keyword.other.unit.binary.cuda-cpp"2860},2861"2": {2862"name": "constant.numeric.binary.cuda-cpp",2863"patterns": [2864{2865"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2866"name": "punctuation.separator.constant.numeric.cuda-cpp"2867}2868]2869},2870"3": {2871"name": "punctuation.separator.constant.numeric.cuda-cpp"2872},2873"4": {2874"name": "keyword.other.unit.suffix.integer.cuda-cpp"2875}2876}2877},2878{2879"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",2880"captures": {2881"1": {2882"name": "keyword.other.unit.octal.cuda-cpp"2883},2884"2": {2885"name": "constant.numeric.octal.cuda-cpp",2886"patterns": [2887{2888"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2889"name": "punctuation.separator.constant.numeric.cuda-cpp"2890}2891]2892},2893"3": {2894"name": "punctuation.separator.constant.numeric.cuda-cpp"2895},2896"4": {2897"name": "keyword.other.unit.suffix.integer.cuda-cpp"2898}2899}2900},2901{2902"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",2903"captures": {2904"1": {2905"name": "keyword.other.unit.hexadecimal.cuda-cpp"2906},2907"2": {2908"name": "constant.numeric.hexadecimal.cuda-cpp",2909"patterns": [2910{2911"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2912"name": "punctuation.separator.constant.numeric.cuda-cpp"2913}2914]2915},2916"3": {2917"name": "punctuation.separator.constant.numeric.cuda-cpp"2918},2919"4": {2920"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"2921},2922"5": {2923"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"2924},2925"6": {2926"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"2927},2928"7": {2929"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",2930"patterns": [2931{2932"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2933"name": "punctuation.separator.constant.numeric.cuda-cpp"2934}2935]2936},2937"8": {2938"name": "keyword.other.unit.suffix.integer.cuda-cpp"2939}2940}2941},2942{2943"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",2944"captures": {2945"1": {2946"name": "constant.numeric.decimal.cuda-cpp",2947"patterns": [2948{2949"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2950"name": "punctuation.separator.constant.numeric.cuda-cpp"2951}2952]2953},2954"2": {2955"name": "punctuation.separator.constant.numeric.cuda-cpp"2956},2957"3": {2958"name": "keyword.other.unit.exponent.decimal.cuda-cpp"2959},2960"4": {2961"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"2962},2963"5": {2964"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"2965},2966"6": {2967"name": "constant.numeric.exponent.decimal.cuda-cpp",2968"patterns": [2969{2970"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",2971"name": "punctuation.separator.constant.numeric.cuda-cpp"2972}2973]2974},2975"7": {2976"name": "keyword.other.unit.suffix.integer.cuda-cpp"2977}2978}2979},2980{2981"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",2982"name": "invalid.illegal.constant.numeric.cuda-cpp"2983}2984]2985}2986]2987}2988}2989},2990"decltype": {2991"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",2992"end": "\\)",2993"beginCaptures": {2994"1": {2995"name": "keyword.operator.functionlike.cuda-cpp keyword.other.decltype.cuda-cpp storage.type.decltype.cuda-cpp"2996},2997"2": {2998"patterns": [2999{3000"include": "#inline_comment"3001}3002]3003},3004"3": {3005"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3006},3007"4": {3008"name": "comment.block.cuda-cpp"3009},3010"5": {3011"patterns": [3012{3013"match": "\\*\\/",3014"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3015},3016{3017"match": "\\*",3018"name": "comment.block.cuda-cpp"3019}3020]3021},3022"6": {3023"name": "punctuation.section.arguments.begin.bracket.round.decltype.cuda-cpp"3024}3025},3026"endCaptures": {3027"0": {3028"name": "punctuation.section.arguments.end.bracket.round.decltype.cuda-cpp"3029}3030},3031"contentName": "meta.arguments.decltype",3032"patterns": [3033{3034"include": "#evaluation_context"3035}3036]3037},3038"decltype_specifier": {3039"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",3040"end": "\\)",3041"beginCaptures": {3042"1": {3043"name": "keyword.operator.functionlike.cuda-cpp keyword.other.decltype.cuda-cpp storage.type.decltype.cuda-cpp"3044},3045"2": {3046"patterns": [3047{3048"include": "#inline_comment"3049}3050]3051},3052"3": {3053"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3054},3055"4": {3056"name": "comment.block.cuda-cpp"3057},3058"5": {3059"patterns": [3060{3061"match": "\\*\\/",3062"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3063},3064{3065"match": "\\*",3066"name": "comment.block.cuda-cpp"3067}3068]3069},3070"6": {3071"name": "punctuation.section.arguments.begin.bracket.round.decltype.cuda-cpp"3072}3073},3074"endCaptures": {3075"0": {3076"name": "punctuation.section.arguments.end.bracket.round.decltype.cuda-cpp"3077}3078},3079"contentName": "meta.arguments.decltype",3080"patterns": [3081{3082"include": "#evaluation_context"3083}3084]3085},3086"default_statement": {3087"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)default(?!\\w))",3088"end": ":",3089"beginCaptures": {3090"1": {3091"patterns": [3092{3093"include": "#inline_comment"3094}3095]3096},3097"2": {3098"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3099},3100"3": {3101"name": "comment.block.cuda-cpp"3102},3103"4": {3104"patterns": [3105{3106"match": "\\*\\/",3107"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3108},3109{3110"match": "\\*",3111"name": "comment.block.cuda-cpp"3112}3113]3114},3115"5": {3116"name": "keyword.control.default.cuda-cpp"3117}3118},3119"endCaptures": {3120"0": {3121"name": "punctuation.separator.colon.case.default.cuda-cpp"3122}3123},3124"name": "meta.conditional.case.cuda-cpp",3125"patterns": [3126{3127"include": "#evaluation_context"3128},3129{3130"include": "#c_conditional_context"3131}3132]3133},3134"destructor_inline": {3135"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?<!\\w)(?:[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}))*(?!\\w)(?=\\())",3136"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",3137"beginCaptures": {3138"0": {3139"name": "meta.head.function.definition.special.member.destructor.cuda-cpp"3140},3141"1": {3142"patterns": [3143{3144"include": "#inline_comment"3145}3146]3147},3148"2": {3149"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3150},3151"3": {3152"name": "comment.block.cuda-cpp"3153},3154"4": {3155"patterns": [3156{3157"match": "\\*\\/",3158"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3159},3160{3161"match": "\\*",3162"name": "comment.block.cuda-cpp"3163}3164]3165},3166"5": {3167"patterns": [3168{3169"include": "#inline_comment"3170}3171]3172},3173"6": {3174"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3175},3176"7": {3177"name": "comment.block.cuda-cpp"3178},3179"8": {3180"patterns": [3181{3182"match": "\\*\\/",3183"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3184},3185{3186"match": "\\*",3187"name": "comment.block.cuda-cpp"3188}3189]3190},3191"9": {3192"name": "storage.type.modifier.calling-convention.cuda-cpp"3193},3194"10": {3195"patterns": [3196{3197"include": "#inline_comment"3198}3199]3200},3201"11": {3202"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3203},3204"12": {3205"name": "comment.block.cuda-cpp"3206},3207"13": {3208"patterns": [3209{3210"match": "\\*\\/",3211"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3212},3213{3214"match": "\\*",3215"name": "comment.block.cuda-cpp"3216}3217]3218},3219"14": {3220"patterns": [3221{3222"include": "#functional_specifiers_pre_parameters"3223}3224]3225},3226"15": {3227"patterns": [3228{3229"include": "#inline_comment"3230}3231]3232},3233"16": {3234"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3235},3236"17": {3237"name": "comment.block.cuda-cpp"3238},3239"18": {3240"patterns": [3241{3242"match": "\\*\\/",3243"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3244},3245{3246"match": "\\*",3247"name": "comment.block.cuda-cpp"3248}3249]3250},3251"19": {3252"name": "entity.name.function.destructor.cuda-cpp entity.name.function.definition.special.member.destructor.cuda-cpp"3253}3254},3255"endCaptures": {},3256"name": "meta.function.definition.special.member.destructor.cuda-cpp",3257"patterns": [3258{3259"begin": "\\G ?",3260"end": "(?:\\{|<%|\\?\\?<|(?=;))",3261"beginCaptures": {},3262"endCaptures": {3263"0": {3264"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cuda-cpp"3265}3266},3267"name": "meta.head.function.definition.special.member.destructor.cuda-cpp",3268"patterns": [3269{3270"include": "#ever_present_context"3271},3272{3273"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",3274"captures": {3275"1": {3276"name": "keyword.operator.assignment.cuda-cpp"3277},3278"2": {3279"patterns": [3280{3281"include": "#inline_comment"3282}3283]3284},3285"3": {3286"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3287},3288"4": {3289"name": "comment.block.cuda-cpp"3290},3291"5": {3292"patterns": [3293{3294"match": "\\*\\/",3295"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3296},3297{3298"match": "\\*",3299"name": "comment.block.cuda-cpp"3300}3301]3302},3303"6": {3304"name": "keyword.other.default.constructor.cuda-cpp"3305},3306"7": {3307"name": "keyword.other.delete.constructor.cuda-cpp"3308}3309}3310},3311{3312"begin": "\\(",3313"end": "\\)",3314"beginCaptures": {3315"0": {3316"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cuda-cpp"3317}3318},3319"endCaptures": {3320"0": {3321"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cuda-cpp"3322}3323},3324"contentName": "meta.function.definition.parameters.special.member.destructor",3325"patterns": []3326},3327{3328"match": "((?:(?:final)|(?:override)))+",3329"captures": {3330"1": {3331"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.$1.cuda-cpp"3332}3333}3334},3335{3336"include": "$self"3337}3338]3339},3340{3341"begin": "(?<=\\{|<%|\\?\\?<)",3342"end": "\\}|%>|\\?\\?>",3343"beginCaptures": {},3344"endCaptures": {3345"0": {3346"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cuda-cpp"3347}3348},3349"name": "meta.body.function.definition.special.member.destructor.cuda-cpp",3350"patterns": [3351{3352"include": "#function_body_context"3353}3354]3355},3356{3357"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",3358"end": "[\\s]*(?=;)",3359"beginCaptures": {},3360"endCaptures": {},3361"name": "meta.tail.function.definition.special.member.destructor.cuda-cpp",3362"patterns": [3363{3364"include": "$self"3365}3366]3367}3368]3369},3370"destructor_root": {3371"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[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}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",3372"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",3373"beginCaptures": {3374"0": {3375"name": "meta.head.function.definition.special.member.destructor.cuda-cpp"3376},3377"1": {3378"patterns": [3379{3380"include": "#inline_comment"3381}3382]3383},3384"2": {3385"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3386},3387"3": {3388"name": "comment.block.cuda-cpp"3389},3390"4": {3391"patterns": [3392{3393"match": "\\*\\/",3394"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3395},3396{3397"match": "\\*",3398"name": "comment.block.cuda-cpp"3399}3400]3401},3402"5": {3403"name": "storage.type.modifier.calling-convention.cuda-cpp"3404},3405"6": {3406"patterns": [3407{3408"include": "#inline_comment"3409}3410]3411},3412"7": {3413"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3414},3415"8": {3416"name": "comment.block.cuda-cpp"3417},3418"9": {3419"patterns": [3420{3421"match": "\\*\\/",3422"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3423},3424{3425"match": "\\*",3426"name": "comment.block.cuda-cpp"3427}3428]3429},3430"10": {3431"patterns": [3432{3433"match": "::",3434"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.destructor.cuda-cpp"3435},3436{3437"match": "(?<!\\w)(?:[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}))*(?!\\w)",3438"name": "entity.name.scope-resolution.destructor.cuda-cpp"3439},3440{3441"include": "#template_call_range"3442}3443]3444},3445"11": {3446"patterns": [3447{3448"include": "#template_call_range"3449}3450]3451},3452"12": {},3453"13": {3454"patterns": [3455{3456"match": "(?:[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}))*(?=:)",3457"name": "entity.name.type.destructor.cuda-cpp"3458},3459{3460"match": "(?<=:)~(?:[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}))*",3461"name": "entity.name.function.definition.special.member.destructor.cuda-cpp"3462},3463{3464"match": "::",3465"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.destructor.cuda-cpp"3466}3467]3468},3469"14": {},3470"15": {3471"patterns": [3472{3473"include": "#inline_comment"3474}3475]3476},3477"16": {3478"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3479},3480"17": {3481"name": "comment.block.cuda-cpp"3482},3483"18": {3484"patterns": [3485{3486"match": "\\*\\/",3487"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3488},3489{3490"match": "\\*",3491"name": "comment.block.cuda-cpp"3492}3493]3494},3495"19": {3496"patterns": [3497{3498"include": "#inline_comment"3499}3500]3501},3502"20": {3503"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3504},3505"21": {3506"name": "comment.block.cuda-cpp"3507},3508"22": {3509"patterns": [3510{3511"match": "\\*\\/",3512"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3513},3514{3515"match": "\\*",3516"name": "comment.block.cuda-cpp"3517}3518]3519},3520"23": {3521"patterns": [3522{3523"include": "#inline_comment"3524}3525]3526},3527"24": {3528"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3529},3530"25": {3531"name": "comment.block.cuda-cpp"3532},3533"26": {3534"patterns": [3535{3536"match": "\\*\\/",3537"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3538},3539{3540"match": "\\*",3541"name": "comment.block.cuda-cpp"3542}3543]3544}3545},3546"endCaptures": {},3547"name": "meta.function.definition.special.member.destructor.cuda-cpp",3548"patterns": [3549{3550"begin": "\\G ?",3551"end": "(?:\\{|<%|\\?\\?<|(?=;))",3552"beginCaptures": {},3553"endCaptures": {3554"0": {3555"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cuda-cpp"3556}3557},3558"name": "meta.head.function.definition.special.member.destructor.cuda-cpp",3559"patterns": [3560{3561"include": "#ever_present_context"3562},3563{3564"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",3565"captures": {3566"1": {3567"name": "keyword.operator.assignment.cuda-cpp"3568},3569"2": {3570"patterns": [3571{3572"include": "#inline_comment"3573}3574]3575},3576"3": {3577"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3578},3579"4": {3580"name": "comment.block.cuda-cpp"3581},3582"5": {3583"patterns": [3584{3585"match": "\\*\\/",3586"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3587},3588{3589"match": "\\*",3590"name": "comment.block.cuda-cpp"3591}3592]3593},3594"6": {3595"name": "keyword.other.default.constructor.cuda-cpp"3596},3597"7": {3598"name": "keyword.other.delete.constructor.cuda-cpp"3599}3600}3601},3602{3603"begin": "\\(",3604"end": "\\)",3605"beginCaptures": {3606"0": {3607"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cuda-cpp"3608}3609},3610"endCaptures": {3611"0": {3612"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cuda-cpp"3613}3614},3615"contentName": "meta.function.definition.parameters.special.member.destructor",3616"patterns": []3617},3618{3619"match": "((?:(?:final)|(?:override)))+",3620"captures": {3621"1": {3622"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.$1.cuda-cpp"3623}3624}3625},3626{3627"include": "$self"3628}3629]3630},3631{3632"begin": "(?<=\\{|<%|\\?\\?<)",3633"end": "\\}|%>|\\?\\?>",3634"beginCaptures": {},3635"endCaptures": {3636"0": {3637"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cuda-cpp"3638}3639},3640"name": "meta.body.function.definition.special.member.destructor.cuda-cpp",3641"patterns": [3642{3643"include": "#function_body_context"3644}3645]3646},3647{3648"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",3649"end": "[\\s]*(?=;)",3650"beginCaptures": {},3651"endCaptures": {},3652"name": "meta.tail.function.definition.special.member.destructor.cuda-cpp",3653"patterns": [3654{3655"include": "$self"3656}3657]3658}3659]3660},3661"diagnostic": {3662"begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?",3663"end": "(?<!\\\\)(?=\\n)",3664"beginCaptures": {3665"1": {3666"name": "keyword.control.directive.diagnostic.$7.cuda-cpp"3667},3668"2": {3669"patterns": [3670{3671"include": "#inline_comment"3672}3673]3674},3675"3": {3676"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3677},3678"4": {3679"name": "comment.block.cuda-cpp"3680},3681"5": {3682"patterns": [3683{3684"match": "\\*\\/",3685"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3686},3687{3688"match": "\\*",3689"name": "comment.block.cuda-cpp"3690}3691]3692},3693"6": {3694"name": "punctuation.definition.directive.cuda-cpp"3695},3696"7": {}3697},3698"endCaptures": {},3699"name": "meta.preprocessor.diagnostic.$reference(directive).cuda-cpp",3700"patterns": [3701{3702"begin": "\"",3703"end": "(?:(\")|(?<!\\\\)(?=\\n))",3704"beginCaptures": {3705"0": {3706"name": "punctuation.definition.string.begin.cuda-cpp"3707}3708},3709"endCaptures": {3710"1": {3711"name": "punctuation.definition.string.end.cuda-cpp"3712}3713},3714"name": "string.quoted.double.cuda-cpp",3715"patterns": [3716{3717"include": "#line_continuation_character"3718}3719]3720},3721{3722"begin": "'",3723"end": "(?:(')|(?<!\\\\)(?=\\n))",3724"beginCaptures": {3725"0": {3726"name": "punctuation.definition.string.begin.cuda-cpp"3727}3728},3729"endCaptures": {3730"1": {3731"name": "punctuation.definition.string.end.cuda-cpp"3732}3733},3734"name": "string.quoted.single.cuda-cpp",3735"patterns": [3736{3737"include": "#line_continuation_character"3738}3739]3740},3741{3742"begin": "[^'\"]",3743"end": "(?<!\\\\)(?=\\n)",3744"beginCaptures": {},3745"endCaptures": {},3746"name": "string.unquoted.cuda-cpp",3747"patterns": [3748{3749"include": "#line_continuation_character"3750},3751{3752"include": "#comments"3753}3754]3755}3756]3757},3758"emacs_file_banner": {3759"match": "(?:(^(?:(?:\\s)+)?((\\/\\/)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\4(?:(?:\\s)+)?(?:\\n|$)))|(^(?:(?:\\s)+)?((\\/\\*)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\8(?:(?:\\s)+)?\\*\\/)))",3760"captures": {3761"1": {3762"name": "meta.toc-list.banner.double-slash.cuda-cpp"3763},3764"2": {3765"name": "comment.line.double-slash.cuda-cpp"3766},3767"3": {3768"name": "punctuation.definition.comment.cuda-cpp"3769},3770"4": {3771"name": "meta.banner.character.cuda-cpp"3772},3773"5": {3774"name": "meta.toc-list.banner.block.cuda-cpp"3775},3776"6": {3777"name": "comment.line.banner.cuda-cpp"3778},3779"7": {3780"name": "punctuation.definition.comment.cuda-cpp"3781},3782"8": {3783"name": "meta.banner.character.cuda-cpp"3784}3785}3786},3787"empty_square_brackets": {3788"name": "storage.modifier.array.bracket.square",3789"match": "(?<!delete)\\[(?:(?:\\s)+)?\\]"3790},3791"enum_block": {3792"begin": "((?<!\\w)enum(?!\\w))(?:(?:\\s)+(class|struct))?(?:(?:(?:\\s)+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:(?:\\s)+)?((?:(?<!\\w)(?:[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}))*(?!\\w))?)(?:(?:(?:\\s)+)?(:)(?:(?:\\s)+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?<!\\w)(?:[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}))*(?!\\w)))?",3793"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",3794"beginCaptures": {3795"0": {3796"name": "meta.head.enum.cuda-cpp"3797},3798"1": {3799"name": "storage.type.enum.cuda-cpp"3800},3801"2": {3802"name": "storage.type.enum.enum-key.$2.cuda-cpp"3803},3804"3": {3805"patterns": [3806{3807"include": "#attributes_context"3808},3809{3810"include": "#number_literal"3811}3812]3813},3814"4": {3815"name": "entity.name.type.enum.cuda-cpp"3816},3817"5": {3818"name": "punctuation.separator.colon.type-specifier.cuda-cpp"3819},3820"6": {3821"patterns": [3822{3823"include": "#scope_resolution_inner_generated"3824}3825]3826},3827"7": {3828"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"3829},3830"8": {3831"patterns": [3832{3833"include": "#template_call_range"3834}3835]3836},3837"9": {},3838"10": {3839"name": "entity.name.scope-resolution.cuda-cpp"3840},3841"11": {3842"name": "meta.template.call.cuda-cpp",3843"patterns": [3844{3845"include": "#template_call_range"3846}3847]3848},3849"12": {},3850"13": {3851"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"3852},3853"14": {3854"name": "storage.type.integral.$14.cuda-cpp"3855}3856},3857"endCaptures": {3858"1": {3859"name": "punctuation.terminator.statement.cuda-cpp"3860},3861"2": {3862"name": "punctuation.terminator.statement.cuda-cpp"3863}3864},3865"name": "meta.block.enum.cuda-cpp",3866"patterns": [3867{3868"begin": "\\G ?",3869"end": "(?:\\{|<%|\\?\\?<|(?=;))",3870"beginCaptures": {},3871"endCaptures": {3872"0": {3873"name": "punctuation.section.block.begin.bracket.curly.enum.cuda-cpp"3874}3875},3876"name": "meta.head.enum.cuda-cpp",3877"patterns": [3878{3879"include": "$self"3880}3881]3882},3883{3884"begin": "(?<=\\{|<%|\\?\\?<)",3885"end": "\\}|%>|\\?\\?>",3886"beginCaptures": {},3887"endCaptures": {3888"0": {3889"name": "punctuation.section.block.end.bracket.curly.enum.cuda-cpp"3890}3891},3892"name": "meta.body.enum.cuda-cpp",3893"patterns": [3894{3895"include": "#ever_present_context"3896},3897{3898"include": "#enumerator_list"3899},3900{3901"include": "#comments"3902},3903{3904"include": "#comma"3905},3906{3907"include": "#semicolon"3908}3909]3910},3911{3912"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",3913"end": "[\\s]*(?=;)",3914"beginCaptures": {},3915"endCaptures": {},3916"name": "meta.tail.enum.cuda-cpp",3917"patterns": [3918{3919"include": "$self"3920}3921]3922}3923]3924},3925"enum_declare": {3926"match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",3927"captures": {3928"1": {3929"name": "storage.type.enum.declare.cuda-cpp"3930},3931"2": {3932"patterns": [3933{3934"include": "#inline_comment"3935}3936]3937},3938"3": {3939"patterns": [3940{3941"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",3942"captures": {3943"1": {3944"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3945},3946"2": {3947"name": "comment.block.cuda-cpp"3948},3949"3": {3950"patterns": [3951{3952"match": "\\*\\/",3953"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3954},3955{3956"match": "\\*",3957"name": "comment.block.cuda-cpp"3958}3959]3960}3961}3962}3963]3964},3965"4": {3966"name": "entity.name.type.enum.cuda-cpp"3967},3968"5": {3969"patterns": [3970{3971"match": "\\*",3972"name": "storage.modifier.pointer.cuda-cpp"3973},3974{3975"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",3976"captures": {3977"1": {3978"patterns": [3979{3980"include": "#inline_comment"3981}3982]3983},3984"2": {3985"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"3986},3987"3": {3988"name": "comment.block.cuda-cpp"3989},3990"4": {3991"patterns": [3992{3993"match": "\\*\\/",3994"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"3995},3996{3997"match": "\\*",3998"name": "comment.block.cuda-cpp"3999}4000]4001}4002},4003"name": "invalid.illegal.reference-type.cuda-cpp"4004},4005{4006"match": "\\&",4007"name": "storage.modifier.reference.cuda-cpp"4008}4009]4010},4011"6": {4012"patterns": [4013{4014"include": "#inline_comment"4015}4016]4017},4018"7": {4019"patterns": [4020{4021"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",4022"captures": {4023"1": {4024"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4025},4026"2": {4027"name": "comment.block.cuda-cpp"4028},4029"3": {4030"patterns": [4031{4032"match": "\\*\\/",4033"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4034},4035{4036"match": "\\*",4037"name": "comment.block.cuda-cpp"4038}4039]4040}4041}4042}4043]4044},4045"8": {4046"patterns": [4047{4048"include": "#inline_comment"4049}4050]4051},4052"9": {4053"patterns": [4054{4055"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",4056"captures": {4057"1": {4058"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4059},4060"2": {4061"name": "comment.block.cuda-cpp"4062},4063"3": {4064"patterns": [4065{4066"match": "\\*\\/",4067"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4068},4069{4070"match": "\\*",4071"name": "comment.block.cuda-cpp"4072}4073]4074}4075}4076}4077]4078},4079"10": {4080"patterns": [4081{4082"include": "#inline_comment"4083}4084]4085},4086"11": {4087"patterns": [4088{4089"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",4090"captures": {4091"1": {4092"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4093},4094"2": {4095"name": "comment.block.cuda-cpp"4096},4097"3": {4098"patterns": [4099{4100"match": "\\*\\/",4101"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4102},4103{4104"match": "\\*",4105"name": "comment.block.cuda-cpp"4106}4107]4108}4109}4110}4111]4112},4113"12": {4114"name": "variable.other.object.declare.cuda-cpp"4115},4116"13": {4117"patterns": [4118{4119"include": "#inline_comment"4120}4121]4122},4123"14": {4124"patterns": [4125{4126"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",4127"captures": {4128"1": {4129"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4130},4131"2": {4132"name": "comment.block.cuda-cpp"4133},4134"3": {4135"patterns": [4136{4137"match": "\\*\\/",4138"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4139},4140{4141"match": "\\*",4142"name": "comment.block.cuda-cpp"4143}4144]4145}4146}4147}4148]4149}4150}4151},4152"enumerator_list": {4153"match": "((?<!\\w)(?:[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}))*(?!\\w))(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(.+?)(?:(?:\\s)+)?)?(?:(?:((?:[,;](?!')|\\n))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",4154"captures": {4155"1": {4156"name": "variable.other.enummember.cuda-cpp"4157},4158"2": {4159"patterns": [4160{4161"include": "#attributes_context"4162},4163{4164"include": "#number_literal"4165}4166]4167},4168"3": {4169"name": "keyword.operator.assignment.cuda-cpp"4170},4171"4": {4172"patterns": [4173{4174"include": "#evaluation_context"4175}4176]4177},4178"5": {4179"patterns": [4180{4181"include": "#comma"4182},4183{4184"include": "#semicolon"4185}4186]4187}4188},4189"name": "meta.enum.definition.cuda-cpp"4190},4191"evaluation_context": {4192"patterns": [4193{4194"include": "#ever_present_context"4195},4196{4197"include": "#string_context"4198},4199{4200"include": "#number_literal"4201},4202{4203"include": "#method_access"4204},4205{4206"include": "#member_access"4207},4208{4209"include": "#predefined_macros"4210},4211{4212"include": "#operators"4213},4214{4215"include": "#memory_operators"4216},4217{4218"include": "#wordlike_operators"4219},4220{4221"include": "#type_casting_operators"4222},4223{4224"include": "#control_flow_keywords"4225},4226{4227"include": "#exception_keywords"4228},4229{4230"include": "#the_this_keyword"4231},4232{4233"include": "#language_constants"4234},4235{4236"include": "#builtin_storage_type_initilizer"4237},4238{4239"include": "#qualifiers_and_specifiers_post_parameters"4240},4241{4242"include": "#functional_specifiers_pre_parameters"4243},4244{4245"include": "#storage_types"4246},4247{4248"include": "#lambdas"4249},4250{4251"include": "#attributes_context"4252},4253{4254"include": "#parentheses"4255},4256{4257"include": "#function_call"4258},4259{4260"include": "#scope_resolution_inner_generated"4261},4262{4263"include": "#square_brackets"4264},4265{4266"include": "#semicolon"4267},4268{4269"include": "#comma"4270}4271]4272},4273"ever_present_context": {4274"patterns": [4275{4276"include": "#pragma_mark"4277},4278{4279"include": "#pragma"4280},4281{4282"include": "#include"4283},4284{4285"include": "#line"4286},4287{4288"include": "#diagnostic"4289},4290{4291"include": "#undef"4292},4293{4294"include": "#preprocessor_conditional_range"4295},4296{4297"include": "#single_line_macro"4298},4299{4300"include": "#macro"4301},4302{4303"include": "#preprocessor_conditional_standalone"4304},4305{4306"include": "#macro_argument"4307},4308{4309"include": "#comments"4310},4311{4312"include": "#line_continuation_character"4313}4314]4315},4316"exception_keywords": {4317"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))",4318"captures": {4319"1": {4320"patterns": [4321{4322"include": "#inline_comment"4323}4324]4325},4326"2": {4327"patterns": [4328{4329"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",4330"captures": {4331"1": {4332"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4333},4334"2": {4335"name": "comment.block.cuda-cpp"4336},4337"3": {4338"patterns": [4339{4340"match": "\\*\\/",4341"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4342},4343{4344"match": "\\*",4345"name": "comment.block.cuda-cpp"4346}4347]4348}4349}4350}4351]4352},4353"3": {4354"name": "keyword.control.exception.$3.cuda-cpp"4355}4356}4357},4358"extern_block": {4359"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")",4360"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",4361"beginCaptures": {4362"0": {4363"name": "meta.head.extern.cuda-cpp"4364},4365"1": {4366"patterns": [4367{4368"include": "#inline_comment"4369}4370]4371},4372"2": {4373"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4374},4375"3": {4376"name": "comment.block.cuda-cpp"4377},4378"4": {4379"patterns": [4380{4381"match": "\\*\\/",4382"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4383},4384{4385"match": "\\*",4386"name": "comment.block.cuda-cpp"4387}4388]4389},4390"5": {4391"name": "storage.type.extern.cuda-cpp"4392}4393},4394"endCaptures": {4395"1": {4396"name": "punctuation.terminator.statement.cuda-cpp"4397},4398"2": {4399"name": "punctuation.terminator.statement.cuda-cpp"4400}4401},4402"name": "meta.block.extern.cuda-cpp",4403"patterns": [4404{4405"begin": "\\G ?",4406"end": "(?:\\{|<%|\\?\\?<|(?=;))",4407"beginCaptures": {},4408"endCaptures": {4409"0": {4410"name": "punctuation.section.block.begin.bracket.curly.extern.cuda-cpp"4411}4412},4413"name": "meta.head.extern.cuda-cpp",4414"patterns": [4415{4416"include": "$self"4417}4418]4419},4420{4421"begin": "(?<=\\{|<%|\\?\\?<)",4422"end": "\\}|%>|\\?\\?>",4423"beginCaptures": {},4424"endCaptures": {4425"0": {4426"name": "punctuation.section.block.end.bracket.curly.extern.cuda-cpp"4427}4428},4429"name": "meta.body.extern.cuda-cpp",4430"patterns": [4431{4432"include": "$self"4433}4434]4435},4436{4437"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",4438"end": "[\\s]*(?=;)",4439"beginCaptures": {},4440"endCaptures": {},4441"name": "meta.tail.extern.cuda-cpp",4442"patterns": [4443{4444"include": "$self"4445}4446]4447},4448{4449"include": "$self"4450}4451]4452},4453"function_body_context": {4454"patterns": [4455{4456"include": "#ever_present_context"4457},4458{4459"include": "#using_namespace"4460},4461{4462"include": "#type_alias"4463},4464{4465"include": "#using_name"4466},4467{4468"include": "#namespace_alias"4469},4470{4471"include": "#typedef_class"4472},4473{4474"include": "#typedef_struct"4475},4476{4477"include": "#typedef_union"4478},4479{4480"include": "#misc_keywords"4481},4482{4483"include": "#standard_declares"4484},4485{4486"include": "#class_block"4487},4488{4489"include": "#struct_block"4490},4491{4492"include": "#union_block"4493},4494{4495"include": "#enum_block"4496},4497{4498"include": "#access_control_keywords"4499},4500{4501"include": "#block"4502},4503{4504"include": "#static_assert"4505},4506{4507"include": "#assembly"4508},4509{4510"include": "#function_pointer"4511},4512{4513"include": "#switch_statement"4514},4515{4516"include": "#goto_statement"4517},4518{4519"include": "#evaluation_context"4520},4521{4522"include": "#label"4523}4524]4525},4526"function_call": {4527"begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[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}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\W__forceinline__|^__forceinline__|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wuint_fast64_t|^uint_fast64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wuint_fast8_t|^uint_fast8_t|\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__noinline__|^__noinline__|\\Wthread_local|^thread_local|\\Wsynchronized|^synchronized|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\W__managed__|^__managed__|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wulonglong1|^ulonglong1|\\Wulonglong2|^ulonglong2|\\Wulonglong3|^ulonglong3|\\Wulonglong4|^ulonglong4|\\W__shared__|^__shared__|\\W__global__|^__global__|\\W__device__|^__device__|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wlonglong1|^longlong1|\\Wlonglong2|^longlong2|\\Wlonglong3|^longlong3|\\Wlonglong4|^longlong4|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\WthreadIdx|^threadIdx|\\Wnamespace|^namespace|\\Wco_return|^co_return|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\W__host__|^__host__|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\WblockIdx|^blockIdx|\\WblockDim|^blockDim|\\WwarpSize|^warpSize|\\Wtemplate|^template|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Walignof|^alignof|\\Walignas|^alignas|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wu_short|^u_short|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wushort1|^ushort1|\\Wushort2|^ushort2|\\Wushort3|^ushort3|\\Wushort4|^ushort4|\\Wdouble1|^double1|\\Wdouble2|^double2|\\Wdouble3|^double3|\\Wdouble4|^double4|\\Wnullptr|^nullptr|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wprivate|^private|\\WgridDim|^gridDim|\\Wtypedef|^typedef|\\W__asm__|^__asm__|\\Wconcept|^concept|\\Wsizeof|^sizeof|\\Wdelete|^delete|\\Wnot_eq|^not_eq|\\Wbitand|^bitand|\\Wand_eq|^and_eq|\\Wxor_eq|^xor_eq|\\Wtypeid|^typeid|\\Wswitch|^switch|\\Wreturn|^return|\\Wsigned|^signed|\\Wdouble|^double|\\Wu_char|^u_char|\\Wu_long|^u_long|\\Wushort|^ushort|\\Wquad_t|^quad_t|\\Wmode_t|^mode_t|\\Wsize_t|^size_t|\\Wtime_t|^time_t|\\Wint8_t|^int8_t|\\Wuchar1|^uchar1|\\Wuchar2|^uchar2|\\Wuchar3|^uchar3|\\Wuchar4|^uchar4|\\Wshort1|^short1|\\Wshort2|^short2|\\Wshort3|^short3|\\Wshort4|^short4|\\Wulong4|^ulong4|\\Wulong1|^ulong1|\\Wulong2|^ulong2|\\Wulong3|^ulong3|\\Wulong4|^ulong4|\\Wfloat1|^float1|\\Wfloat2|^float2|\\Wfloat3|^float3|\\Wfloat4|^float4|\\Wstruct|^struct|\\Wstatic|^static|\\Wextern|^extern|\\Winline|^inline|\\Wfriend|^friend|\\Wpublic|^public|\\Wexport|^export|\\Wimport|^import|\\Wmodule|^module|\\Wcompl|^compl|\\Wbitor|^bitor|\\Wthrow|^throw|\\Wor_eq|^or_eq|\\Wwhile|^while|\\Wcatch|^catch|\\Wbreak|^break|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wchar1|^char1|\\Wchar2|^char2|\\Wchar3|^char3|\\Wchar4|^char4|\\Wuint1|^uint1|\\Wuint2|^uint2|\\Wuint3|^uint3|\\Wuint4|^uint4|\\Wlong1|^long1|\\Wlong2|^long2|\\Wlong3|^long3|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wconst|^const|\\Wusing|^using|\\Welse|^else|\\Wgoto|^goto|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wchar|^char|\\Wlong|^long|\\Wbool|^bool|\\Wuint|^uint|\\Wid_t|^id_t|\\Wid_t|^id_t|\\Wint1|^int1|\\Wint2|^int2|\\Wint3|^int3|\\Wint4|^int4|\\Wdim3|^dim3|\\WNULL|^NULL|\\Wtrue|^true|\\Wenum|^enum|\\Wthis|^this|\\Wnot|^not|\\Wnew|^new|\\Wxor|^xor|\\Wand|^and|\\Wfor|^for|\\Wtry|^try|\\Wint|^int|\\Wasm|^asm|\\Wor|^or|\\Wdo|^do|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()",4528"end": "\\)",4529"beginCaptures": {4530"1": {4531"patterns": [4532{4533"include": "#scope_resolution_function_call_inner_generated"4534}4535]4536},4537"2": {4538"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"4539},4540"3": {4541"patterns": [4542{4543"include": "#template_call_range"4544}4545]4546},4547"4": {},4548"5": {4549"name": "entity.name.function.call.cuda-cpp"4550},4551"6": {4552"patterns": [4553{4554"include": "#inline_comment"4555}4556]4557},4558"7": {4559"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4560},4561"8": {4562"name": "comment.block.cuda-cpp"4563},4564"9": {4565"patterns": [4566{4567"match": "\\*\\/",4568"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4569},4570{4571"match": "\\*",4572"name": "comment.block.cuda-cpp"4573}4574]4575},4576"10": {4577"name": "meta.template.call.cuda-cpp",4578"patterns": [4579{4580"include": "#template_call_range"4581}4582]4583},4584"11": {},4585"12": {4586"name": "punctuation.section.arguments.begin.bracket.round.function.call.cuda-cpp"4587}4588},4589"endCaptures": {4590"0": {4591"name": "punctuation.section.arguments.end.bracket.round.function.call.cuda-cpp"4592}4593},4594"patterns": [4595{4596"include": "#evaluation_context"4597}4598]4599},4600"function_definition": {4601"begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)template(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[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}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\W__forceinline__|^__forceinline__|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wuint_fast64_t|^uint_fast64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wuint_fast8_t|^uint_fast8_t|\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__noinline__|^__noinline__|\\Wthread_local|^thread_local|\\Wsynchronized|^synchronized|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\W__managed__|^__managed__|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wulonglong1|^ulonglong1|\\Wulonglong2|^ulonglong2|\\Wulonglong3|^ulonglong3|\\Wulonglong4|^ulonglong4|\\W__shared__|^__shared__|\\W__global__|^__global__|\\W__device__|^__device__|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wlonglong1|^longlong1|\\Wlonglong2|^longlong2|\\Wlonglong3|^longlong3|\\Wlonglong4|^longlong4|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\WthreadIdx|^threadIdx|\\Wnamespace|^namespace|\\Wco_return|^co_return|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\W__host__|^__host__|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\WblockIdx|^blockIdx|\\WblockDim|^blockDim|\\WwarpSize|^warpSize|\\Wtemplate|^template|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Walignof|^alignof|\\Walignas|^alignas|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wu_short|^u_short|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wushort1|^ushort1|\\Wushort2|^ushort2|\\Wushort3|^ushort3|\\Wushort4|^ushort4|\\Wdouble1|^double1|\\Wdouble2|^double2|\\Wdouble3|^double3|\\Wdouble4|^double4|\\Wnullptr|^nullptr|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wprivate|^private|\\WgridDim|^gridDim|\\Wtypedef|^typedef|\\W__asm__|^__asm__|\\Wconcept|^concept|\\Wsizeof|^sizeof|\\Wdelete|^delete|\\Wnot_eq|^not_eq|\\Wbitand|^bitand|\\Wand_eq|^and_eq|\\Wxor_eq|^xor_eq|\\Wtypeid|^typeid|\\Wswitch|^switch|\\Wreturn|^return|\\Wsigned|^signed|\\Wdouble|^double|\\Wu_char|^u_char|\\Wu_long|^u_long|\\Wushort|^ushort|\\Wquad_t|^quad_t|\\Wmode_t|^mode_t|\\Wsize_t|^size_t|\\Wtime_t|^time_t|\\Wint8_t|^int8_t|\\Wuchar1|^uchar1|\\Wuchar2|^uchar2|\\Wuchar3|^uchar3|\\Wuchar4|^uchar4|\\Wshort1|^short1|\\Wshort2|^short2|\\Wshort3|^short3|\\Wshort4|^short4|\\Wulong4|^ulong4|\\Wulong1|^ulong1|\\Wulong2|^ulong2|\\Wulong3|^ulong3|\\Wulong4|^ulong4|\\Wfloat1|^float1|\\Wfloat2|^float2|\\Wfloat3|^float3|\\Wfloat4|^float4|\\Wstruct|^struct|\\Wstatic|^static|\\Wextern|^extern|\\Winline|^inline|\\Wfriend|^friend|\\Wpublic|^public|\\Wexport|^export|\\Wimport|^import|\\Wmodule|^module|\\Wcompl|^compl|\\Wbitor|^bitor|\\Wthrow|^throw|\\Wor_eq|^or_eq|\\Wwhile|^while|\\Wcatch|^catch|\\Wbreak|^break|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wchar1|^char1|\\Wchar2|^char2|\\Wchar3|^char3|\\Wchar4|^char4|\\Wuint1|^uint1|\\Wuint2|^uint2|\\Wuint3|^uint3|\\Wuint4|^uint4|\\Wlong1|^long1|\\Wlong2|^long2|\\Wlong3|^long3|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wconst|^const|\\Wusing|^using|\\Welse|^else|\\Wgoto|^goto|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wchar|^char|\\Wlong|^long|\\Wbool|^bool|\\Wuint|^uint|\\Wid_t|^id_t|\\Wid_t|^id_t|\\Wint1|^int1|\\Wint2|^int2|\\Wint3|^int3|\\Wint4|^int4|\\Wdim3|^dim3|\\WNULL|^NULL|\\Wtrue|^true|\\Wenum|^enum|\\Wthis|^this|\\Wnot|^not|\\Wnew|^new|\\Wxor|^xor|\\Wand|^and|\\Wfor|^for|\\Wtry|^try|\\Wint|^int|\\Wasm|^asm|\\Wor|^or|\\Wdo|^do|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()",4602"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",4603"beginCaptures": {4604"0": {4605"name": "meta.head.function.definition.cuda-cpp"4606},4607"1": {4608"patterns": [4609{4610"include": "#inline_comment"4611}4612]4613},4614"2": {4615"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4616},4617"3": {4618"name": "comment.block.cuda-cpp"4619},4620"4": {4621"patterns": [4622{4623"match": "\\*\\/",4624"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4625},4626{4627"match": "\\*",4628"name": "comment.block.cuda-cpp"4629}4630]4631},4632"5": {4633"name": "storage.type.template.cuda-cpp"4634},4635"6": {4636"patterns": [4637{4638"include": "#inline_comment"4639}4640]4641},4642"7": {4643"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4644},4645"8": {4646"name": "comment.block.cuda-cpp"4647},4648"9": {4649"patterns": [4650{4651"match": "\\*\\/",4652"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4653},4654{4655"match": "\\*",4656"name": "comment.block.cuda-cpp"4657}4658]4659},4660"10": {4661"patterns": [4662{4663"include": "#attributes_context"4664},4665{4666"include": "#number_literal"4667}4668]4669},4670"11": {4671"patterns": [4672{4673"match": "((?<!\\w)(?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",4674"captures": {4675"1": {4676"name": "storage.modifier.$1.cuda-cpp"4677},4678"2": {4679"patterns": [4680{4681"include": "#inline_comment"4682}4683]4684},4685"3": {4686"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4687},4688"4": {4689"name": "comment.block.cuda-cpp"4690},4691"5": {4692"patterns": [4693{4694"match": "\\*\\/",4695"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4696},4697{4698"match": "\\*",4699"name": "comment.block.cuda-cpp"4700}4701]4702}4703}4704}4705]4706},4707"12": {4708"name": "storage.modifier.$12.cuda-cpp"4709},4710"13": {4711"patterns": [4712{4713"include": "#inline_comment"4714}4715]4716},4717"14": {4718"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4719},4720"15": {4721"name": "comment.block.cuda-cpp"4722},4723"16": {4724"patterns": [4725{4726"match": "\\*\\/",4727"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4728},4729{4730"match": "\\*",4731"name": "comment.block.cuda-cpp"4732}4733]4734},4735"17": {4736"name": "meta.qualified_type.cuda-cpp",4737"patterns": [4738{4739"match": "::",4740"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"4741},4742{4743"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",4744"name": "storage.type.$0.cuda-cpp"4745},4746{4747"include": "#attributes_context"4748},4749{4750"include": "#storage_types"4751},4752{4753"include": "#number_literal"4754},4755{4756"include": "#string_context"4757},4758{4759"include": "#comma"4760},4761{4762"include": "#scope_resolution_inner_generated"4763},4764{4765"begin": "<",4766"end": ">",4767"beginCaptures": {4768"0": {4769"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"4770}4771},4772"endCaptures": {4773"0": {4774"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"4775}4776},4777"name": "meta.template.call.cuda-cpp",4778"patterns": [4779{4780"include": "#template_call_context"4781}4782]4783},4784{4785"match": "(?:[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}))*",4786"name": "entity.name.type.cuda-cpp"4787}4788]4789},4790"18": {4791"patterns": [4792{4793"include": "#attributes_context"4794},4795{4796"include": "#number_literal"4797}4798]4799},4800"19": {4801"patterns": [4802{4803"include": "#inline_comment"4804}4805]4806},4807"20": {4808"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4809},4810"21": {4811"name": "comment.block.cuda-cpp"4812},4813"22": {4814"patterns": [4815{4816"match": "\\*\\/",4817"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4818},4819{4820"match": "\\*",4821"name": "comment.block.cuda-cpp"4822}4823]4824},4825"23": {4826"patterns": [4827{4828"include": "#inline_comment"4829}4830]4831},4832"24": {4833"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4834},4835"25": {4836"name": "comment.block.cuda-cpp"4837},4838"26": {4839"patterns": [4840{4841"match": "\\*\\/",4842"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4843},4844{4845"match": "\\*",4846"name": "comment.block.cuda-cpp"4847}4848]4849},4850"27": {4851"patterns": [4852{4853"match": "::",4854"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"4855},4856{4857"match": "(?<!\\w)(?:[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}))*(?!\\w)",4858"name": "entity.name.scope-resolution.type.cuda-cpp"4859},4860{4861"include": "#template_call_range"4862}4863]4864},4865"28": {4866"patterns": [4867{4868"include": "#template_call_range"4869}4870]4871},4872"29": {},4873"30": {4874"patterns": [4875{4876"include": "#inline_comment"4877}4878]4879},4880"31": {4881"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4882},4883"32": {4884"name": "comment.block.cuda-cpp"4885},4886"33": {4887"patterns": [4888{4889"match": "\\*\\/",4890"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4891},4892{4893"match": "\\*",4894"name": "comment.block.cuda-cpp"4895}4896]4897},4898"34": {},4899"35": {4900"patterns": [4901{4902"match": "\\*",4903"name": "storage.modifier.pointer.cuda-cpp"4904},4905{4906"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",4907"captures": {4908"1": {4909"patterns": [4910{4911"include": "#inline_comment"4912}4913]4914},4915"2": {4916"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4917},4918"3": {4919"name": "comment.block.cuda-cpp"4920},4921"4": {4922"patterns": [4923{4924"match": "\\*\\/",4925"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4926},4927{4928"match": "\\*",4929"name": "comment.block.cuda-cpp"4930}4931]4932}4933},4934"name": "invalid.illegal.reference-type.cuda-cpp"4935},4936{4937"match": "\\&",4938"name": "storage.modifier.reference.cuda-cpp"4939}4940]4941},4942"36": {4943"patterns": [4944{4945"include": "#inline_comment"4946}4947]4948},4949"37": {4950"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4951},4952"38": {4953"name": "comment.block.cuda-cpp"4954},4955"39": {4956"patterns": [4957{4958"match": "\\*\\/",4959"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4960},4961{4962"match": "\\*",4963"name": "comment.block.cuda-cpp"4964}4965]4966},4967"40": {4968"patterns": [4969{4970"include": "#inline_comment"4971}4972]4973},4974"41": {4975"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"4976},4977"42": {4978"name": "comment.block.cuda-cpp"4979},4980"43": {4981"patterns": [4982{4983"match": "\\*\\/",4984"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"4985},4986{4987"match": "\\*",4988"name": "comment.block.cuda-cpp"4989}4990]4991},4992"44": {4993"patterns": [4994{4995"include": "#inline_comment"4996}4997]4998},4999"45": {5000"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5001},5002"46": {5003"name": "comment.block.cuda-cpp"5004},5005"47": {5006"patterns": [5007{5008"match": "\\*\\/",5009"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5010},5011{5012"match": "\\*",5013"name": "comment.block.cuda-cpp"5014}5015]5016},5017"48": {5018"patterns": [5019{5020"include": "#inline_comment"5021}5022]5023},5024"49": {5025"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5026},5027"50": {5028"name": "comment.block.cuda-cpp"5029},5030"51": {5031"patterns": [5032{5033"match": "\\*\\/",5034"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5035},5036{5037"match": "\\*",5038"name": "comment.block.cuda-cpp"5039}5040]5041},5042"52": {5043"name": "storage.type.modifier.calling-convention.cuda-cpp"5044},5045"53": {5046"patterns": [5047{5048"include": "#inline_comment"5049}5050]5051},5052"54": {5053"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5054},5055"55": {5056"name": "comment.block.cuda-cpp"5057},5058"56": {5059"patterns": [5060{5061"match": "\\*\\/",5062"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5063},5064{5065"match": "\\*",5066"name": "comment.block.cuda-cpp"5067}5068]5069},5070"57": {5071"patterns": [5072{5073"include": "#scope_resolution_function_definition_inner_generated"5074}5075]5076},5077"58": {5078"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"5079},5080"59": {5081"patterns": [5082{5083"include": "#template_call_range"5084}5085]5086},5087"60": {},5088"61": {5089"name": "entity.name.function.definition.cuda-cpp"5090},5091"62": {5092"patterns": [5093{5094"include": "#inline_comment"5095}5096]5097},5098"63": {5099"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5100},5101"64": {5102"name": "comment.block.cuda-cpp"5103},5104"65": {5105"patterns": [5106{5107"match": "\\*\\/",5108"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5109},5110{5111"match": "\\*",5112"name": "comment.block.cuda-cpp"5113}5114]5115}5116},5117"endCaptures": {},5118"name": "meta.function.definition.cuda-cpp",5119"patterns": [5120{5121"begin": "\\G ?",5122"end": "(?:\\{|<%|\\?\\?<|(?=;))",5123"beginCaptures": {},5124"endCaptures": {5125"0": {5126"name": "punctuation.section.block.begin.bracket.curly.function.definition.cuda-cpp"5127}5128},5129"name": "meta.head.function.definition.cuda-cpp",5130"patterns": [5131{5132"include": "#ever_present_context"5133},5134{5135"begin": "\\(",5136"end": "\\)",5137"beginCaptures": {5138"0": {5139"name": "punctuation.section.parameters.begin.bracket.round.cuda-cpp"5140}5141},5142"endCaptures": {5143"0": {5144"name": "punctuation.section.parameters.end.bracket.round.cuda-cpp"5145}5146},5147"contentName": "meta.function.definition.parameters",5148"patterns": [5149{5150"include": "#ever_present_context"5151},5152{5153"include": "#parameter_or_maybe_value"5154},5155{5156"include": "#comma"5157},5158{5159"include": "#evaluation_context"5160}5161]5162},5163{5164"match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))",5165"captures": {5166"1": {5167"name": "punctuation.definition.function.return-type.cuda-cpp"5168},5169"2": {5170"patterns": [5171{5172"include": "#inline_comment"5173}5174]5175},5176"3": {5177"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5178},5179"4": {5180"name": "comment.block.cuda-cpp"5181},5182"5": {5183"patterns": [5184{5185"match": "\\*\\/",5186"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5187},5188{5189"match": "\\*",5190"name": "comment.block.cuda-cpp"5191}5192]5193},5194"6": {5195"name": "meta.qualified_type.cuda-cpp",5196"patterns": [5197{5198"match": "::",5199"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"5200},5201{5202"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",5203"name": "storage.type.$0.cuda-cpp"5204},5205{5206"include": "#attributes_context"5207},5208{5209"include": "#storage_types"5210},5211{5212"include": "#number_literal"5213},5214{5215"include": "#string_context"5216},5217{5218"include": "#comma"5219},5220{5221"include": "#scope_resolution_inner_generated"5222},5223{5224"begin": "<",5225"end": ">",5226"beginCaptures": {5227"0": {5228"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"5229}5230},5231"endCaptures": {5232"0": {5233"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"5234}5235},5236"name": "meta.template.call.cuda-cpp",5237"patterns": [5238{5239"include": "#template_call_context"5240}5241]5242},5243{5244"match": "(?:[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}))*",5245"name": "entity.name.type.cuda-cpp"5246}5247]5248},5249"7": {5250"patterns": [5251{5252"include": "#attributes_context"5253},5254{5255"include": "#number_literal"5256}5257]5258},5259"8": {5260"patterns": [5261{5262"include": "#inline_comment"5263}5264]5265},5266"9": {5267"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5268},5269"10": {5270"name": "comment.block.cuda-cpp"5271},5272"11": {5273"patterns": [5274{5275"match": "\\*\\/",5276"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5277},5278{5279"match": "\\*",5280"name": "comment.block.cuda-cpp"5281}5282]5283},5284"12": {5285"patterns": [5286{5287"include": "#inline_comment"5288}5289]5290},5291"13": {5292"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5293},5294"14": {5295"name": "comment.block.cuda-cpp"5296},5297"15": {5298"patterns": [5299{5300"match": "\\*\\/",5301"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5302},5303{5304"match": "\\*",5305"name": "comment.block.cuda-cpp"5306}5307]5308},5309"16": {5310"patterns": [5311{5312"match": "::",5313"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"5314},5315{5316"match": "(?<!\\w)(?:[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}))*(?!\\w)",5317"name": "entity.name.scope-resolution.type.cuda-cpp"5318},5319{5320"include": "#template_call_range"5321}5322]5323},5324"17": {5325"patterns": [5326{5327"include": "#template_call_range"5328}5329]5330},5331"18": {},5332"19": {5333"patterns": [5334{5335"include": "#inline_comment"5336}5337]5338},5339"20": {5340"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5341},5342"21": {5343"name": "comment.block.cuda-cpp"5344},5345"22": {5346"patterns": [5347{5348"match": "\\*\\/",5349"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5350},5351{5352"match": "\\*",5353"name": "comment.block.cuda-cpp"5354}5355]5356},5357"23": {}5358}5359},5360{5361"include": "$self"5362}5363]5364},5365{5366"begin": "(?<=\\{|<%|\\?\\?<)",5367"end": "\\}|%>|\\?\\?>",5368"beginCaptures": {},5369"endCaptures": {5370"0": {5371"name": "punctuation.section.block.end.bracket.curly.function.definition.cuda-cpp"5372}5373},5374"name": "meta.body.function.definition.cuda-cpp",5375"patterns": [5376{5377"include": "#function_body_context"5378}5379]5380},5381{5382"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",5383"end": "[\\s]*(?=;)",5384"beginCaptures": {},5385"endCaptures": {},5386"name": "meta.tail.function.definition.cuda-cpp",5387"patterns": [5388{5389"include": "$self"5390}5391]5392}5393]5394},5395"function_parameter_context": {5396"patterns": [5397{5398"include": "#ever_present_context"5399},5400{5401"include": "#parameter"5402},5403{5404"include": "#comma"5405}5406]5407},5408"function_pointer": {5409"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[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}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",5410"end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",5411"beginCaptures": {5412"1": {5413"name": "meta.qualified_type.cuda-cpp",5414"patterns": [5415{5416"match": "::",5417"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"5418},5419{5420"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",5421"name": "storage.type.$0.cuda-cpp"5422},5423{5424"include": "#attributes_context"5425},5426{5427"include": "#storage_types"5428},5429{5430"include": "#number_literal"5431},5432{5433"include": "#string_context"5434},5435{5436"include": "#comma"5437},5438{5439"include": "#scope_resolution_inner_generated"5440},5441{5442"begin": "<",5443"end": ">",5444"beginCaptures": {5445"0": {5446"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"5447}5448},5449"endCaptures": {5450"0": {5451"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"5452}5453},5454"name": "meta.template.call.cuda-cpp",5455"patterns": [5456{5457"include": "#template_call_context"5458}5459]5460},5461{5462"match": "(?:[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}))*",5463"name": "entity.name.type.cuda-cpp"5464}5465]5466},5467"2": {5468"patterns": [5469{5470"include": "#attributes_context"5471},5472{5473"include": "#number_literal"5474}5475]5476},5477"3": {5478"patterns": [5479{5480"include": "#inline_comment"5481}5482]5483},5484"4": {5485"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5486},5487"5": {5488"name": "comment.block.cuda-cpp"5489},5490"6": {5491"patterns": [5492{5493"match": "\\*\\/",5494"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5495},5496{5497"match": "\\*",5498"name": "comment.block.cuda-cpp"5499}5500]5501},5502"7": {5503"patterns": [5504{5505"include": "#inline_comment"5506}5507]5508},5509"8": {5510"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5511},5512"9": {5513"name": "comment.block.cuda-cpp"5514},5515"10": {5516"patterns": [5517{5518"match": "\\*\\/",5519"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5520},5521{5522"match": "\\*",5523"name": "comment.block.cuda-cpp"5524}5525]5526},5527"11": {5528"patterns": [5529{5530"match": "::",5531"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"5532},5533{5534"match": "(?<!\\w)(?:[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}))*(?!\\w)",5535"name": "entity.name.scope-resolution.type.cuda-cpp"5536},5537{5538"include": "#template_call_range"5539}5540]5541},5542"12": {5543"patterns": [5544{5545"include": "#template_call_range"5546}5547]5548},5549"13": {},5550"14": {5551"patterns": [5552{5553"include": "#inline_comment"5554}5555]5556},5557"15": {5558"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5559},5560"16": {5561"name": "comment.block.cuda-cpp"5562},5563"17": {5564"patterns": [5565{5566"match": "\\*\\/",5567"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5568},5569{5570"match": "\\*",5571"name": "comment.block.cuda-cpp"5572}5573]5574},5575"18": {},5576"19": {5577"patterns": [5578{5579"match": "\\*",5580"name": "storage.modifier.pointer.cuda-cpp"5581},5582{5583"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",5584"captures": {5585"1": {5586"patterns": [5587{5588"include": "#inline_comment"5589}5590]5591},5592"2": {5593"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5594},5595"3": {5596"name": "comment.block.cuda-cpp"5597},5598"4": {5599"patterns": [5600{5601"match": "\\*\\/",5602"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5603},5604{5605"match": "\\*",5606"name": "comment.block.cuda-cpp"5607}5608]5609}5610},5611"name": "invalid.illegal.reference-type.cuda-cpp"5612},5613{5614"match": "\\&",5615"name": "storage.modifier.reference.cuda-cpp"5616}5617]5618},5619"20": {5620"patterns": [5621{5622"include": "#inline_comment"5623}5624]5625},5626"21": {5627"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5628},5629"22": {5630"name": "comment.block.cuda-cpp"5631},5632"23": {5633"patterns": [5634{5635"match": "\\*\\/",5636"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5637},5638{5639"match": "\\*",5640"name": "comment.block.cuda-cpp"5641}5642]5643},5644"24": {5645"patterns": [5646{5647"include": "#inline_comment"5648}5649]5650},5651"25": {5652"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5653},5654"26": {5655"name": "comment.block.cuda-cpp"5656},5657"27": {5658"patterns": [5659{5660"match": "\\*\\/",5661"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5662},5663{5664"match": "\\*",5665"name": "comment.block.cuda-cpp"5666}5667]5668},5669"28": {5670"patterns": [5671{5672"include": "#inline_comment"5673}5674]5675},5676"29": {5677"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5678},5679"30": {5680"name": "comment.block.cuda-cpp"5681},5682"31": {5683"patterns": [5684{5685"match": "\\*\\/",5686"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5687},5688{5689"match": "\\*",5690"name": "comment.block.cuda-cpp"5691}5692]5693},5694"32": {5695"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp"5696},5697"33": {5698"name": "punctuation.definition.function.pointer.dereference.cuda-cpp"5699},5700"34": {5701"name": "variable.other.definition.pointer.function.cuda-cpp"5702},5703"35": {5704"name": "punctuation.definition.begin.bracket.square.cuda-cpp"5705},5706"36": {5707"patterns": [5708{5709"include": "#evaluation_context"5710}5711]5712},5713"37": {5714"name": "punctuation.definition.end.bracket.square.cuda-cpp"5715},5716"38": {5717"name": "punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp"5718},5719"39": {5720"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp"5721}5722},5723"endCaptures": {5724"1": {5725"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp"5726},5727"2": {5728"patterns": [5729{5730"include": "#inline_comment"5731}5732]5733},5734"3": {5735"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5736},5737"4": {5738"name": "comment.block.cuda-cpp"5739},5740"5": {5741"patterns": [5742{5743"match": "\\*\\/",5744"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5745},5746{5747"match": "\\*",5748"name": "comment.block.cuda-cpp"5749}5750]5751}5752},5753"patterns": [5754{5755"include": "#function_parameter_context"5756}5757]5758},5759"function_pointer_parameter": {5760"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[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}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",5761"end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",5762"beginCaptures": {5763"1": {5764"name": "meta.qualified_type.cuda-cpp",5765"patterns": [5766{5767"match": "::",5768"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"5769},5770{5771"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",5772"name": "storage.type.$0.cuda-cpp"5773},5774{5775"include": "#attributes_context"5776},5777{5778"include": "#storage_types"5779},5780{5781"include": "#number_literal"5782},5783{5784"include": "#string_context"5785},5786{5787"include": "#comma"5788},5789{5790"include": "#scope_resolution_inner_generated"5791},5792{5793"begin": "<",5794"end": ">",5795"beginCaptures": {5796"0": {5797"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"5798}5799},5800"endCaptures": {5801"0": {5802"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"5803}5804},5805"name": "meta.template.call.cuda-cpp",5806"patterns": [5807{5808"include": "#template_call_context"5809}5810]5811},5812{5813"match": "(?:[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}))*",5814"name": "entity.name.type.cuda-cpp"5815}5816]5817},5818"2": {5819"patterns": [5820{5821"include": "#attributes_context"5822},5823{5824"include": "#number_literal"5825}5826]5827},5828"3": {5829"patterns": [5830{5831"include": "#inline_comment"5832}5833]5834},5835"4": {5836"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5837},5838"5": {5839"name": "comment.block.cuda-cpp"5840},5841"6": {5842"patterns": [5843{5844"match": "\\*\\/",5845"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5846},5847{5848"match": "\\*",5849"name": "comment.block.cuda-cpp"5850}5851]5852},5853"7": {5854"patterns": [5855{5856"include": "#inline_comment"5857}5858]5859},5860"8": {5861"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5862},5863"9": {5864"name": "comment.block.cuda-cpp"5865},5866"10": {5867"patterns": [5868{5869"match": "\\*\\/",5870"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5871},5872{5873"match": "\\*",5874"name": "comment.block.cuda-cpp"5875}5876]5877},5878"11": {5879"patterns": [5880{5881"match": "::",5882"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"5883},5884{5885"match": "(?<!\\w)(?:[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}))*(?!\\w)",5886"name": "entity.name.scope-resolution.type.cuda-cpp"5887},5888{5889"include": "#template_call_range"5890}5891]5892},5893"12": {5894"patterns": [5895{5896"include": "#template_call_range"5897}5898]5899},5900"13": {},5901"14": {5902"patterns": [5903{5904"include": "#inline_comment"5905}5906]5907},5908"15": {5909"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5910},5911"16": {5912"name": "comment.block.cuda-cpp"5913},5914"17": {5915"patterns": [5916{5917"match": "\\*\\/",5918"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5919},5920{5921"match": "\\*",5922"name": "comment.block.cuda-cpp"5923}5924]5925},5926"18": {},5927"19": {5928"patterns": [5929{5930"match": "\\*",5931"name": "storage.modifier.pointer.cuda-cpp"5932},5933{5934"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",5935"captures": {5936"1": {5937"patterns": [5938{5939"include": "#inline_comment"5940}5941]5942},5943"2": {5944"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5945},5946"3": {5947"name": "comment.block.cuda-cpp"5948},5949"4": {5950"patterns": [5951{5952"match": "\\*\\/",5953"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5954},5955{5956"match": "\\*",5957"name": "comment.block.cuda-cpp"5958}5959]5960}5961},5962"name": "invalid.illegal.reference-type.cuda-cpp"5963},5964{5965"match": "\\&",5966"name": "storage.modifier.reference.cuda-cpp"5967}5968]5969},5970"20": {5971"patterns": [5972{5973"include": "#inline_comment"5974}5975]5976},5977"21": {5978"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"5979},5980"22": {5981"name": "comment.block.cuda-cpp"5982},5983"23": {5984"patterns": [5985{5986"match": "\\*\\/",5987"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"5988},5989{5990"match": "\\*",5991"name": "comment.block.cuda-cpp"5992}5993]5994},5995"24": {5996"patterns": [5997{5998"include": "#inline_comment"5999}6000]6001},6002"25": {6003"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6004},6005"26": {6006"name": "comment.block.cuda-cpp"6007},6008"27": {6009"patterns": [6010{6011"match": "\\*\\/",6012"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6013},6014{6015"match": "\\*",6016"name": "comment.block.cuda-cpp"6017}6018]6019},6020"28": {6021"patterns": [6022{6023"include": "#inline_comment"6024}6025]6026},6027"29": {6028"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6029},6030"30": {6031"name": "comment.block.cuda-cpp"6032},6033"31": {6034"patterns": [6035{6036"match": "\\*\\/",6037"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6038},6039{6040"match": "\\*",6041"name": "comment.block.cuda-cpp"6042}6043]6044},6045"32": {6046"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp"6047},6048"33": {6049"name": "punctuation.definition.function.pointer.dereference.cuda-cpp"6050},6051"34": {6052"name": "variable.parameter.pointer.function.cuda-cpp"6053},6054"35": {6055"name": "punctuation.definition.begin.bracket.square.cuda-cpp"6056},6057"36": {6058"patterns": [6059{6060"include": "#evaluation_context"6061}6062]6063},6064"37": {6065"name": "punctuation.definition.end.bracket.square.cuda-cpp"6066},6067"38": {6068"name": "punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp"6069},6070"39": {6071"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp"6072}6073},6074"endCaptures": {6075"1": {6076"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp"6077},6078"2": {6079"patterns": [6080{6081"include": "#inline_comment"6082}6083]6084},6085"3": {6086"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6087},6088"4": {6089"name": "comment.block.cuda-cpp"6090},6091"5": {6092"patterns": [6093{6094"match": "\\*\\/",6095"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6096},6097{6098"match": "\\*",6099"name": "comment.block.cuda-cpp"6100}6101]6102}6103},6104"patterns": [6105{6106"include": "#function_parameter_context"6107}6108]6109},6110"functional_specifiers_pre_parameters": {6111"match": "(?<!\\w)(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)",6112"name": "storage.modifier.specifier.functional.pre-parameters.$0.cuda-cpp"6113},6114"gcc_attributes": {6115"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",6116"end": "\\)\\s*\\)",6117"beginCaptures": {6118"0": {6119"name": "punctuation.section.attribute.begin.cuda-cpp"6120}6121},6122"endCaptures": {6123"0": {6124"name": "punctuation.section.attribute.end.cuda-cpp"6125}6126},6127"name": "support.other.attribute.cuda-cpp",6128"patterns": [6129{6130"include": "#attributes_context"6131},6132{6133"begin": "\\(",6134"end": "\\)",6135"beginCaptures": {},6136"endCaptures": {},6137"patterns": [6138{6139"include": "#attributes_context"6140},6141{6142"include": "#string_context"6143}6144]6145},6146{6147"match": "(using)(?:\\s)+((?<!\\w)(?:[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}))*(?!\\w))",6148"captures": {6149"1": {6150"name": "keyword.other.using.directive.cuda-cpp"6151},6152"2": {6153"name": "entity.name.namespace.cuda-cpp"6154}6155}6156},6157{6158"match": ",",6159"name": "punctuation.separator.attribute.cuda-cpp"6160},6161{6162"match": ":",6163"name": "punctuation.accessor.attribute.cuda-cpp"6164},6165{6166"match": "(?<!\\w)(?:[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}))*(?!\\w)(?=::)",6167"name": "entity.name.namespace.cuda-cpp"6168},6169{6170"match": "(?<!\\w)(?:[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}))*(?!\\w)",6171"name": "entity.other.attribute.$0.cuda-cpp"6172},6173{6174"include": "#number_literal"6175}6176]6177},6178"goto_statement": {6179"match": "((?<!\\w)goto(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[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}))*)",6180"captures": {6181"1": {6182"name": "keyword.control.goto.cuda-cpp"6183},6184"2": {6185"patterns": [6186{6187"include": "#inline_comment"6188}6189]6190},6191"3": {6192"patterns": [6193{6194"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6195"captures": {6196"1": {6197"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6198},6199"2": {6200"name": "comment.block.cuda-cpp"6201},6202"3": {6203"patterns": [6204{6205"match": "\\*\\/",6206"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6207},6208{6209"match": "\\*",6210"name": "comment.block.cuda-cpp"6211}6212]6213}6214}6215}6216]6217},6218"4": {6219"name": "entity.name.label.call.cuda-cpp"6220}6221}6222},6223"identifier": {6224"match": "(?:[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}))*"6225},6226"include": {6227"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[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-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}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))",6228"captures": {6229"1": {6230"patterns": [6231{6232"include": "#inline_comment"6233}6234]6235},6236"2": {6237"patterns": [6238{6239"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6240"captures": {6241"1": {6242"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6243},6244"2": {6245"name": "comment.block.cuda-cpp"6246},6247"3": {6248"patterns": [6249{6250"match": "\\*\\/",6251"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6252},6253{6254"match": "\\*",6255"name": "comment.block.cuda-cpp"6256}6257]6258}6259}6260}6261]6262},6263"3": {6264"name": "keyword.control.directive.$5.cuda-cpp"6265},6266"4": {6267"name": "punctuation.definition.directive.cuda-cpp"6268},6269"6": {6270"name": "string.quoted.other.lt-gt.include.cuda-cpp"6271},6272"7": {6273"name": "punctuation.definition.string.begin.cuda-cpp"6274},6275"8": {6276"name": "punctuation.definition.string.end.cuda-cpp"6277},6278"9": {6279"patterns": [6280{6281"include": "#inline_comment"6282}6283]6284},6285"10": {6286"patterns": [6287{6288"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6289"captures": {6290"1": {6291"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6292},6293"2": {6294"name": "comment.block.cuda-cpp"6295},6296"3": {6297"patterns": [6298{6299"match": "\\*\\/",6300"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6301},6302{6303"match": "\\*",6304"name": "comment.block.cuda-cpp"6305}6306]6307}6308}6309}6310]6311},6312"11": {6313"name": "string.quoted.double.include.cuda-cpp"6314},6315"12": {6316"name": "punctuation.definition.string.begin.cuda-cpp"6317},6318"13": {6319"name": "punctuation.definition.string.end.cuda-cpp"6320},6321"14": {6322"patterns": [6323{6324"include": "#inline_comment"6325}6326]6327},6328"15": {6329"patterns": [6330{6331"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6332"captures": {6333"1": {6334"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6335},6336"2": {6337"name": "comment.block.cuda-cpp"6338},6339"3": {6340"patterns": [6341{6342"match": "\\*\\/",6343"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6344},6345{6346"match": "\\*",6347"name": "comment.block.cuda-cpp"6348}6349]6350}6351}6352}6353]6354},6355"16": {6356"name": "entity.name.other.preprocessor.macro.include.cuda-cpp"6357},6358"17": {6359"patterns": [6360{6361"include": "#inline_comment"6362}6363]6364},6365"18": {6366"patterns": [6367{6368"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6369"captures": {6370"1": {6371"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6372},6373"2": {6374"name": "comment.block.cuda-cpp"6375},6376"3": {6377"patterns": [6378{6379"match": "\\*\\/",6380"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6381},6382{6383"match": "\\*",6384"name": "comment.block.cuda-cpp"6385}6386]6387}6388}6389}6390]6391},6392"19": {6393"patterns": [6394{6395"include": "#inline_comment"6396}6397]6398},6399"20": {6400"patterns": [6401{6402"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6403"captures": {6404"1": {6405"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6406},6407"2": {6408"name": "comment.block.cuda-cpp"6409},6410"3": {6411"patterns": [6412{6413"match": "\\*\\/",6414"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6415},6416{6417"match": "\\*",6418"name": "comment.block.cuda-cpp"6419}6420]6421}6422}6423}6424]6425},6426"21": {6427"patterns": [6428{6429"include": "#inline_comment"6430}6431]6432},6433"22": {6434"patterns": [6435{6436"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6437"captures": {6438"1": {6439"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6440},6441"2": {6442"name": "comment.block.cuda-cpp"6443},6444"3": {6445"patterns": [6446{6447"match": "\\*\\/",6448"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6449},6450{6451"match": "\\*",6452"name": "comment.block.cuda-cpp"6453}6454]6455}6456}6457}6458]6459}6460},6461"name": "meta.preprocessor.include.cuda-cpp"6462},6463"inheritance_context": {6464"patterns": [6465{6466"include": "#ever_present_context"6467},6468{6469"match": ",",6470"name": "punctuation.separator.delimiter.comma.inheritance.cuda-cpp"6471},6472{6473"match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",6474"name": "storage.type.modifier.access.$0.cuda-cpp"6475},6476{6477"match": "(?<!\\w)virtual(?!\\w)",6478"name": "storage.type.modifier.virtual.cuda-cpp"6479},6480{6481"match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))",6482"captures": {6483"1": {6484"name": "meta.qualified_type.cuda-cpp",6485"patterns": [6486{6487"match": "::",6488"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"6489},6490{6491"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",6492"name": "storage.type.$0.cuda-cpp"6493},6494{6495"include": "#attributes_context"6496},6497{6498"include": "#storage_types"6499},6500{6501"include": "#number_literal"6502},6503{6504"include": "#string_context"6505},6506{6507"include": "#comma"6508},6509{6510"include": "#scope_resolution_inner_generated"6511},6512{6513"begin": "<",6514"end": ">",6515"beginCaptures": {6516"0": {6517"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"6518}6519},6520"endCaptures": {6521"0": {6522"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"6523}6524},6525"name": "meta.template.call.cuda-cpp",6526"patterns": [6527{6528"include": "#template_call_context"6529}6530]6531},6532{6533"match": "(?:[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}))*",6534"name": "entity.name.type.cuda-cpp"6535}6536]6537},6538"2": {6539"patterns": [6540{6541"include": "#attributes_context"6542},6543{6544"include": "#number_literal"6545}6546]6547},6548"3": {6549"patterns": [6550{6551"include": "#inline_comment"6552}6553]6554},6555"4": {6556"patterns": [6557{6558"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6559"captures": {6560"1": {6561"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6562},6563"2": {6564"name": "comment.block.cuda-cpp"6565},6566"3": {6567"patterns": [6568{6569"match": "\\*\\/",6570"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6571},6572{6573"match": "\\*",6574"name": "comment.block.cuda-cpp"6575}6576]6577}6578}6579}6580]6581},6582"5": {6583"patterns": [6584{6585"include": "#inline_comment"6586}6587]6588},6589"6": {6590"patterns": [6591{6592"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6593"captures": {6594"1": {6595"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6596},6597"2": {6598"name": "comment.block.cuda-cpp"6599},6600"3": {6601"patterns": [6602{6603"match": "\\*\\/",6604"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6605},6606{6607"match": "\\*",6608"name": "comment.block.cuda-cpp"6609}6610]6611}6612}6613}6614]6615},6616"7": {6617"patterns": [6618{6619"match": "::",6620"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"6621},6622{6623"match": "(?<!\\w)(?:[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}))*(?!\\w)",6624"name": "entity.name.scope-resolution.type.cuda-cpp"6625},6626{6627"include": "#template_call_range"6628}6629]6630},6631"8": {6632"patterns": [6633{6634"include": "#template_call_range"6635}6636]6637},6638"9": {},6639"10": {6640"patterns": [6641{6642"include": "#inline_comment"6643}6644]6645},6646"11": {6647"patterns": [6648{6649"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6650"captures": {6651"1": {6652"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6653},6654"2": {6655"name": "comment.block.cuda-cpp"6656},6657"3": {6658"patterns": [6659{6660"match": "\\*\\/",6661"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6662},6663{6664"match": "\\*",6665"name": "comment.block.cuda-cpp"6666}6667]6668}6669}6670}6671]6672},6673"12": {}6674}6675}6676]6677},6678"inline_builtin_storage_type": {6679"match": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)",6680"captures": {6681"1": {6682"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"6683},6684"2": {6685"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"6686},6687"3": {6688"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"6689},6690"4": {6691"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"6692}6693}6694},6695"inline_comment": {6696"match": "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))",6697"captures": {6698"1": {6699"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6700},6701"2": {6702"name": "comment.block.cuda-cpp"6703},6704"3": {6705"patterns": [6706{6707"match": "\\*\\/",6708"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6709},6710{6711"match": "\\*",6712"name": "comment.block.cuda-cpp"6713}6714]6715}6716}6717},6718"invalid_comment_end": {6719"match": "\\*\\/",6720"name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cuda-cpp"6721},6722"label": {6723"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))\\b(?<!case|default)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)",6724"captures": {6725"1": {6726"patterns": [6727{6728"include": "#inline_comment"6729}6730]6731},6732"2": {6733"patterns": [6734{6735"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6736"captures": {6737"1": {6738"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6739},6740"2": {6741"name": "comment.block.cuda-cpp"6742},6743"3": {6744"patterns": [6745{6746"match": "\\*\\/",6747"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6748},6749{6750"match": "\\*",6751"name": "comment.block.cuda-cpp"6752}6753]6754}6755}6756}6757]6758},6759"3": {6760"name": "entity.name.label.cuda-cpp"6761},6762"4": {6763"patterns": [6764{6765"include": "#inline_comment"6766}6767]6768},6769"5": {6770"patterns": [6771{6772"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",6773"captures": {6774"1": {6775"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6776},6777"2": {6778"name": "comment.block.cuda-cpp"6779},6780"3": {6781"patterns": [6782{6783"match": "\\*\\/",6784"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6785},6786{6787"match": "\\*",6788"name": "comment.block.cuda-cpp"6789}6790]6791}6792}6793}6794]6795},6796"6": {6797"name": "punctuation.separator.label.cuda-cpp"6798}6799}6800},6801"lambdas": {6802"begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))",6803"end": "(?<=[;}])",6804"beginCaptures": {6805"1": {6806"name": "punctuation.definition.capture.begin.lambda.cuda-cpp"6807},6808"2": {6809"name": "meta.lambda.capture.cuda-cpp",6810"patterns": [6811{6812"include": "#the_this_keyword"6813},6814{6815"match": "((?:[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}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",6816"captures": {6817"1": {6818"name": "variable.parameter.capture.cuda-cpp"6819},6820"2": {6821"patterns": [6822{6823"include": "#inline_comment"6824}6825]6826},6827"3": {6828"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6829},6830"4": {6831"name": "comment.block.cuda-cpp"6832},6833"5": {6834"patterns": [6835{6836"match": "\\*\\/",6837"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6838},6839{6840"match": "\\*",6841"name": "comment.block.cuda-cpp"6842}6843]6844},6845"6": {6846"name": "punctuation.separator.delimiter.comma.cuda-cpp"6847},6848"7": {6849"name": "keyword.operator.assignment.cuda-cpp"6850}6851}6852},6853{6854"include": "#evaluation_context"6855}6856]6857},6858"3": {},6859"4": {6860"name": "punctuation.definition.capture.end.lambda.cuda-cpp"6861},6862"5": {6863"patterns": [6864{6865"include": "#inline_comment"6866}6867]6868},6869"6": {6870"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6871},6872"7": {6873"name": "comment.block.cuda-cpp"6874},6875"8": {6876"patterns": [6877{6878"match": "\\*\\/",6879"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6880},6881{6882"match": "\\*",6883"name": "comment.block.cuda-cpp"6884}6885]6886}6887},6888"endCaptures": {},6889"patterns": [6890{6891"begin": "\\(",6892"end": "\\)",6893"beginCaptures": {6894"0": {6895"name": "punctuation.definition.parameters.begin.lambda.cuda-cpp"6896}6897},6898"endCaptures": {6899"0": {6900"name": "punctuation.definition.parameters.end.lambda.cuda-cpp"6901}6902},6903"name": "meta.function.definition.parameters.lambda.cuda-cpp",6904"patterns": [6905{6906"include": "#function_parameter_context"6907}6908]6909},6910{6911"match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",6912"name": "storage.modifier.lambda.$0.cuda-cpp"6913},6914{6915"match": "(->)((?:.+?(?=\\{|$))?)",6916"captures": {6917"1": {6918"name": "punctuation.definition.lambda.return-type.cuda-cpp"6919},6920"2": {6921"name": "storage.type.return-type.lambda.cuda-cpp"6922}6923}6924},6925{6926"begin": "\\{",6927"end": "\\}",6928"beginCaptures": {6929"0": {6930"name": "punctuation.section.block.begin.bracket.curly.lambda.cuda-cpp"6931}6932},6933"endCaptures": {6934"0": {6935"name": "punctuation.section.block.end.bracket.curly.lambda.cuda-cpp"6936}6937},6938"name": "meta.function.definition.body.lambda.cuda-cpp",6939"patterns": [6940{6941"include": "$self"6942}6943]6944}6945]6946},6947"language_constants": {6948"match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)",6949"name": "constant.language.$0.cuda-cpp"6950},6951"line": {6952"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b",6953"end": "(?<!\\\\)(?=\\n)",6954"beginCaptures": {6955"0": {6956"name": "keyword.control.directive.line.cuda-cpp"6957},6958"1": {6959"patterns": [6960{6961"include": "#inline_comment"6962}6963]6964},6965"2": {6966"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"6967},6968"3": {6969"name": "comment.block.cuda-cpp"6970},6971"4": {6972"patterns": [6973{6974"match": "\\*\\/",6975"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"6976},6977{6978"match": "\\*",6979"name": "comment.block.cuda-cpp"6980}6981]6982},6983"5": {6984"name": "punctuation.definition.directive.cuda-cpp"6985}6986},6987"endCaptures": {},6988"name": "meta.preprocessor.line.cuda-cpp",6989"patterns": [6990{6991"include": "#string_context"6992},6993{6994"include": "#preprocessor_number_literal"6995},6996{6997"include": "#line_continuation_character"6998}6999]7000},7001"line_comment": {7002"begin": "\\s*+(\\/\\/)",7003"end": "(?<=\\n)(?<!\\\\\\n)",7004"beginCaptures": {7005"1": {7006"name": "punctuation.definition.comment.cuda-cpp"7007}7008},7009"endCaptures": {},7010"name": "comment.line.double-slash.cuda-cpp",7011"patterns": [7012{7013"include": "#line_continuation_character"7014}7015]7016},7017"line_continuation_character": {7018"match": "\\\\\\n",7019"name": "constant.character.escape.line-continuation.cuda-cpp"7020},7021"macro": {7022"begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?<!\\w)(?:[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}))*(?!\\w))",7023"end": "(?<!\\\\)(?=\\n)",7024"beginCaptures": {7025"1": {7026"name": "keyword.control.directive.define.cuda-cpp"7027},7028"2": {7029"patterns": [7030{7031"include": "#inline_comment"7032}7033]7034},7035"3": {7036"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7037},7038"4": {7039"name": "comment.block.cuda-cpp"7040},7041"5": {7042"patterns": [7043{7044"match": "\\*\\/",7045"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7046},7047{7048"match": "\\*",7049"name": "comment.block.cuda-cpp"7050}7051]7052},7053"6": {7054"name": "punctuation.definition.directive.cuda-cpp"7055},7056"7": {7057"name": "entity.name.function.preprocessor.cuda-cpp"7058}7059},7060"endCaptures": {},7061"name": "meta.preprocessor.macro.cuda-cpp",7062"patterns": [7063{7064"match": "\\G(?:(?:\\s)+)?(\\()([^\\(]*)(\\))",7065"captures": {7066"1": {7067"name": "punctuation.definition.parameters.begin.preprocessor.cuda-cpp"7068},7069"2": {7070"patterns": [7071{7072"match": "(?<=[(,])(?:(?:\\s)+)?((?:[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}))*)(?:(?:\\s)+)?",7073"captures": {7074"1": {7075"name": "variable.parameter.preprocessor.cuda-cpp"7076}7077}7078},7079{7080"match": ",",7081"name": "punctuation.separator.parameters.cuda-cpp"7082},7083{7084"match": "\\.\\.\\.",7085"name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cuda-cpp"7086}7087]7088},7089"3": {7090"name": "punctuation.definition.parameters.end.preprocessor.cuda-cpp"7091}7092}7093},7094{7095"include": "#macro_context"7096},7097{7098"include": "#macro_argument"7099}7100]7101},7102"macro_argument": {7103"match": "##?(?:[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}))*(?!\\w)",7104"name": "variable.other.macro.argument.cuda-cpp"7105},7106"macro_context": {7107"patterns": [7108{7109"include": "source.cpp.embedded.macro"7110}7111]7112},7113"macro_name": {7114"match": "(?<!\\w)(?:[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}))*(?!\\w)",7115"name": "entity.name.function.preprocessor.cuda-cpp"7116},7117"member_access": {7118"match": "(?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[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}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[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}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong1[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong2[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong3[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong1[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong2[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong3[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort1[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort2[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort3[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort4[^Pattern.new(\n match: \\/\\w\\/,\n)]|double1[^Pattern.new(\n match: \\/\\w\\/,\n)]|double2[^Pattern.new(\n match: \\/\\w\\/,\n)]|double3[^Pattern.new(\n match: \\/\\w\\/,\n)]|double4[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar1[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar2[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar3[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar4[^Pattern.new(\n match: \\/\\w\\/,\n)]|short1[^Pattern.new(\n match: \\/\\w\\/,\n)]|short2[^Pattern.new(\n match: \\/\\w\\/,\n)]|short3[^Pattern.new(\n match: \\/\\w\\/,\n)]|short4[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong1[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong2[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong3[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|float1[^Pattern.new(\n match: \\/\\w\\/,\n)]|float2[^Pattern.new(\n match: \\/\\w\\/,\n)]|float3[^Pattern.new(\n match: \\/\\w\\/,\n)]|float4[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|char1[^Pattern.new(\n match: \\/\\w\\/,\n)]|char2[^Pattern.new(\n match: \\/\\w\\/,\n)]|char3[^Pattern.new(\n match: \\/\\w\\/,\n)]|char4[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint1[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint2[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint3[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint4[^Pattern.new(\n match: \\/\\w\\/,\n)]|long1[^Pattern.new(\n match: \\/\\w\\/,\n)]|long2[^Pattern.new(\n match: \\/\\w\\/,\n)]|long3[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int1[^Pattern.new(\n match: \\/\\w\\/,\n)]|int2[^Pattern.new(\n match: \\/\\w\\/,\n)]|int3[^Pattern.new(\n match: \\/\\w\\/,\n)]|int4[^Pattern.new(\n match: \\/\\w\\/,\n)]|dim3[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[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}))*\\b(?!\\())",7119"captures": {7120"1": {7121"patterns": [7122{7123"include": "#inline_comment"7124}7125]7126},7127"2": {7128"patterns": [7129{7130"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",7131"captures": {7132"1": {7133"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7134},7135"2": {7136"name": "comment.block.cuda-cpp"7137},7138"3": {7139"patterns": [7140{7141"match": "\\*\\/",7142"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7143},7144{7145"match": "\\*",7146"name": "comment.block.cuda-cpp"7147}7148]7149}7150}7151}7152]7153},7154"3": {7155"name": "variable.language.this.cuda-cpp"7156},7157"4": {7158"name": "variable.other.object.access.cuda-cpp"7159},7160"5": {7161"name": "punctuation.separator.dot-access.cuda-cpp"7162},7163"6": {7164"name": "punctuation.separator.pointer-access.cuda-cpp"7165},7166"7": {7167"patterns": [7168{7169"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[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}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",7170"captures": {7171"1": {7172"patterns": [7173{7174"include": "#inline_comment"7175}7176]7177},7178"2": {7179"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7180},7181"3": {7182"name": "comment.block.cuda-cpp"7183},7184"4": {7185"patterns": [7186{7187"match": "\\*\\/",7188"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7189},7190{7191"match": "\\*",7192"name": "comment.block.cuda-cpp"7193}7194]7195},7196"5": {7197"name": "variable.language.this.cuda-cpp"7198},7199"6": {7200"name": "variable.other.object.property.cuda-cpp"7201},7202"7": {7203"name": "punctuation.separator.dot-access.cuda-cpp"7204},7205"8": {7206"name": "punctuation.separator.pointer-access.cuda-cpp"7207}7208}7209},7210{7211"match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[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}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",7212"captures": {7213"1": {7214"patterns": [7215{7216"include": "#inline_comment"7217}7218]7219},7220"2": {7221"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7222},7223"3": {7224"name": "comment.block.cuda-cpp"7225},7226"4": {7227"patterns": [7228{7229"match": "\\*\\/",7230"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7231},7232{7233"match": "\\*",7234"name": "comment.block.cuda-cpp"7235}7236]7237},7238"5": {7239"name": "variable.language.this.cuda-cpp"7240},7241"6": {7242"name": "variable.other.object.access.cuda-cpp"7243},7244"7": {7245"name": "punctuation.separator.dot-access.cuda-cpp"7246},7247"8": {7248"name": "punctuation.separator.pointer-access.cuda-cpp"7249}7250}7251},7252{7253"include": "#member_access"7254},7255{7256"include": "#method_access"7257}7258]7259},7260"8": {7261"name": "variable.other.property.cuda-cpp"7262}7263}7264},7265"memory_operators": {7266"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))",7267"captures": {7268"1": {7269"patterns": [7270{7271"include": "#inline_comment"7272}7273]7274},7275"2": {7276"patterns": [7277{7278"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",7279"captures": {7280"1": {7281"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7282},7283"2": {7284"name": "comment.block.cuda-cpp"7285},7286"3": {7287"patterns": [7288{7289"match": "\\*\\/",7290"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7291},7292{7293"match": "\\*",7294"name": "comment.block.cuda-cpp"7295}7296]7297}7298}7299}7300]7301},7302"3": {7303"name": "keyword.operator.wordlike.cuda-cpp"7304},7305"4": {7306"name": "keyword.operator.delete.array.cuda-cpp"7307},7308"5": {7309"name": "keyword.operator.delete.array.bracket.cuda-cpp"7310},7311"6": {7312"name": "keyword.operator.delete.cuda-cpp"7313},7314"7": {7315"name": "keyword.operator.new.cuda-cpp"7316}7317}7318},7319"method_access": {7320"begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[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}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[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}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[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}))*)(?:(?:\\s)+)?(\\()",7321"end": "\\)",7322"beginCaptures": {7323"1": {7324"patterns": [7325{7326"include": "#inline_comment"7327}7328]7329},7330"2": {7331"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7332},7333"3": {7334"name": "comment.block.cuda-cpp"7335},7336"4": {7337"patterns": [7338{7339"match": "\\*\\/",7340"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7341},7342{7343"match": "\\*",7344"name": "comment.block.cuda-cpp"7345}7346]7347},7348"5": {7349"name": "variable.language.this.cuda-cpp"7350},7351"6": {7352"name": "variable.other.object.access.cuda-cpp"7353},7354"7": {7355"name": "punctuation.separator.dot-access.cuda-cpp"7356},7357"8": {7358"name": "punctuation.separator.pointer-access.cuda-cpp"7359},7360"9": {7361"patterns": [7362{7363"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[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}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",7364"captures": {7365"1": {7366"patterns": [7367{7368"include": "#inline_comment"7369}7370]7371},7372"2": {7373"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7374},7375"3": {7376"name": "comment.block.cuda-cpp"7377},7378"4": {7379"patterns": [7380{7381"match": "\\*\\/",7382"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7383},7384{7385"match": "\\*",7386"name": "comment.block.cuda-cpp"7387}7388]7389},7390"5": {7391"name": "variable.language.this.cuda-cpp"7392},7393"6": {7394"name": "variable.other.object.property.cuda-cpp"7395},7396"7": {7397"name": "punctuation.separator.dot-access.cuda-cpp"7398},7399"8": {7400"name": "punctuation.separator.pointer-access.cuda-cpp"7401}7402}7403},7404{7405"match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[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}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",7406"captures": {7407"1": {7408"patterns": [7409{7410"include": "#inline_comment"7411}7412]7413},7414"2": {7415"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7416},7417"3": {7418"name": "comment.block.cuda-cpp"7419},7420"4": {7421"patterns": [7422{7423"match": "\\*\\/",7424"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7425},7426{7427"match": "\\*",7428"name": "comment.block.cuda-cpp"7429}7430]7431},7432"5": {7433"name": "variable.language.this.cuda-cpp"7434},7435"6": {7436"name": "variable.other.object.access.cuda-cpp"7437},7438"7": {7439"name": "punctuation.separator.dot-access.cuda-cpp"7440},7441"8": {7442"name": "punctuation.separator.pointer-access.cuda-cpp"7443}7444}7445},7446{7447"include": "#member_access"7448},7449{7450"include": "#method_access"7451}7452]7453},7454"10": {7455"name": "entity.name.function.member.cuda-cpp"7456},7457"11": {7458"name": "punctuation.section.arguments.begin.bracket.round.function.member.cuda-cpp"7459}7460},7461"endCaptures": {7462"0": {7463"name": "punctuation.section.arguments.end.bracket.round.function.member.cuda-cpp"7464}7465},7466"patterns": [7467{7468"include": "#evaluation_context"7469}7470]7471},7472"misc_keywords": {7473"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))",7474"captures": {7475"1": {7476"patterns": [7477{7478"include": "#inline_comment"7479}7480]7481},7482"2": {7483"patterns": [7484{7485"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",7486"captures": {7487"1": {7488"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7489},7490"2": {7491"name": "comment.block.cuda-cpp"7492},7493"3": {7494"patterns": [7495{7496"match": "\\*\\/",7497"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7498},7499{7500"match": "\\*",7501"name": "comment.block.cuda-cpp"7502}7503]7504}7505}7506}7507]7508},7509"3": {7510"name": "keyword.other.$3.cuda-cpp"7511}7512}7513},7514"ms_attributes": {7515"begin": "__declspec\\(",7516"end": "\\)",7517"beginCaptures": {7518"0": {7519"name": "punctuation.section.attribute.begin.cuda-cpp"7520}7521},7522"endCaptures": {7523"0": {7524"name": "punctuation.section.attribute.end.cuda-cpp"7525}7526},7527"name": "support.other.attribute.cuda-cpp",7528"patterns": [7529{7530"include": "#attributes_context"7531},7532{7533"begin": "\\(",7534"end": "\\)",7535"beginCaptures": {},7536"endCaptures": {},7537"patterns": [7538{7539"include": "#attributes_context"7540},7541{7542"include": "#string_context"7543}7544]7545},7546{7547"match": "(using)(?:\\s)+((?<!\\w)(?:[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}))*(?!\\w))",7548"captures": {7549"1": {7550"name": "keyword.other.using.directive.cuda-cpp"7551},7552"2": {7553"name": "entity.name.namespace.cuda-cpp"7554}7555}7556},7557{7558"match": ",",7559"name": "punctuation.separator.attribute.cuda-cpp"7560},7561{7562"match": ":",7563"name": "punctuation.accessor.attribute.cuda-cpp"7564},7565{7566"match": "(?<!\\w)(?:[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}))*(?!\\w)(?=::)",7567"name": "entity.name.namespace.cuda-cpp"7568},7569{7570"match": "(?<!\\w)(?:[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}))*(?!\\w)",7571"name": "entity.other.attribute.$0.cuda-cpp"7572},7573{7574"include": "#number_literal"7575}7576]7577},7578"namespace_alias": {7579"match": "(?<!\\w)(namespace)(?:\\s)+((?<!\\w)(?:[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}))*(?!\\w))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[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}))*(?!\\w))(?:(?:\\s)+)?(?:(;)|\\n))",7580"captures": {7581"1": {7582"name": "keyword.other.namespace.alias.cuda-cpp storage.type.namespace.alias.cuda-cpp"7583},7584"2": {7585"name": "entity.name.namespace.alias.cuda-cpp"7586},7587"3": {7588"name": "keyword.operator.assignment.cuda-cpp"7589},7590"4": {7591"name": "meta.declaration.namespace.alias.value.cuda-cpp"7592},7593"5": {7594"patterns": [7595{7596"include": "#scope_resolution_namespace_alias_inner_generated"7597}7598]7599},7600"6": {7601"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"7602},7603"7": {7604"patterns": [7605{7606"include": "#template_call_range"7607}7608]7609},7610"9": {7611"name": "entity.name.namespace.cuda-cpp"7612},7613"10": {7614"name": "punctuation.terminator.statement.cuda-cpp"7615}7616},7617"name": "meta.declaration.namespace.alias.cuda-cpp"7618},7619"namespace_block": {7620"begin": "((?<!\\w)namespace(?!\\w))",7621"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",7622"beginCaptures": {7623"0": {7624"name": "meta.head.namespace.cuda-cpp"7625},7626"1": {7627"name": "keyword.other.namespace.definition.cuda-cpp storage.type.namespace.definition.cuda-cpp"7628}7629},7630"endCaptures": {},7631"name": "meta.block.namespace.cuda-cpp",7632"patterns": [7633{7634"begin": "\\G ?",7635"end": "(?:\\{|<%|\\?\\?<|(?=;))",7636"beginCaptures": {},7637"endCaptures": {7638"0": {7639"name": "punctuation.section.block.begin.bracket.curly.namespace.cuda-cpp"7640}7641},7642"name": "meta.head.namespace.cuda-cpp",7643"patterns": [7644{7645"include": "#ever_present_context"7646},7647{7648"include": "#attributes_context"7649},7650{7651"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[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}))*(?!\\w))(?:(?:\\s)+)?(?:(::)(?:(?:\\s)+)?(inline))?",7652"captures": {7653"1": {7654"patterns": [7655{7656"include": "#scope_resolution_namespace_block_inner_generated"7657}7658]7659},7660"2": {7661"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"7662},7663"3": {7664"patterns": [7665{7666"include": "#template_call_range"7667}7668]7669},7670"4": {},7671"5": {7672"name": "entity.name.namespace.cuda-cpp"7673},7674"6": {7675"name": "punctuation.separator.scope-resolution.namespace.block.cuda-cpp"7676},7677"7": {7678"name": "storage.modifier.inline.cuda-cpp"7679}7680}7681}7682]7683},7684{7685"begin": "(?<=\\{|<%|\\?\\?<)",7686"end": "\\}|%>|\\?\\?>",7687"beginCaptures": {},7688"endCaptures": {7689"0": {7690"name": "punctuation.section.block.end.bracket.curly.namespace.cuda-cpp"7691}7692},7693"name": "meta.body.namespace.cuda-cpp",7694"patterns": [7695{7696"include": "$self"7697}7698]7699},7700{7701"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",7702"end": "[\\s]*(?=;)",7703"beginCaptures": {},7704"endCaptures": {},7705"name": "meta.tail.namespace.cuda-cpp",7706"patterns": [7707{7708"include": "$self"7709}7710]7711}7712]7713},7714"noexcept_operator": {7715"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",7716"end": "\\)",7717"beginCaptures": {7718"1": {7719"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.noexcept.cuda-cpp"7720},7721"2": {7722"patterns": [7723{7724"include": "#inline_comment"7725}7726]7727},7728"3": {7729"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"7730},7731"4": {7732"name": "comment.block.cuda-cpp"7733},7734"5": {7735"patterns": [7736{7737"match": "\\*\\/",7738"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"7739},7740{7741"match": "\\*",7742"name": "comment.block.cuda-cpp"7743}7744]7745},7746"6": {7747"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cuda-cpp"7748}7749},7750"endCaptures": {7751"0": {7752"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cuda-cpp"7753}7754},7755"contentName": "meta.arguments.operator.noexcept",7756"patterns": [7757{7758"include": "#evaluation_context"7759}7760]7761},7762"number_literal": {7763"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",7764"captures": {7765"0": {7766"patterns": [7767{7768"begin": "(?=.)",7769"end": "$",7770"beginCaptures": {},7771"endCaptures": {},7772"patterns": [7773{7774"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",7775"captures": {7776"1": {7777"name": "keyword.other.unit.hexadecimal.cuda-cpp"7778},7779"2": {7780"name": "constant.numeric.hexadecimal.cuda-cpp",7781"patterns": [7782{7783"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7784"name": "punctuation.separator.constant.numeric.cuda-cpp"7785}7786]7787},7788"3": {7789"name": "punctuation.separator.constant.numeric.cuda-cpp"7790},7791"4": {7792"name": "constant.numeric.hexadecimal.cuda-cpp"7793},7794"5": {7795"name": "constant.numeric.hexadecimal.cuda-cpp",7796"patterns": [7797{7798"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7799"name": "punctuation.separator.constant.numeric.cuda-cpp"7800}7801]7802},7803"6": {7804"name": "punctuation.separator.constant.numeric.cuda-cpp"7805},7806"7": {7807"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"7808},7809"8": {7810"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"7811},7812"9": {7813"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"7814},7815"10": {7816"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",7817"patterns": [7818{7819"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7820"name": "punctuation.separator.constant.numeric.cuda-cpp"7821}7822]7823},7824"11": {7825"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"7826},7827"12": {7828"name": "keyword.other.unit.user-defined.cuda-cpp"7829}7830}7831},7832{7833"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",7834"captures": {7835"1": {7836"name": "constant.numeric.decimal.cuda-cpp",7837"patterns": [7838{7839"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7840"name": "punctuation.separator.constant.numeric.cuda-cpp"7841}7842]7843},7844"2": {7845"name": "punctuation.separator.constant.numeric.cuda-cpp"7846},7847"3": {7848"name": "constant.numeric.decimal.point.cuda-cpp"7849},7850"4": {7851"name": "constant.numeric.decimal.cuda-cpp",7852"patterns": [7853{7854"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7855"name": "punctuation.separator.constant.numeric.cuda-cpp"7856}7857]7858},7859"5": {7860"name": "punctuation.separator.constant.numeric.cuda-cpp"7861},7862"6": {7863"name": "keyword.other.unit.exponent.decimal.cuda-cpp"7864},7865"7": {7866"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"7867},7868"8": {7869"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"7870},7871"9": {7872"name": "constant.numeric.exponent.decimal.cuda-cpp",7873"patterns": [7874{7875"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7876"name": "punctuation.separator.constant.numeric.cuda-cpp"7877}7878]7879},7880"10": {7881"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"7882},7883"11": {7884"name": "keyword.other.unit.user-defined.cuda-cpp"7885}7886}7887},7888{7889"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",7890"captures": {7891"1": {7892"name": "keyword.other.unit.binary.cuda-cpp"7893},7894"2": {7895"name": "constant.numeric.binary.cuda-cpp",7896"patterns": [7897{7898"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7899"name": "punctuation.separator.constant.numeric.cuda-cpp"7900}7901]7902},7903"3": {7904"name": "punctuation.separator.constant.numeric.cuda-cpp"7905},7906"4": {7907"name": "keyword.other.unit.suffix.integer.cuda-cpp"7908},7909"5": {7910"name": "keyword.other.unit.user-defined.cuda-cpp"7911}7912}7913},7914{7915"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",7916"captures": {7917"1": {7918"name": "keyword.other.unit.octal.cuda-cpp"7919},7920"2": {7921"name": "constant.numeric.octal.cuda-cpp",7922"patterns": [7923{7924"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7925"name": "punctuation.separator.constant.numeric.cuda-cpp"7926}7927]7928},7929"3": {7930"name": "punctuation.separator.constant.numeric.cuda-cpp"7931},7932"4": {7933"name": "keyword.other.unit.suffix.integer.cuda-cpp"7934},7935"5": {7936"name": "keyword.other.unit.user-defined.cuda-cpp"7937}7938}7939},7940{7941"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",7942"captures": {7943"1": {7944"name": "keyword.other.unit.hexadecimal.cuda-cpp"7945},7946"2": {7947"name": "constant.numeric.hexadecimal.cuda-cpp",7948"patterns": [7949{7950"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7951"name": "punctuation.separator.constant.numeric.cuda-cpp"7952}7953]7954},7955"3": {7956"name": "punctuation.separator.constant.numeric.cuda-cpp"7957},7958"4": {7959"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"7960},7961"5": {7962"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"7963},7964"6": {7965"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"7966},7967"7": {7968"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",7969"patterns": [7970{7971"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7972"name": "punctuation.separator.constant.numeric.cuda-cpp"7973}7974]7975},7976"8": {7977"name": "keyword.other.unit.suffix.integer.cuda-cpp"7978},7979"9": {7980"name": "keyword.other.unit.user-defined.cuda-cpp"7981}7982}7983},7984{7985"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",7986"captures": {7987"1": {7988"name": "constant.numeric.decimal.cuda-cpp",7989"patterns": [7990{7991"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",7992"name": "punctuation.separator.constant.numeric.cuda-cpp"7993}7994]7995},7996"2": {7997"name": "punctuation.separator.constant.numeric.cuda-cpp"7998},7999"3": {8000"name": "keyword.other.unit.exponent.decimal.cuda-cpp"8001},8002"4": {8003"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"8004},8005"5": {8006"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"8007},8008"6": {8009"name": "constant.numeric.exponent.decimal.cuda-cpp",8010"patterns": [8011{8012"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",8013"name": "punctuation.separator.constant.numeric.cuda-cpp"8014}8015]8016},8017"7": {8018"name": "keyword.other.unit.suffix.integer.cuda-cpp"8019},8020"8": {8021"name": "keyword.other.unit.user-defined.cuda-cpp"8022}8023}8024},8025{8026"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",8027"name": "invalid.illegal.constant.numeric.cuda-cpp"8028}8029]8030}8031]8032}8033}8034},8035"operator_overload": {8036"begin": "(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:new)|(?:\\->\\*)|(?:<<=)|(?:>>=)|(?:<=>)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:\\-\\-)|(?:<<)|(?:>>)|(?:<=)|(?:>=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|(?:\\/=)|(?:%=)|(?:&=)|(?:\\^=)|(?:\\|=)|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=|,))|((?<!\\w)(?:[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}))*(?!\\w)(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()",8037"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",8038"beginCaptures": {8039"0": {8040"name": "meta.head.function.definition.special.operator-overload.cuda-cpp"8041},8042"1": {8043"name": "meta.qualified_type.cuda-cpp",8044"patterns": [8045{8046"match": "::",8047"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"8048},8049{8050"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",8051"name": "storage.type.$0.cuda-cpp"8052},8053{8054"include": "#attributes_context"8055},8056{8057"include": "#storage_types"8058},8059{8060"include": "#number_literal"8061},8062{8063"include": "#string_context"8064},8065{8066"include": "#comma"8067},8068{8069"include": "#scope_resolution_inner_generated"8070},8071{8072"begin": "<",8073"end": ">",8074"beginCaptures": {8075"0": {8076"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"8077}8078},8079"endCaptures": {8080"0": {8081"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"8082}8083},8084"name": "meta.template.call.cuda-cpp",8085"patterns": [8086{8087"include": "#template_call_context"8088}8089]8090},8091{8092"match": "(?:[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}))*",8093"name": "entity.name.type.cuda-cpp"8094}8095]8096},8097"2": {8098"patterns": [8099{8100"include": "#attributes_context"8101},8102{8103"include": "#number_literal"8104}8105]8106},8107"3": {8108"patterns": [8109{8110"include": "#inline_comment"8111}8112]8113},8114"4": {8115"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8116},8117"5": {8118"name": "comment.block.cuda-cpp"8119},8120"6": {8121"patterns": [8122{8123"match": "\\*\\/",8124"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8125},8126{8127"match": "\\*",8128"name": "comment.block.cuda-cpp"8129}8130]8131},8132"7": {8133"patterns": [8134{8135"include": "#inline_comment"8136}8137]8138},8139"8": {8140"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8141},8142"9": {8143"name": "comment.block.cuda-cpp"8144},8145"10": {8146"patterns": [8147{8148"match": "\\*\\/",8149"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8150},8151{8152"match": "\\*",8153"name": "comment.block.cuda-cpp"8154}8155]8156},8157"11": {8158"patterns": [8159{8160"match": "::",8161"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"8162},8163{8164"match": "(?<!\\w)(?:[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}))*(?!\\w)",8165"name": "entity.name.scope-resolution.type.cuda-cpp"8166},8167{8168"include": "#template_call_range"8169}8170]8171},8172"12": {8173"patterns": [8174{8175"include": "#template_call_range"8176}8177]8178},8179"13": {},8180"14": {8181"patterns": [8182{8183"include": "#inline_comment"8184}8185]8186},8187"15": {8188"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8189},8190"16": {8191"name": "comment.block.cuda-cpp"8192},8193"17": {8194"patterns": [8195{8196"match": "\\*\\/",8197"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8198},8199{8200"match": "\\*",8201"name": "comment.block.cuda-cpp"8202}8203]8204},8205"18": {},8206"19": {8207"patterns": [8208{8209"match": "\\*",8210"name": "storage.modifier.pointer.cuda-cpp"8211},8212{8213"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",8214"captures": {8215"1": {8216"patterns": [8217{8218"include": "#inline_comment"8219}8220]8221},8222"2": {8223"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8224},8225"3": {8226"name": "comment.block.cuda-cpp"8227},8228"4": {8229"patterns": [8230{8231"match": "\\*\\/",8232"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8233},8234{8235"match": "\\*",8236"name": "comment.block.cuda-cpp"8237}8238]8239}8240},8241"name": "invalid.illegal.reference-type.cuda-cpp"8242},8243{8244"match": "\\&",8245"name": "storage.modifier.reference.cuda-cpp"8246}8247]8248},8249"20": {8250"patterns": [8251{8252"include": "#inline_comment"8253}8254]8255},8256"21": {8257"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8258},8259"22": {8260"name": "comment.block.cuda-cpp"8261},8262"23": {8263"patterns": [8264{8265"match": "\\*\\/",8266"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8267},8268{8269"match": "\\*",8270"name": "comment.block.cuda-cpp"8271}8272]8273},8274"24": {8275"patterns": [8276{8277"include": "#inline_comment"8278}8279]8280},8281"25": {8282"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8283},8284"26": {8285"name": "comment.block.cuda-cpp"8286},8287"27": {8288"patterns": [8289{8290"match": "\\*\\/",8291"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8292},8293{8294"match": "\\*",8295"name": "comment.block.cuda-cpp"8296}8297]8298},8299"28": {8300"patterns": [8301{8302"include": "#inline_comment"8303}8304]8305},8306"29": {8307"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8308},8309"30": {8310"name": "comment.block.cuda-cpp"8311},8312"31": {8313"patterns": [8314{8315"match": "\\*\\/",8316"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8317},8318{8319"match": "\\*",8320"name": "comment.block.cuda-cpp"8321}8322]8323},8324"32": {8325"patterns": [8326{8327"include": "#inline_comment"8328}8329]8330},8331"33": {8332"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8333},8334"34": {8335"name": "comment.block.cuda-cpp"8336},8337"35": {8338"patterns": [8339{8340"match": "\\*\\/",8341"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8342},8343{8344"match": "\\*",8345"name": "comment.block.cuda-cpp"8346}8347]8348},8349"36": {8350"name": "storage.type.modifier.calling-convention.cuda-cpp"8351},8352"37": {8353"patterns": [8354{8355"include": "#inline_comment"8356}8357]8358},8359"38": {8360"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8361},8362"39": {8363"name": "comment.block.cuda-cpp"8364},8365"40": {8366"patterns": [8367{8368"match": "\\*\\/",8369"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8370},8371{8372"match": "\\*",8373"name": "comment.block.cuda-cpp"8374}8375]8376},8377"41": {8378"patterns": [8379{8380"include": "#inline_comment"8381}8382]8383},8384"42": {8385"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8386},8387"43": {8388"name": "comment.block.cuda-cpp"8389},8390"44": {8391"patterns": [8392{8393"match": "\\*\\/",8394"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8395},8396{8397"match": "\\*",8398"name": "comment.block.cuda-cpp"8399}8400]8401},8402"45": {8403"patterns": [8404{8405"match": "::",8406"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.operator.cuda-cpp"8407},8408{8409"match": "(?<!\\w)(?:[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}))*(?!\\w)",8410"name": "entity.name.scope-resolution.operator.cuda-cpp"8411},8412{8413"include": "#template_call_range"8414}8415]8416},8417"46": {8418"patterns": [8419{8420"include": "#template_call_range"8421}8422]8423},8424"47": {},8425"48": {8426"name": "keyword.other.operator.overload.cuda-cpp"8427},8428"49": {8429"patterns": [8430{8431"include": "#inline_comment"8432}8433]8434},8435"50": {8436"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8437},8438"51": {8439"name": "comment.block.cuda-cpp"8440},8441"52": {8442"patterns": [8443{8444"match": "\\*\\/",8445"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8446},8447{8448"match": "\\*",8449"name": "comment.block.cuda-cpp"8450}8451]8452},8453"53": {8454"patterns": [8455{8456"match": "::",8457"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.operator-overload.cuda-cpp"8458},8459{8460"match": "(?<!\\w)(?:[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}))*(?!\\w)",8461"name": "entity.name.scope-resolution.operator-overload.cuda-cpp"8462},8463{8464"include": "#template_call_range"8465}8466]8467},8468"54": {8469"patterns": [8470{8471"include": "#template_call_range"8472}8473]8474},8475"55": {},8476"56": {8477"name": "entity.name.operator.cuda-cpp"8478},8479"57": {8480"name": "entity.name.operator.type.cuda-cpp"8481},8482"58": {8483"patterns": [8484{8485"match": "\\*",8486"name": "entity.name.operator.type.pointer.cuda-cpp"8487},8488{8489"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",8490"captures": {8491"1": {8492"patterns": [8493{8494"include": "#inline_comment"8495}8496]8497},8498"2": {8499"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8500},8501"3": {8502"name": "comment.block.cuda-cpp"8503},8504"4": {8505"patterns": [8506{8507"match": "\\*\\/",8508"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8509},8510{8511"match": "\\*",8512"name": "comment.block.cuda-cpp"8513}8514]8515}8516},8517"name": "invalid.illegal.reference-type.cuda-cpp"8518},8519{8520"match": "\\&",8521"name": "entity.name.operator.type.reference.cuda-cpp"8522}8523]8524},8525"59": {8526"patterns": [8527{8528"include": "#inline_comment"8529}8530]8531},8532"60": {8533"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8534},8535"61": {8536"name": "comment.block.cuda-cpp"8537},8538"62": {8539"patterns": [8540{8541"match": "\\*\\/",8542"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8543},8544{8545"match": "\\*",8546"name": "comment.block.cuda-cpp"8547}8548]8549},8550"63": {8551"patterns": [8552{8553"include": "#inline_comment"8554}8555]8556},8557"64": {8558"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8559},8560"65": {8561"name": "comment.block.cuda-cpp"8562},8563"66": {8564"patterns": [8565{8566"match": "\\*\\/",8567"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8568},8569{8570"match": "\\*",8571"name": "comment.block.cuda-cpp"8572}8573]8574},8575"67": {8576"patterns": [8577{8578"include": "#inline_comment"8579}8580]8581},8582"68": {8583"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8584},8585"69": {8586"name": "comment.block.cuda-cpp"8587},8588"70": {8589"patterns": [8590{8591"match": "\\*\\/",8592"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8593},8594{8595"match": "\\*",8596"name": "comment.block.cuda-cpp"8597}8598]8599},8600"71": {8601"name": "entity.name.operator.type.array.cuda-cpp"8602},8603"72": {8604"name": "entity.name.operator.custom-literal.cuda-cpp"8605},8606"73": {8607"patterns": [8608{8609"include": "#inline_comment"8610}8611]8612},8613"74": {8614"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8615},8616"75": {8617"name": "comment.block.cuda-cpp"8618},8619"76": {8620"patterns": [8621{8622"match": "\\*\\/",8623"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8624},8625{8626"match": "\\*",8627"name": "comment.block.cuda-cpp"8628}8629]8630},8631"77": {8632"name": "entity.name.operator.custom-literal.cuda-cpp"8633},8634"78": {8635"patterns": [8636{8637"include": "#inline_comment"8638}8639]8640},8641"79": {8642"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8643},8644"80": {8645"name": "comment.block.cuda-cpp"8646},8647"81": {8648"patterns": [8649{8650"match": "\\*\\/",8651"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8652},8653{8654"match": "\\*",8655"name": "comment.block.cuda-cpp"8656}8657]8658}8659},8660"endCaptures": {},8661"name": "meta.function.definition.special.operator-overload.cuda-cpp",8662"patterns": [8663{8664"begin": "\\G ?",8665"end": "(?:\\{|<%|\\?\\?<|(?=;))",8666"beginCaptures": {},8667"endCaptures": {8668"0": {8669"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cuda-cpp"8670}8671},8672"name": "meta.head.function.definition.special.operator-overload.cuda-cpp",8673"patterns": [8674{8675"include": "#ever_present_context"8676},8677{8678"include": "#template_call_range"8679},8680{8681"begin": "\\(",8682"end": "\\)",8683"beginCaptures": {8684"0": {8685"name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cuda-cpp"8686}8687},8688"endCaptures": {8689"0": {8690"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cuda-cpp"8691}8692},8693"contentName": "meta.function.definition.parameters.special.operator-overload",8694"patterns": [8695{8696"include": "#function_parameter_context"8697},8698{8699"include": "#evaluation_context"8700}8701]8702},8703{8704"include": "#qualifiers_and_specifiers_post_parameters"8705},8706{8707"include": "$self"8708}8709]8710},8711{8712"begin": "(?<=\\{|<%|\\?\\?<)",8713"end": "\\}|%>|\\?\\?>",8714"beginCaptures": {},8715"endCaptures": {8716"0": {8717"name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cuda-cpp"8718}8719},8720"name": "meta.body.function.definition.special.operator-overload.cuda-cpp",8721"patterns": [8722{8723"include": "#function_body_context"8724}8725]8726},8727{8728"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",8729"end": "[\\s]*(?=;)",8730"beginCaptures": {},8731"endCaptures": {},8732"name": "meta.tail.function.definition.special.operator-overload.cuda-cpp",8733"patterns": [8734{8735"include": "$self"8736}8737]8738}8739]8740},8741"operators": {8742"patterns": [8743{8744"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",8745"end": "\\)",8746"beginCaptures": {8747"1": {8748"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.cuda-cpp"8749},8750"2": {8751"patterns": [8752{8753"include": "#inline_comment"8754}8755]8756},8757"3": {8758"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8759},8760"4": {8761"name": "comment.block.cuda-cpp"8762},8763"5": {8764"patterns": [8765{8766"match": "\\*\\/",8767"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8768},8769{8770"match": "\\*",8771"name": "comment.block.cuda-cpp"8772}8773]8774},8775"6": {8776"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cuda-cpp"8777}8778},8779"endCaptures": {8780"0": {8781"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cuda-cpp"8782}8783},8784"contentName": "meta.arguments.operator.sizeof",8785"patterns": [8786{8787"include": "#evaluation_context"8788}8789]8790},8791{8792"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",8793"end": "\\)",8794"beginCaptures": {8795"1": {8796"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignof.cuda-cpp"8797},8798"2": {8799"patterns": [8800{8801"include": "#inline_comment"8802}8803]8804},8805"3": {8806"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8807},8808"4": {8809"name": "comment.block.cuda-cpp"8810},8811"5": {8812"patterns": [8813{8814"match": "\\*\\/",8815"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8816},8817{8818"match": "\\*",8819"name": "comment.block.cuda-cpp"8820}8821]8822},8823"6": {8824"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cuda-cpp"8825}8826},8827"endCaptures": {8828"0": {8829"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cuda-cpp"8830}8831},8832"contentName": "meta.arguments.operator.alignof",8833"patterns": [8834{8835"include": "#evaluation_context"8836}8837]8838},8839{8840"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",8841"end": "\\)",8842"beginCaptures": {8843"1": {8844"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignas.cuda-cpp"8845},8846"2": {8847"patterns": [8848{8849"include": "#inline_comment"8850}8851]8852},8853"3": {8854"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8855},8856"4": {8857"name": "comment.block.cuda-cpp"8858},8859"5": {8860"patterns": [8861{8862"match": "\\*\\/",8863"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8864},8865{8866"match": "\\*",8867"name": "comment.block.cuda-cpp"8868}8869]8870},8871"6": {8872"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cuda-cpp"8873}8874},8875"endCaptures": {8876"0": {8877"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cuda-cpp"8878}8879},8880"contentName": "meta.arguments.operator.alignas",8881"patterns": [8882{8883"include": "#evaluation_context"8884}8885]8886},8887{8888"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",8889"end": "\\)",8890"beginCaptures": {8891"1": {8892"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.typeid.cuda-cpp"8893},8894"2": {8895"patterns": [8896{8897"include": "#inline_comment"8898}8899]8900},8901"3": {8902"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8903},8904"4": {8905"name": "comment.block.cuda-cpp"8906},8907"5": {8908"patterns": [8909{8910"match": "\\*\\/",8911"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8912},8913{8914"match": "\\*",8915"name": "comment.block.cuda-cpp"8916}8917]8918},8919"6": {8920"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cuda-cpp"8921}8922},8923"endCaptures": {8924"0": {8925"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cuda-cpp"8926}8927},8928"contentName": "meta.arguments.operator.typeid",8929"patterns": [8930{8931"include": "#evaluation_context"8932}8933]8934},8935{8936"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",8937"end": "\\)",8938"beginCaptures": {8939"1": {8940"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.noexcept.cuda-cpp"8941},8942"2": {8943"patterns": [8944{8945"include": "#inline_comment"8946}8947]8948},8949"3": {8950"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8951},8952"4": {8953"name": "comment.block.cuda-cpp"8954},8955"5": {8956"patterns": [8957{8958"match": "\\*\\/",8959"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"8960},8961{8962"match": "\\*",8963"name": "comment.block.cuda-cpp"8964}8965]8966},8967"6": {8968"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cuda-cpp"8969}8970},8971"endCaptures": {8972"0": {8973"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cuda-cpp"8974}8975},8976"contentName": "meta.arguments.operator.noexcept",8977"patterns": [8978{8979"include": "#evaluation_context"8980}8981]8982},8983{8984"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",8985"end": "\\)",8986"beginCaptures": {8987"1": {8988"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.variadic.cuda-cpp"8989},8990"2": {8991"patterns": [8992{8993"include": "#inline_comment"8994}8995]8996},8997"3": {8998"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"8999},9000"4": {9001"name": "comment.block.cuda-cpp"9002},9003"5": {9004"patterns": [9005{9006"match": "\\*\\/",9007"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9008},9009{9010"match": "\\*",9011"name": "comment.block.cuda-cpp"9012}9013]9014},9015"6": {9016"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cuda-cpp"9017}9018},9019"endCaptures": {9020"0": {9021"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cuda-cpp"9022}9023},9024"contentName": "meta.arguments.operator.sizeof.variadic",9025"patterns": [9026{9027"include": "#evaluation_context"9028}9029]9030},9031{9032"match": "--",9033"name": "keyword.operator.decrement.cuda-cpp"9034},9035{9036"match": "\\+\\+",9037"name": "keyword.operator.increment.cuda-cpp"9038},9039{9040"match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",9041"name": "keyword.operator.assignment.compound.cuda-cpp"9042},9043{9044"match": "&=|\\^=|<<=|>>=|\\|=",9045"name": "keyword.operator.assignment.compound.bitwise.cuda-cpp"9046},9047{9048"match": "<<|>>",9049"name": "keyword.operator.bitwise.shift.cuda-cpp"9050},9051{9052"match": "!=|<=|>=|==|<|>",9053"name": "keyword.operator.comparison.cuda-cpp"9054},9055{9056"match": "&&|!|\\|\\|",9057"name": "keyword.operator.logical.cuda-cpp"9058},9059{9060"match": "&|\\||\\^|~",9061"name": "keyword.operator.cuda-cpp"9062},9063{9064"include": "#assignment_operator"9065},9066{9067"match": "%|\\*|\\/|-|\\+",9068"name": "keyword.operator.cuda-cpp"9069},9070{9071"include": "#ternary_operator"9072}9073]9074},9075"over_qualified_types": {9076"patterns": [9077{9078"match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",9079"captures": {9080"1": {9081"name": "storage.type.struct.parameter.cuda-cpp"9082},9083"2": {9084"patterns": [9085{9086"include": "#inline_comment"9087}9088]9089},9090"3": {9091"patterns": [9092{9093"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9094"captures": {9095"1": {9096"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9097},9098"2": {9099"name": "comment.block.cuda-cpp"9100},9101"3": {9102"patterns": [9103{9104"match": "\\*\\/",9105"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9106},9107{9108"match": "\\*",9109"name": "comment.block.cuda-cpp"9110}9111]9112}9113}9114}9115]9116},9117"4": {9118"name": "entity.name.type.struct.parameter.cuda-cpp"9119},9120"5": {9121"patterns": [9122{9123"include": "#inline_comment"9124}9125]9126},9127"6": {9128"patterns": [9129{9130"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9131"captures": {9132"1": {9133"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9134},9135"2": {9136"name": "comment.block.cuda-cpp"9137},9138"3": {9139"patterns": [9140{9141"match": "\\*\\/",9142"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9143},9144{9145"match": "\\*",9146"name": "comment.block.cuda-cpp"9147}9148]9149}9150}9151}9152]9153},9154"7": {9155"patterns": [9156{9157"match": "\\*",9158"name": "storage.modifier.pointer.cuda-cpp"9159},9160{9161"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",9162"captures": {9163"1": {9164"patterns": [9165{9166"include": "#inline_comment"9167}9168]9169},9170"2": {9171"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9172},9173"3": {9174"name": "comment.block.cuda-cpp"9175},9176"4": {9177"patterns": [9178{9179"match": "\\*\\/",9180"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9181},9182{9183"match": "\\*",9184"name": "comment.block.cuda-cpp"9185}9186]9187}9188},9189"name": "invalid.illegal.reference-type.cuda-cpp"9190},9191{9192"match": "\\&",9193"name": "storage.modifier.reference.cuda-cpp"9194}9195]9196},9197"8": {9198"patterns": [9199{9200"include": "#inline_comment"9201}9202]9203},9204"9": {9205"patterns": [9206{9207"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9208"captures": {9209"1": {9210"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9211},9212"2": {9213"name": "comment.block.cuda-cpp"9214},9215"3": {9216"patterns": [9217{9218"match": "\\*\\/",9219"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9220},9221{9222"match": "\\*",9223"name": "comment.block.cuda-cpp"9224}9225]9226}9227}9228}9229]9230},9231"10": {9232"patterns": [9233{9234"include": "#inline_comment"9235}9236]9237},9238"11": {9239"patterns": [9240{9241"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9242"captures": {9243"1": {9244"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9245},9246"2": {9247"name": "comment.block.cuda-cpp"9248},9249"3": {9250"patterns": [9251{9252"match": "\\*\\/",9253"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9254},9255{9256"match": "\\*",9257"name": "comment.block.cuda-cpp"9258}9259]9260}9261}9262}9263]9264},9265"12": {9266"patterns": [9267{9268"include": "#inline_comment"9269}9270]9271},9272"13": {9273"patterns": [9274{9275"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9276"captures": {9277"1": {9278"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9279},9280"2": {9281"name": "comment.block.cuda-cpp"9282},9283"3": {9284"patterns": [9285{9286"match": "\\*\\/",9287"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9288},9289{9290"match": "\\*",9291"name": "comment.block.cuda-cpp"9292}9293]9294}9295}9296}9297]9298},9299"14": {9300"name": "variable.other.object.declare.cuda-cpp"9301},9302"15": {9303"patterns": [9304{9305"include": "#inline_comment"9306}9307]9308},9309"16": {9310"patterns": [9311{9312"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9313"captures": {9314"1": {9315"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9316},9317"2": {9318"name": "comment.block.cuda-cpp"9319},9320"3": {9321"patterns": [9322{9323"match": "\\*\\/",9324"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9325},9326{9327"match": "\\*",9328"name": "comment.block.cuda-cpp"9329}9330]9331}9332}9333}9334]9335},9336"17": {9337"patterns": [9338{9339"include": "#inline_comment"9340}9341]9342},9343"18": {9344"patterns": [9345{9346"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9347"captures": {9348"1": {9349"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9350},9351"2": {9352"name": "comment.block.cuda-cpp"9353},9354"3": {9355"patterns": [9356{9357"match": "\\*\\/",9358"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9359},9360{9361"match": "\\*",9362"name": "comment.block.cuda-cpp"9363}9364]9365}9366}9367}9368]9369},9370"19": {9371"patterns": [9372{9373"include": "#inline_comment"9374}9375]9376},9377"20": {9378"patterns": [9379{9380"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9381"captures": {9382"1": {9383"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9384},9385"2": {9386"name": "comment.block.cuda-cpp"9387},9388"3": {9389"patterns": [9390{9391"match": "\\*\\/",9392"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9393},9394{9395"match": "\\*",9396"name": "comment.block.cuda-cpp"9397}9398]9399}9400}9401}9402]9403}9404}9405},9406{9407"match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",9408"captures": {9409"1": {9410"name": "storage.type.enum.parameter.cuda-cpp"9411},9412"2": {9413"patterns": [9414{9415"include": "#inline_comment"9416}9417]9418},9419"3": {9420"patterns": [9421{9422"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9423"captures": {9424"1": {9425"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9426},9427"2": {9428"name": "comment.block.cuda-cpp"9429},9430"3": {9431"patterns": [9432{9433"match": "\\*\\/",9434"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9435},9436{9437"match": "\\*",9438"name": "comment.block.cuda-cpp"9439}9440]9441}9442}9443}9444]9445},9446"4": {9447"name": "entity.name.type.enum.parameter.cuda-cpp"9448},9449"5": {9450"patterns": [9451{9452"include": "#inline_comment"9453}9454]9455},9456"6": {9457"patterns": [9458{9459"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9460"captures": {9461"1": {9462"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9463},9464"2": {9465"name": "comment.block.cuda-cpp"9466},9467"3": {9468"patterns": [9469{9470"match": "\\*\\/",9471"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9472},9473{9474"match": "\\*",9475"name": "comment.block.cuda-cpp"9476}9477]9478}9479}9480}9481]9482},9483"7": {9484"patterns": [9485{9486"match": "\\*",9487"name": "storage.modifier.pointer.cuda-cpp"9488},9489{9490"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",9491"captures": {9492"1": {9493"patterns": [9494{9495"include": "#inline_comment"9496}9497]9498},9499"2": {9500"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9501},9502"3": {9503"name": "comment.block.cuda-cpp"9504},9505"4": {9506"patterns": [9507{9508"match": "\\*\\/",9509"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9510},9511{9512"match": "\\*",9513"name": "comment.block.cuda-cpp"9514}9515]9516}9517},9518"name": "invalid.illegal.reference-type.cuda-cpp"9519},9520{9521"match": "\\&",9522"name": "storage.modifier.reference.cuda-cpp"9523}9524]9525},9526"8": {9527"patterns": [9528{9529"include": "#inline_comment"9530}9531]9532},9533"9": {9534"patterns": [9535{9536"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9537"captures": {9538"1": {9539"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9540},9541"2": {9542"name": "comment.block.cuda-cpp"9543},9544"3": {9545"patterns": [9546{9547"match": "\\*\\/",9548"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9549},9550{9551"match": "\\*",9552"name": "comment.block.cuda-cpp"9553}9554]9555}9556}9557}9558]9559},9560"10": {9561"patterns": [9562{9563"include": "#inline_comment"9564}9565]9566},9567"11": {9568"patterns": [9569{9570"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9571"captures": {9572"1": {9573"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9574},9575"2": {9576"name": "comment.block.cuda-cpp"9577},9578"3": {9579"patterns": [9580{9581"match": "\\*\\/",9582"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9583},9584{9585"match": "\\*",9586"name": "comment.block.cuda-cpp"9587}9588]9589}9590}9591}9592]9593},9594"12": {9595"patterns": [9596{9597"include": "#inline_comment"9598}9599]9600},9601"13": {9602"patterns": [9603{9604"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9605"captures": {9606"1": {9607"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9608},9609"2": {9610"name": "comment.block.cuda-cpp"9611},9612"3": {9613"patterns": [9614{9615"match": "\\*\\/",9616"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9617},9618{9619"match": "\\*",9620"name": "comment.block.cuda-cpp"9621}9622]9623}9624}9625}9626]9627},9628"14": {9629"name": "variable.other.object.declare.cuda-cpp"9630},9631"15": {9632"patterns": [9633{9634"include": "#inline_comment"9635}9636]9637},9638"16": {9639"patterns": [9640{9641"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9642"captures": {9643"1": {9644"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9645},9646"2": {9647"name": "comment.block.cuda-cpp"9648},9649"3": {9650"patterns": [9651{9652"match": "\\*\\/",9653"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9654},9655{9656"match": "\\*",9657"name": "comment.block.cuda-cpp"9658}9659]9660}9661}9662}9663]9664},9665"17": {9666"patterns": [9667{9668"include": "#inline_comment"9669}9670]9671},9672"18": {9673"patterns": [9674{9675"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9676"captures": {9677"1": {9678"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9679},9680"2": {9681"name": "comment.block.cuda-cpp"9682},9683"3": {9684"patterns": [9685{9686"match": "\\*\\/",9687"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9688},9689{9690"match": "\\*",9691"name": "comment.block.cuda-cpp"9692}9693]9694}9695}9696}9697]9698},9699"19": {9700"patterns": [9701{9702"include": "#inline_comment"9703}9704]9705},9706"20": {9707"patterns": [9708{9709"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9710"captures": {9711"1": {9712"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9713},9714"2": {9715"name": "comment.block.cuda-cpp"9716},9717"3": {9718"patterns": [9719{9720"match": "\\*\\/",9721"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9722},9723{9724"match": "\\*",9725"name": "comment.block.cuda-cpp"9726}9727]9728}9729}9730}9731]9732}9733}9734},9735{9736"match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",9737"captures": {9738"1": {9739"name": "storage.type.union.parameter.cuda-cpp"9740},9741"2": {9742"patterns": [9743{9744"include": "#inline_comment"9745}9746]9747},9748"3": {9749"patterns": [9750{9751"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9752"captures": {9753"1": {9754"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9755},9756"2": {9757"name": "comment.block.cuda-cpp"9758},9759"3": {9760"patterns": [9761{9762"match": "\\*\\/",9763"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9764},9765{9766"match": "\\*",9767"name": "comment.block.cuda-cpp"9768}9769]9770}9771}9772}9773]9774},9775"4": {9776"name": "entity.name.type.union.parameter.cuda-cpp"9777},9778"5": {9779"patterns": [9780{9781"include": "#inline_comment"9782}9783]9784},9785"6": {9786"patterns": [9787{9788"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9789"captures": {9790"1": {9791"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9792},9793"2": {9794"name": "comment.block.cuda-cpp"9795},9796"3": {9797"patterns": [9798{9799"match": "\\*\\/",9800"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9801},9802{9803"match": "\\*",9804"name": "comment.block.cuda-cpp"9805}9806]9807}9808}9809}9810]9811},9812"7": {9813"patterns": [9814{9815"match": "\\*",9816"name": "storage.modifier.pointer.cuda-cpp"9817},9818{9819"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",9820"captures": {9821"1": {9822"patterns": [9823{9824"include": "#inline_comment"9825}9826]9827},9828"2": {9829"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9830},9831"3": {9832"name": "comment.block.cuda-cpp"9833},9834"4": {9835"patterns": [9836{9837"match": "\\*\\/",9838"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9839},9840{9841"match": "\\*",9842"name": "comment.block.cuda-cpp"9843}9844]9845}9846},9847"name": "invalid.illegal.reference-type.cuda-cpp"9848},9849{9850"match": "\\&",9851"name": "storage.modifier.reference.cuda-cpp"9852}9853]9854},9855"8": {9856"patterns": [9857{9858"include": "#inline_comment"9859}9860]9861},9862"9": {9863"patterns": [9864{9865"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9866"captures": {9867"1": {9868"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9869},9870"2": {9871"name": "comment.block.cuda-cpp"9872},9873"3": {9874"patterns": [9875{9876"match": "\\*\\/",9877"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9878},9879{9880"match": "\\*",9881"name": "comment.block.cuda-cpp"9882}9883]9884}9885}9886}9887]9888},9889"10": {9890"patterns": [9891{9892"include": "#inline_comment"9893}9894]9895},9896"11": {9897"patterns": [9898{9899"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9900"captures": {9901"1": {9902"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9903},9904"2": {9905"name": "comment.block.cuda-cpp"9906},9907"3": {9908"patterns": [9909{9910"match": "\\*\\/",9911"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9912},9913{9914"match": "\\*",9915"name": "comment.block.cuda-cpp"9916}9917]9918}9919}9920}9921]9922},9923"12": {9924"patterns": [9925{9926"include": "#inline_comment"9927}9928]9929},9930"13": {9931"patterns": [9932{9933"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9934"captures": {9935"1": {9936"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9937},9938"2": {9939"name": "comment.block.cuda-cpp"9940},9941"3": {9942"patterns": [9943{9944"match": "\\*\\/",9945"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9946},9947{9948"match": "\\*",9949"name": "comment.block.cuda-cpp"9950}9951]9952}9953}9954}9955]9956},9957"14": {9958"name": "variable.other.object.declare.cuda-cpp"9959},9960"15": {9961"patterns": [9962{9963"include": "#inline_comment"9964}9965]9966},9967"16": {9968"patterns": [9969{9970"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",9971"captures": {9972"1": {9973"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"9974},9975"2": {9976"name": "comment.block.cuda-cpp"9977},9978"3": {9979"patterns": [9980{9981"match": "\\*\\/",9982"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"9983},9984{9985"match": "\\*",9986"name": "comment.block.cuda-cpp"9987}9988]9989}9990}9991}9992]9993},9994"17": {9995"patterns": [9996{9997"include": "#inline_comment"9998}9999]10000},10001"18": {10002"patterns": [10003{10004"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10005"captures": {10006"1": {10007"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10008},10009"2": {10010"name": "comment.block.cuda-cpp"10011},10012"3": {10013"patterns": [10014{10015"match": "\\*\\/",10016"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10017},10018{10019"match": "\\*",10020"name": "comment.block.cuda-cpp"10021}10022]10023}10024}10025}10026]10027},10028"19": {10029"patterns": [10030{10031"include": "#inline_comment"10032}10033]10034},10035"20": {10036"patterns": [10037{10038"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10039"captures": {10040"1": {10041"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10042},10043"2": {10044"name": "comment.block.cuda-cpp"10045},10046"3": {10047"patterns": [10048{10049"match": "\\*\\/",10050"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10051},10052{10053"match": "\\*",10054"name": "comment.block.cuda-cpp"10055}10056]10057}10058}10059}10060]10061}10062}10063},10064{10065"match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",10066"captures": {10067"1": {10068"name": "storage.type.class.parameter.cuda-cpp"10069},10070"2": {10071"patterns": [10072{10073"include": "#inline_comment"10074}10075]10076},10077"3": {10078"patterns": [10079{10080"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10081"captures": {10082"1": {10083"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10084},10085"2": {10086"name": "comment.block.cuda-cpp"10087},10088"3": {10089"patterns": [10090{10091"match": "\\*\\/",10092"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10093},10094{10095"match": "\\*",10096"name": "comment.block.cuda-cpp"10097}10098]10099}10100}10101}10102]10103},10104"4": {10105"name": "entity.name.type.class.parameter.cuda-cpp"10106},10107"5": {10108"patterns": [10109{10110"include": "#inline_comment"10111}10112]10113},10114"6": {10115"patterns": [10116{10117"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10118"captures": {10119"1": {10120"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10121},10122"2": {10123"name": "comment.block.cuda-cpp"10124},10125"3": {10126"patterns": [10127{10128"match": "\\*\\/",10129"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10130},10131{10132"match": "\\*",10133"name": "comment.block.cuda-cpp"10134}10135]10136}10137}10138}10139]10140},10141"7": {10142"patterns": [10143{10144"match": "\\*",10145"name": "storage.modifier.pointer.cuda-cpp"10146},10147{10148"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",10149"captures": {10150"1": {10151"patterns": [10152{10153"include": "#inline_comment"10154}10155]10156},10157"2": {10158"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10159},10160"3": {10161"name": "comment.block.cuda-cpp"10162},10163"4": {10164"patterns": [10165{10166"match": "\\*\\/",10167"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10168},10169{10170"match": "\\*",10171"name": "comment.block.cuda-cpp"10172}10173]10174}10175},10176"name": "invalid.illegal.reference-type.cuda-cpp"10177},10178{10179"match": "\\&",10180"name": "storage.modifier.reference.cuda-cpp"10181}10182]10183},10184"8": {10185"patterns": [10186{10187"include": "#inline_comment"10188}10189]10190},10191"9": {10192"patterns": [10193{10194"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10195"captures": {10196"1": {10197"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10198},10199"2": {10200"name": "comment.block.cuda-cpp"10201},10202"3": {10203"patterns": [10204{10205"match": "\\*\\/",10206"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10207},10208{10209"match": "\\*",10210"name": "comment.block.cuda-cpp"10211}10212]10213}10214}10215}10216]10217},10218"10": {10219"patterns": [10220{10221"include": "#inline_comment"10222}10223]10224},10225"11": {10226"patterns": [10227{10228"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10229"captures": {10230"1": {10231"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10232},10233"2": {10234"name": "comment.block.cuda-cpp"10235},10236"3": {10237"patterns": [10238{10239"match": "\\*\\/",10240"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10241},10242{10243"match": "\\*",10244"name": "comment.block.cuda-cpp"10245}10246]10247}10248}10249}10250]10251},10252"12": {10253"patterns": [10254{10255"include": "#inline_comment"10256}10257]10258},10259"13": {10260"patterns": [10261{10262"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10263"captures": {10264"1": {10265"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10266},10267"2": {10268"name": "comment.block.cuda-cpp"10269},10270"3": {10271"patterns": [10272{10273"match": "\\*\\/",10274"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10275},10276{10277"match": "\\*",10278"name": "comment.block.cuda-cpp"10279}10280]10281}10282}10283}10284]10285},10286"14": {10287"name": "variable.other.object.declare.cuda-cpp"10288},10289"15": {10290"patterns": [10291{10292"include": "#inline_comment"10293}10294]10295},10296"16": {10297"patterns": [10298{10299"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10300"captures": {10301"1": {10302"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10303},10304"2": {10305"name": "comment.block.cuda-cpp"10306},10307"3": {10308"patterns": [10309{10310"match": "\\*\\/",10311"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10312},10313{10314"match": "\\*",10315"name": "comment.block.cuda-cpp"10316}10317]10318}10319}10320}10321]10322},10323"17": {10324"patterns": [10325{10326"include": "#inline_comment"10327}10328]10329},10330"18": {10331"patterns": [10332{10333"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10334"captures": {10335"1": {10336"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10337},10338"2": {10339"name": "comment.block.cuda-cpp"10340},10341"3": {10342"patterns": [10343{10344"match": "\\*\\/",10345"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10346},10347{10348"match": "\\*",10349"name": "comment.block.cuda-cpp"10350}10351]10352}10353}10354}10355]10356},10357"19": {10358"patterns": [10359{10360"include": "#inline_comment"10361}10362]10363},10364"20": {10365"patterns": [10366{10367"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10368"captures": {10369"1": {10370"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10371},10372"2": {10373"name": "comment.block.cuda-cpp"10374},10375"3": {10376"patterns": [10377{10378"match": "\\*\\/",10379"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10380},10381{10382"match": "\\*",10383"name": "comment.block.cuda-cpp"10384}10385]10386}10387}10388}10389]10390}10391}10392}10393]10394},10395"parameter": {10396"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",10397"end": "(?:(?=\\))|(,))",10398"beginCaptures": {10399"1": {10400"patterns": [10401{10402"include": "#inline_comment"10403}10404]10405},10406"2": {10407"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10408},10409"3": {10410"name": "comment.block.cuda-cpp"10411},10412"4": {10413"patterns": [10414{10415"match": "\\*\\/",10416"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10417},10418{10419"match": "\\*",10420"name": "comment.block.cuda-cpp"10421}10422]10423}10424},10425"endCaptures": {10426"1": {10427"name": "punctuation.separator.delimiter.comma.cuda-cpp"10428}10429},10430"name": "meta.parameter.cuda-cpp",10431"patterns": [10432{10433"include": "#ever_present_context"10434},10435{10436"include": "#function_pointer_parameter"10437},10438{10439"include": "#decltype"10440},10441{10442"include": "#vararg_ellipses"10443},10444{10445"match": "((?:((?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)|((?<!\\w)(?:[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}))*(?!\\w)\\b\\b(?<!\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__managed__|^__managed__|\\W__shared__|^__shared__|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",10446"captures": {10447"1": {10448"patterns": [10449{10450"include": "#storage_types"10451}10452]10453},10454"2": {10455"name": "storage.modifier.specifier.parameter.cuda-cpp"10456},10457"3": {10458"patterns": [10459{10460"include": "#inline_comment"10461}10462]10463},10464"4": {10465"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10466},10467"5": {10468"name": "comment.block.cuda-cpp"10469},10470"6": {10471"patterns": [10472{10473"match": "\\*\\/",10474"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10475},10476{10477"match": "\\*",10478"name": "comment.block.cuda-cpp"10479}10480]10481},10482"7": {10483"patterns": [10484{10485"include": "#inline_comment"10486}10487]10488},10489"8": {10490"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10491},10492"9": {10493"name": "comment.block.cuda-cpp"10494},10495"10": {10496"patterns": [10497{10498"match": "\\*\\/",10499"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10500},10501{10502"match": "\\*",10503"name": "comment.block.cuda-cpp"10504}10505]10506},10507"11": {10508"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"10509},10510"12": {10511"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"10512},10513"13": {10514"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"10515},10516"14": {10517"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"10518},10519"15": {10520"name": "entity.name.type.parameter.cuda-cpp"10521},10522"16": {10523"patterns": [10524{10525"include": "#inline_comment"10526}10527]10528},10529"17": {10530"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10531},10532"18": {10533"name": "comment.block.cuda-cpp"10534},10535"19": {10536"patterns": [10537{10538"match": "\\*\\/",10539"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10540},10541{10542"match": "\\*",10543"name": "comment.block.cuda-cpp"10544}10545]10546}10547}10548},10549{10550"include": "#storage_types"10551},10552{10553"include": "#scope_resolution_parameter_inner_generated"10554},10555{10556"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",10557"name": "storage.type.$0.cuda-cpp"10558},10559{10560"begin": "(?<==)",10561"end": "(?:(?=\\))|(,))",10562"beginCaptures": {},10563"endCaptures": {10564"1": {10565"name": "punctuation.separator.delimiter.comma.cuda-cpp"10566}10567},10568"patterns": [10569{10570"include": "#evaluation_context"10571}10572]10573},10574{10575"match": "\\=",10576"name": "keyword.operator.assignment.cuda-cpp"10577},10578{10579"match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[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}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)",10580"captures": {10581"1": {10582"patterns": [10583{10584"include": "#inline_comment"10585}10586]10587},10588"2": {10589"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10590},10591"3": {10592"name": "comment.block.cuda-cpp"10593},10594"4": {10595"patterns": [10596{10597"match": "\\*\\/",10598"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10599},10600{10601"match": "\\*",10602"name": "comment.block.cuda-cpp"10603}10604]10605},10606"5": {10607"name": "variable.parameter.cuda-cpp"10608},10609"6": {10610"patterns": [10611{10612"include": "#inline_comment"10613}10614]10615},10616"7": {10617"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10618},10619"8": {10620"name": "comment.block.cuda-cpp"10621},10622"9": {10623"patterns": [10624{10625"match": "\\*\\/",10626"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10627},10628{10629"match": "\\*",10630"name": "comment.block.cuda-cpp"10631}10632]10633}10634}10635},10636{10637"include": "#attributes_context"10638},10639{10640"begin": "\\[",10641"end": "\\]",10642"beginCaptures": {10643"0": {10644"name": "punctuation.definition.begin.bracket.square.array.type.cuda-cpp"10645}10646},10647"endCaptures": {10648"0": {10649"name": "punctuation.definition.end.bracket.square.array.type.cuda-cpp"10650}10651},10652"name": "meta.bracket.square.array.cuda-cpp",10653"patterns": [10654{10655"include": "#evaluation_context"10656}10657]10658},10659{10660"match": "(?:[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}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",10661"name": "entity.name.type.parameter.cuda-cpp"10662},10663{10664"include": "#template_call_range"10665},10666{10667"match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",10668"captures": {10669"0": {10670"patterns": [10671{10672"match": "\\*",10673"name": "storage.modifier.pointer.cuda-cpp"10674},10675{10676"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",10677"captures": {10678"1": {10679"patterns": [10680{10681"include": "#inline_comment"10682}10683]10684},10685"2": {10686"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10687},10688"3": {10689"name": "comment.block.cuda-cpp"10690},10691"4": {10692"patterns": [10693{10694"match": "\\*\\/",10695"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10696},10697{10698"match": "\\*",10699"name": "comment.block.cuda-cpp"10700}10701]10702}10703},10704"name": "invalid.illegal.reference-type.cuda-cpp"10705},10706{10707"match": "\\&",10708"name": "storage.modifier.reference.cuda-cpp"10709}10710]10711},10712"1": {10713"patterns": [10714{10715"include": "#inline_comment"10716}10717]10718},10719"2": {10720"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10721},10722"3": {10723"name": "comment.block.cuda-cpp"10724},10725"4": {10726"patterns": [10727{10728"match": "\\*\\/",10729"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10730},10731{10732"match": "\\*",10733"name": "comment.block.cuda-cpp"10734}10735]10736},10737"5": {10738"patterns": [10739{10740"include": "#inline_comment"10741}10742]10743},10744"6": {10745"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10746},10747"7": {10748"name": "comment.block.cuda-cpp"10749},10750"8": {10751"patterns": [10752{10753"match": "\\*\\/",10754"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10755},10756{10757"match": "\\*",10758"name": "comment.block.cuda-cpp"10759}10760]10761}10762}10763}10764]10765},10766"parameter_class": {10767"match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",10768"captures": {10769"1": {10770"name": "storage.type.class.parameter.cuda-cpp"10771},10772"2": {10773"patterns": [10774{10775"include": "#inline_comment"10776}10777]10778},10779"3": {10780"patterns": [10781{10782"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10783"captures": {10784"1": {10785"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10786},10787"2": {10788"name": "comment.block.cuda-cpp"10789},10790"3": {10791"patterns": [10792{10793"match": "\\*\\/",10794"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10795},10796{10797"match": "\\*",10798"name": "comment.block.cuda-cpp"10799}10800]10801}10802}10803}10804]10805},10806"4": {10807"name": "entity.name.type.class.parameter.cuda-cpp"10808},10809"5": {10810"patterns": [10811{10812"include": "#inline_comment"10813}10814]10815},10816"6": {10817"patterns": [10818{10819"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10820"captures": {10821"1": {10822"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10823},10824"2": {10825"name": "comment.block.cuda-cpp"10826},10827"3": {10828"patterns": [10829{10830"match": "\\*\\/",10831"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10832},10833{10834"match": "\\*",10835"name": "comment.block.cuda-cpp"10836}10837]10838}10839}10840}10841]10842},10843"7": {10844"patterns": [10845{10846"match": "\\*",10847"name": "storage.modifier.pointer.cuda-cpp"10848},10849{10850"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",10851"captures": {10852"1": {10853"patterns": [10854{10855"include": "#inline_comment"10856}10857]10858},10859"2": {10860"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10861},10862"3": {10863"name": "comment.block.cuda-cpp"10864},10865"4": {10866"patterns": [10867{10868"match": "\\*\\/",10869"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10870},10871{10872"match": "\\*",10873"name": "comment.block.cuda-cpp"10874}10875]10876}10877},10878"name": "invalid.illegal.reference-type.cuda-cpp"10879},10880{10881"match": "\\&",10882"name": "storage.modifier.reference.cuda-cpp"10883}10884]10885},10886"8": {10887"patterns": [10888{10889"include": "#inline_comment"10890}10891]10892},10893"9": {10894"patterns": [10895{10896"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10897"captures": {10898"1": {10899"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10900},10901"2": {10902"name": "comment.block.cuda-cpp"10903},10904"3": {10905"patterns": [10906{10907"match": "\\*\\/",10908"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10909},10910{10911"match": "\\*",10912"name": "comment.block.cuda-cpp"10913}10914]10915}10916}10917}10918]10919},10920"10": {10921"patterns": [10922{10923"include": "#inline_comment"10924}10925]10926},10927"11": {10928"patterns": [10929{10930"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10931"captures": {10932"1": {10933"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10934},10935"2": {10936"name": "comment.block.cuda-cpp"10937},10938"3": {10939"patterns": [10940{10941"match": "\\*\\/",10942"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10943},10944{10945"match": "\\*",10946"name": "comment.block.cuda-cpp"10947}10948]10949}10950}10951}10952]10953},10954"12": {10955"patterns": [10956{10957"include": "#inline_comment"10958}10959]10960},10961"13": {10962"patterns": [10963{10964"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",10965"captures": {10966"1": {10967"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"10968},10969"2": {10970"name": "comment.block.cuda-cpp"10971},10972"3": {10973"patterns": [10974{10975"match": "\\*\\/",10976"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"10977},10978{10979"match": "\\*",10980"name": "comment.block.cuda-cpp"10981}10982]10983}10984}10985}10986]10987},10988"14": {10989"name": "variable.other.object.declare.cuda-cpp"10990},10991"15": {10992"patterns": [10993{10994"include": "#inline_comment"10995}10996]10997},10998"16": {10999"patterns": [11000{11001"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11002"captures": {11003"1": {11004"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11005},11006"2": {11007"name": "comment.block.cuda-cpp"11008},11009"3": {11010"patterns": [11011{11012"match": "\\*\\/",11013"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11014},11015{11016"match": "\\*",11017"name": "comment.block.cuda-cpp"11018}11019]11020}11021}11022}11023]11024},11025"17": {11026"patterns": [11027{11028"include": "#inline_comment"11029}11030]11031},11032"18": {11033"patterns": [11034{11035"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11036"captures": {11037"1": {11038"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11039},11040"2": {11041"name": "comment.block.cuda-cpp"11042},11043"3": {11044"patterns": [11045{11046"match": "\\*\\/",11047"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11048},11049{11050"match": "\\*",11051"name": "comment.block.cuda-cpp"11052}11053]11054}11055}11056}11057]11058},11059"19": {11060"patterns": [11061{11062"include": "#inline_comment"11063}11064]11065},11066"20": {11067"patterns": [11068{11069"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11070"captures": {11071"1": {11072"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11073},11074"2": {11075"name": "comment.block.cuda-cpp"11076},11077"3": {11078"patterns": [11079{11080"match": "\\*\\/",11081"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11082},11083{11084"match": "\\*",11085"name": "comment.block.cuda-cpp"11086}11087]11088}11089}11090}11091]11092}11093}11094},11095"parameter_enum": {11096"match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",11097"captures": {11098"1": {11099"name": "storage.type.enum.parameter.cuda-cpp"11100},11101"2": {11102"patterns": [11103{11104"include": "#inline_comment"11105}11106]11107},11108"3": {11109"patterns": [11110{11111"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11112"captures": {11113"1": {11114"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11115},11116"2": {11117"name": "comment.block.cuda-cpp"11118},11119"3": {11120"patterns": [11121{11122"match": "\\*\\/",11123"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11124},11125{11126"match": "\\*",11127"name": "comment.block.cuda-cpp"11128}11129]11130}11131}11132}11133]11134},11135"4": {11136"name": "entity.name.type.enum.parameter.cuda-cpp"11137},11138"5": {11139"patterns": [11140{11141"include": "#inline_comment"11142}11143]11144},11145"6": {11146"patterns": [11147{11148"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11149"captures": {11150"1": {11151"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11152},11153"2": {11154"name": "comment.block.cuda-cpp"11155},11156"3": {11157"patterns": [11158{11159"match": "\\*\\/",11160"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11161},11162{11163"match": "\\*",11164"name": "comment.block.cuda-cpp"11165}11166]11167}11168}11169}11170]11171},11172"7": {11173"patterns": [11174{11175"match": "\\*",11176"name": "storage.modifier.pointer.cuda-cpp"11177},11178{11179"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",11180"captures": {11181"1": {11182"patterns": [11183{11184"include": "#inline_comment"11185}11186]11187},11188"2": {11189"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11190},11191"3": {11192"name": "comment.block.cuda-cpp"11193},11194"4": {11195"patterns": [11196{11197"match": "\\*\\/",11198"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11199},11200{11201"match": "\\*",11202"name": "comment.block.cuda-cpp"11203}11204]11205}11206},11207"name": "invalid.illegal.reference-type.cuda-cpp"11208},11209{11210"match": "\\&",11211"name": "storage.modifier.reference.cuda-cpp"11212}11213]11214},11215"8": {11216"patterns": [11217{11218"include": "#inline_comment"11219}11220]11221},11222"9": {11223"patterns": [11224{11225"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11226"captures": {11227"1": {11228"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11229},11230"2": {11231"name": "comment.block.cuda-cpp"11232},11233"3": {11234"patterns": [11235{11236"match": "\\*\\/",11237"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11238},11239{11240"match": "\\*",11241"name": "comment.block.cuda-cpp"11242}11243]11244}11245}11246}11247]11248},11249"10": {11250"patterns": [11251{11252"include": "#inline_comment"11253}11254]11255},11256"11": {11257"patterns": [11258{11259"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11260"captures": {11261"1": {11262"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11263},11264"2": {11265"name": "comment.block.cuda-cpp"11266},11267"3": {11268"patterns": [11269{11270"match": "\\*\\/",11271"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11272},11273{11274"match": "\\*",11275"name": "comment.block.cuda-cpp"11276}11277]11278}11279}11280}11281]11282},11283"12": {11284"patterns": [11285{11286"include": "#inline_comment"11287}11288]11289},11290"13": {11291"patterns": [11292{11293"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11294"captures": {11295"1": {11296"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11297},11298"2": {11299"name": "comment.block.cuda-cpp"11300},11301"3": {11302"patterns": [11303{11304"match": "\\*\\/",11305"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11306},11307{11308"match": "\\*",11309"name": "comment.block.cuda-cpp"11310}11311]11312}11313}11314}11315]11316},11317"14": {11318"name": "variable.other.object.declare.cuda-cpp"11319},11320"15": {11321"patterns": [11322{11323"include": "#inline_comment"11324}11325]11326},11327"16": {11328"patterns": [11329{11330"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11331"captures": {11332"1": {11333"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11334},11335"2": {11336"name": "comment.block.cuda-cpp"11337},11338"3": {11339"patterns": [11340{11341"match": "\\*\\/",11342"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11343},11344{11345"match": "\\*",11346"name": "comment.block.cuda-cpp"11347}11348]11349}11350}11351}11352]11353},11354"17": {11355"patterns": [11356{11357"include": "#inline_comment"11358}11359]11360},11361"18": {11362"patterns": [11363{11364"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11365"captures": {11366"1": {11367"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11368},11369"2": {11370"name": "comment.block.cuda-cpp"11371},11372"3": {11373"patterns": [11374{11375"match": "\\*\\/",11376"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11377},11378{11379"match": "\\*",11380"name": "comment.block.cuda-cpp"11381}11382]11383}11384}11385}11386]11387},11388"19": {11389"patterns": [11390{11391"include": "#inline_comment"11392}11393]11394},11395"20": {11396"patterns": [11397{11398"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11399"captures": {11400"1": {11401"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11402},11403"2": {11404"name": "comment.block.cuda-cpp"11405},11406"3": {11407"patterns": [11408{11409"match": "\\*\\/",11410"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11411},11412{11413"match": "\\*",11414"name": "comment.block.cuda-cpp"11415}11416]11417}11418}11419}11420]11421}11422}11423},11424"parameter_or_maybe_value": {11425"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",11426"end": "(?:(?=\\))|(,))",11427"beginCaptures": {11428"1": {11429"patterns": [11430{11431"include": "#inline_comment"11432}11433]11434},11435"2": {11436"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11437},11438"3": {11439"name": "comment.block.cuda-cpp"11440},11441"4": {11442"patterns": [11443{11444"match": "\\*\\/",11445"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11446},11447{11448"match": "\\*",11449"name": "comment.block.cuda-cpp"11450}11451]11452}11453},11454"endCaptures": {11455"1": {11456"name": "punctuation.separator.delimiter.comma.cuda-cpp"11457}11458},11459"name": "meta.parameter.cuda-cpp",11460"patterns": [11461{11462"include": "#ever_present_context"11463},11464{11465"include": "#function_pointer_parameter"11466},11467{11468"include": "#memory_operators"11469},11470{11471"include": "#builtin_storage_type_initilizer"11472},11473{11474"include": "#curly_initializer"11475},11476{11477"include": "#decltype"11478},11479{11480"include": "#vararg_ellipses"11481},11482{11483"match": "((?:((?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)|((?<!\\w)(?:[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}))*(?!\\w)\\b\\b(?<!\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__managed__|^__managed__|\\W__shared__|^__shared__|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",11484"captures": {11485"1": {11486"patterns": [11487{11488"include": "#storage_types"11489}11490]11491},11492"2": {11493"name": "storage.modifier.specifier.parameter.cuda-cpp"11494},11495"3": {11496"patterns": [11497{11498"include": "#inline_comment"11499}11500]11501},11502"4": {11503"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11504},11505"5": {11506"name": "comment.block.cuda-cpp"11507},11508"6": {11509"patterns": [11510{11511"match": "\\*\\/",11512"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11513},11514{11515"match": "\\*",11516"name": "comment.block.cuda-cpp"11517}11518]11519},11520"7": {11521"patterns": [11522{11523"include": "#inline_comment"11524}11525]11526},11527"8": {11528"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11529},11530"9": {11531"name": "comment.block.cuda-cpp"11532},11533"10": {11534"patterns": [11535{11536"match": "\\*\\/",11537"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11538},11539{11540"match": "\\*",11541"name": "comment.block.cuda-cpp"11542}11543]11544},11545"11": {11546"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"11547},11548"12": {11549"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"11550},11551"13": {11552"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"11553},11554"14": {11555"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"11556},11557"15": {11558"name": "entity.name.type.parameter.cuda-cpp"11559},11560"16": {11561"patterns": [11562{11563"include": "#inline_comment"11564}11565]11566},11567"17": {11568"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11569},11570"18": {11571"name": "comment.block.cuda-cpp"11572},11573"19": {11574"patterns": [11575{11576"match": "\\*\\/",11577"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11578},11579{11580"match": "\\*",11581"name": "comment.block.cuda-cpp"11582}11583]11584}11585}11586},11587{11588"include": "#storage_types"11589},11590{11591"include": "#function_call"11592},11593{11594"include": "#scope_resolution_parameter_inner_generated"11595},11596{11597"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",11598"name": "storage.type.$0.cuda-cpp"11599},11600{11601"begin": "(?<==)",11602"end": "(?:(?=\\))|(,))",11603"beginCaptures": {},11604"endCaptures": {11605"1": {11606"name": "punctuation.separator.delimiter.comma.cuda-cpp"11607}11608},11609"patterns": [11610{11611"include": "#evaluation_context"11612}11613]11614},11615{11616"match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[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}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))",11617"captures": {11618"1": {11619"patterns": [11620{11621"include": "#inline_comment"11622}11623]11624},11625"2": {11626"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11627},11628"3": {11629"name": "comment.block.cuda-cpp"11630},11631"4": {11632"patterns": [11633{11634"match": "\\*\\/",11635"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11636},11637{11638"match": "\\*",11639"name": "comment.block.cuda-cpp"11640}11641]11642},11643"5": {11644"name": "variable.parameter.cuda-cpp"11645},11646"6": {11647"patterns": [11648{11649"include": "#inline_comment"11650}11651]11652},11653"7": {11654"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11655},11656"8": {11657"name": "comment.block.cuda-cpp"11658},11659"9": {11660"patterns": [11661{11662"match": "\\*\\/",11663"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11664},11665{11666"match": "\\*",11667"name": "comment.block.cuda-cpp"11668}11669]11670}11671}11672},11673{11674"include": "#attributes_context"11675},11676{11677"begin": "\\[",11678"end": "\\]",11679"beginCaptures": {11680"0": {11681"name": "punctuation.definition.begin.bracket.square.array.type.cuda-cpp"11682}11683},11684"endCaptures": {11685"0": {11686"name": "punctuation.definition.end.bracket.square.array.type.cuda-cpp"11687}11688},11689"name": "meta.bracket.square.array.cuda-cpp",11690"patterns": [11691{11692"include": "#evaluation_context"11693}11694]11695},11696{11697"match": "(?:[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}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",11698"name": "entity.name.type.parameter.cuda-cpp"11699},11700{11701"include": "#template_call_range"11702},11703{11704"match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",11705"captures": {11706"0": {11707"patterns": [11708{11709"match": "\\*",11710"name": "storage.modifier.pointer.cuda-cpp"11711},11712{11713"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",11714"captures": {11715"1": {11716"patterns": [11717{11718"include": "#inline_comment"11719}11720]11721},11722"2": {11723"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11724},11725"3": {11726"name": "comment.block.cuda-cpp"11727},11728"4": {11729"patterns": [11730{11731"match": "\\*\\/",11732"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11733},11734{11735"match": "\\*",11736"name": "comment.block.cuda-cpp"11737}11738]11739}11740},11741"name": "invalid.illegal.reference-type.cuda-cpp"11742},11743{11744"match": "\\&",11745"name": "storage.modifier.reference.cuda-cpp"11746}11747]11748},11749"1": {11750"patterns": [11751{11752"include": "#inline_comment"11753}11754]11755},11756"2": {11757"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11758},11759"3": {11760"name": "comment.block.cuda-cpp"11761},11762"4": {11763"patterns": [11764{11765"match": "\\*\\/",11766"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11767},11768{11769"match": "\\*",11770"name": "comment.block.cuda-cpp"11771}11772]11773},11774"5": {11775"patterns": [11776{11777"include": "#inline_comment"11778}11779]11780},11781"6": {11782"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11783},11784"7": {11785"name": "comment.block.cuda-cpp"11786},11787"8": {11788"patterns": [11789{11790"match": "\\*\\/",11791"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11792},11793{11794"match": "\\*",11795"name": "comment.block.cuda-cpp"11796}11797]11798}11799}11800},11801{11802"include": "#evaluation_context"11803}11804]11805},11806"parameter_struct": {11807"match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",11808"captures": {11809"1": {11810"name": "storage.type.struct.parameter.cuda-cpp"11811},11812"2": {11813"patterns": [11814{11815"include": "#inline_comment"11816}11817]11818},11819"3": {11820"patterns": [11821{11822"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11823"captures": {11824"1": {11825"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11826},11827"2": {11828"name": "comment.block.cuda-cpp"11829},11830"3": {11831"patterns": [11832{11833"match": "\\*\\/",11834"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11835},11836{11837"match": "\\*",11838"name": "comment.block.cuda-cpp"11839}11840]11841}11842}11843}11844]11845},11846"4": {11847"name": "entity.name.type.struct.parameter.cuda-cpp"11848},11849"5": {11850"patterns": [11851{11852"include": "#inline_comment"11853}11854]11855},11856"6": {11857"patterns": [11858{11859"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11860"captures": {11861"1": {11862"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11863},11864"2": {11865"name": "comment.block.cuda-cpp"11866},11867"3": {11868"patterns": [11869{11870"match": "\\*\\/",11871"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11872},11873{11874"match": "\\*",11875"name": "comment.block.cuda-cpp"11876}11877]11878}11879}11880}11881]11882},11883"7": {11884"patterns": [11885{11886"match": "\\*",11887"name": "storage.modifier.pointer.cuda-cpp"11888},11889{11890"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",11891"captures": {11892"1": {11893"patterns": [11894{11895"include": "#inline_comment"11896}11897]11898},11899"2": {11900"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11901},11902"3": {11903"name": "comment.block.cuda-cpp"11904},11905"4": {11906"patterns": [11907{11908"match": "\\*\\/",11909"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11910},11911{11912"match": "\\*",11913"name": "comment.block.cuda-cpp"11914}11915]11916}11917},11918"name": "invalid.illegal.reference-type.cuda-cpp"11919},11920{11921"match": "\\&",11922"name": "storage.modifier.reference.cuda-cpp"11923}11924]11925},11926"8": {11927"patterns": [11928{11929"include": "#inline_comment"11930}11931]11932},11933"9": {11934"patterns": [11935{11936"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11937"captures": {11938"1": {11939"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11940},11941"2": {11942"name": "comment.block.cuda-cpp"11943},11944"3": {11945"patterns": [11946{11947"match": "\\*\\/",11948"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11949},11950{11951"match": "\\*",11952"name": "comment.block.cuda-cpp"11953}11954]11955}11956}11957}11958]11959},11960"10": {11961"patterns": [11962{11963"include": "#inline_comment"11964}11965]11966},11967"11": {11968"patterns": [11969{11970"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",11971"captures": {11972"1": {11973"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"11974},11975"2": {11976"name": "comment.block.cuda-cpp"11977},11978"3": {11979"patterns": [11980{11981"match": "\\*\\/",11982"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"11983},11984{11985"match": "\\*",11986"name": "comment.block.cuda-cpp"11987}11988]11989}11990}11991}11992]11993},11994"12": {11995"patterns": [11996{11997"include": "#inline_comment"11998}11999]12000},12001"13": {12002"patterns": [12003{12004"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12005"captures": {12006"1": {12007"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12008},12009"2": {12010"name": "comment.block.cuda-cpp"12011},12012"3": {12013"patterns": [12014{12015"match": "\\*\\/",12016"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12017},12018{12019"match": "\\*",12020"name": "comment.block.cuda-cpp"12021}12022]12023}12024}12025}12026]12027},12028"14": {12029"name": "variable.other.object.declare.cuda-cpp"12030},12031"15": {12032"patterns": [12033{12034"include": "#inline_comment"12035}12036]12037},12038"16": {12039"patterns": [12040{12041"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12042"captures": {12043"1": {12044"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12045},12046"2": {12047"name": "comment.block.cuda-cpp"12048},12049"3": {12050"patterns": [12051{12052"match": "\\*\\/",12053"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12054},12055{12056"match": "\\*",12057"name": "comment.block.cuda-cpp"12058}12059]12060}12061}12062}12063]12064},12065"17": {12066"patterns": [12067{12068"include": "#inline_comment"12069}12070]12071},12072"18": {12073"patterns": [12074{12075"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12076"captures": {12077"1": {12078"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12079},12080"2": {12081"name": "comment.block.cuda-cpp"12082},12083"3": {12084"patterns": [12085{12086"match": "\\*\\/",12087"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12088},12089{12090"match": "\\*",12091"name": "comment.block.cuda-cpp"12092}12093]12094}12095}12096}12097]12098},12099"19": {12100"patterns": [12101{12102"include": "#inline_comment"12103}12104]12105},12106"20": {12107"patterns": [12108{12109"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12110"captures": {12111"1": {12112"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12113},12114"2": {12115"name": "comment.block.cuda-cpp"12116},12117"3": {12118"patterns": [12119{12120"match": "\\*\\/",12121"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12122},12123{12124"match": "\\*",12125"name": "comment.block.cuda-cpp"12126}12127]12128}12129}12130}12131]12132}12133}12134},12135"parameter_union": {12136"match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",12137"captures": {12138"1": {12139"name": "storage.type.union.parameter.cuda-cpp"12140},12141"2": {12142"patterns": [12143{12144"include": "#inline_comment"12145}12146]12147},12148"3": {12149"patterns": [12150{12151"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12152"captures": {12153"1": {12154"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12155},12156"2": {12157"name": "comment.block.cuda-cpp"12158},12159"3": {12160"patterns": [12161{12162"match": "\\*\\/",12163"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12164},12165{12166"match": "\\*",12167"name": "comment.block.cuda-cpp"12168}12169]12170}12171}12172}12173]12174},12175"4": {12176"name": "entity.name.type.union.parameter.cuda-cpp"12177},12178"5": {12179"patterns": [12180{12181"include": "#inline_comment"12182}12183]12184},12185"6": {12186"patterns": [12187{12188"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12189"captures": {12190"1": {12191"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12192},12193"2": {12194"name": "comment.block.cuda-cpp"12195},12196"3": {12197"patterns": [12198{12199"match": "\\*\\/",12200"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12201},12202{12203"match": "\\*",12204"name": "comment.block.cuda-cpp"12205}12206]12207}12208}12209}12210]12211},12212"7": {12213"patterns": [12214{12215"match": "\\*",12216"name": "storage.modifier.pointer.cuda-cpp"12217},12218{12219"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",12220"captures": {12221"1": {12222"patterns": [12223{12224"include": "#inline_comment"12225}12226]12227},12228"2": {12229"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12230},12231"3": {12232"name": "comment.block.cuda-cpp"12233},12234"4": {12235"patterns": [12236{12237"match": "\\*\\/",12238"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12239},12240{12241"match": "\\*",12242"name": "comment.block.cuda-cpp"12243}12244]12245}12246},12247"name": "invalid.illegal.reference-type.cuda-cpp"12248},12249{12250"match": "\\&",12251"name": "storage.modifier.reference.cuda-cpp"12252}12253]12254},12255"8": {12256"patterns": [12257{12258"include": "#inline_comment"12259}12260]12261},12262"9": {12263"patterns": [12264{12265"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12266"captures": {12267"1": {12268"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12269},12270"2": {12271"name": "comment.block.cuda-cpp"12272},12273"3": {12274"patterns": [12275{12276"match": "\\*\\/",12277"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12278},12279{12280"match": "\\*",12281"name": "comment.block.cuda-cpp"12282}12283]12284}12285}12286}12287]12288},12289"10": {12290"patterns": [12291{12292"include": "#inline_comment"12293}12294]12295},12296"11": {12297"patterns": [12298{12299"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12300"captures": {12301"1": {12302"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12303},12304"2": {12305"name": "comment.block.cuda-cpp"12306},12307"3": {12308"patterns": [12309{12310"match": "\\*\\/",12311"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12312},12313{12314"match": "\\*",12315"name": "comment.block.cuda-cpp"12316}12317]12318}12319}12320}12321]12322},12323"12": {12324"patterns": [12325{12326"include": "#inline_comment"12327}12328]12329},12330"13": {12331"patterns": [12332{12333"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12334"captures": {12335"1": {12336"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12337},12338"2": {12339"name": "comment.block.cuda-cpp"12340},12341"3": {12342"patterns": [12343{12344"match": "\\*\\/",12345"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12346},12347{12348"match": "\\*",12349"name": "comment.block.cuda-cpp"12350}12351]12352}12353}12354}12355]12356},12357"14": {12358"name": "variable.other.object.declare.cuda-cpp"12359},12360"15": {12361"patterns": [12362{12363"include": "#inline_comment"12364}12365]12366},12367"16": {12368"patterns": [12369{12370"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12371"captures": {12372"1": {12373"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12374},12375"2": {12376"name": "comment.block.cuda-cpp"12377},12378"3": {12379"patterns": [12380{12381"match": "\\*\\/",12382"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12383},12384{12385"match": "\\*",12386"name": "comment.block.cuda-cpp"12387}12388]12389}12390}12391}12392]12393},12394"17": {12395"patterns": [12396{12397"include": "#inline_comment"12398}12399]12400},12401"18": {12402"patterns": [12403{12404"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12405"captures": {12406"1": {12407"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12408},12409"2": {12410"name": "comment.block.cuda-cpp"12411},12412"3": {12413"patterns": [12414{12415"match": "\\*\\/",12416"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12417},12418{12419"match": "\\*",12420"name": "comment.block.cuda-cpp"12421}12422]12423}12424}12425}12426]12427},12428"19": {12429"patterns": [12430{12431"include": "#inline_comment"12432}12433]12434},12435"20": {12436"patterns": [12437{12438"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12439"captures": {12440"1": {12441"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12442},12443"2": {12444"name": "comment.block.cuda-cpp"12445},12446"3": {12447"patterns": [12448{12449"match": "\\*\\/",12450"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12451},12452{12453"match": "\\*",12454"name": "comment.block.cuda-cpp"12455}12456]12457}12458}12459}12460]12461}12462}12463},12464"parentheses": {12465"begin": "\\(",12466"end": "\\)",12467"beginCaptures": {12468"0": {12469"name": "punctuation.section.parens.begin.bracket.round.cuda-cpp"12470}12471},12472"endCaptures": {12473"0": {12474"name": "punctuation.section.parens.end.bracket.round.cuda-cpp"12475}12476},12477"name": "meta.parens.cuda-cpp",12478"patterns": [12479{12480"include": "#over_qualified_types"12481},12482{12483"match": "(?<!:):(?!:)",12484"name": "punctuation.separator.colon.range-based.cuda-cpp"12485},12486{12487"include": "#evaluation_context"12488}12489]12490},12491"pragma": {12492"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b",12493"end": "(?<!\\\\)(?=\\n)",12494"beginCaptures": {12495"0": {12496"name": "keyword.control.directive.pragma.cuda-cpp"12497},12498"1": {12499"patterns": [12500{12501"include": "#inline_comment"12502}12503]12504},12505"2": {12506"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12507},12508"3": {12509"name": "comment.block.cuda-cpp"12510},12511"4": {12512"patterns": [12513{12514"match": "\\*\\/",12515"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12516},12517{12518"match": "\\*",12519"name": "comment.block.cuda-cpp"12520}12521]12522},12523"5": {12524"name": "punctuation.definition.directive.cuda-cpp"12525}12526},12527"endCaptures": {},12528"name": "meta.preprocessor.pragma.cuda-cpp",12529"patterns": [12530{12531"include": "#comments"12532},12533{12534"include": "#string_context"12535},12536{12537"match": "[a-zA-Z_$][\\w\\-$]*",12538"name": "entity.other.attribute-name.pragma.preprocessor.cuda-cpp"12539},12540{12541"include": "#preprocessor_number_literal"12542},12543{12544"include": "#line_continuation_character"12545}12546]12547},12548"pragma_mark": {12549"match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)",12550"captures": {12551"1": {12552"name": "keyword.control.directive.pragma.pragma-mark.cuda-cpp"12553},12554"2": {12555"patterns": [12556{12557"include": "#inline_comment"12558}12559]12560},12561"3": {12562"patterns": [12563{12564"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12565"captures": {12566"1": {12567"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12568},12569"2": {12570"name": "comment.block.cuda-cpp"12571},12572"3": {12573"patterns": [12574{12575"match": "\\*\\/",12576"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12577},12578{12579"match": "\\*",12580"name": "comment.block.cuda-cpp"12581}12582]12583}12584}12585}12586]12587},12588"4": {12589"name": "punctuation.definition.directive.cuda-cpp"12590},12591"5": {12592"name": "entity.name.tag.pragma-mark.cuda-cpp"12593}12594},12595"name": "meta.preprocessor.pragma.cuda-cpp"12596},12597"predefined_macros": {12598"patterns": [12599{12600"match": "\\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",12601"captures": {12602"1": {12603"name": "entity.name.other.preprocessor.macro.predefined.$1.cuda-cpp"12604}12605}12606},12607{12608"match": "\\b__([A-Z_]+)__\\b",12609"name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cuda-cpp"12610}12611]12612},12613"preprocessor_conditional_context": {12614"patterns": [12615{12616"include": "#preprocessor_conditional_defined"12617},12618{12619"include": "#comments"12620},12621{12622"include": "#language_constants"12623},12624{12625"include": "#string_context"12626},12627{12628"include": "#d9bc4796b0b_preprocessor_number_literal"12629},12630{12631"include": "#operators"12632},12633{12634"include": "#predefined_macros"12635},12636{12637"include": "#macro_name"12638},12639{12640"include": "#line_continuation_character"12641}12642]12643},12644"preprocessor_conditional_defined": {12645"begin": "((?<!\\w)defined(?!\\w))(\\()",12646"end": "(?:\\)|(?<!\\\\)(?=\\n))",12647"beginCaptures": {12648"1": {12649"name": "keyword.control.directive.conditional.defined.cuda-cpp"12650},12651"2": {12652"name": "punctuation.section.parens.control.defined.cuda-cpp"12653}12654},12655"endCaptures": {12656"0": {12657"name": "punctuation.section.parens.control.defined.cuda-cpp"12658}12659},12660"patterns": [12661{12662"include": "#macro_name"12663}12664]12665},12666"preprocessor_conditional_parentheses": {12667"begin": "\\(",12668"end": "\\)",12669"beginCaptures": {12670"0": {12671"name": "punctuation.section.parens.begin.bracket.round.cuda-cpp"12672}12673},12674"endCaptures": {12675"0": {12676"name": "punctuation.section.parens.end.bracket.round.cuda-cpp"12677}12678},12679"name": "meta.parens.preprocessor.conditional.cuda-cpp"12680},12681"preprocessor_conditional_range": {12682"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))",12683"end": "^(?!\\s*+#\\s*(?:else|endif))",12684"beginCaptures": {12685"0": {12686"name": "keyword.control.directive.conditional.$6.cuda-cpp"12687},12688"1": {12689"patterns": [12690{12691"include": "#inline_comment"12692}12693]12694},12695"2": {12696"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12697},12698"3": {12699"name": "comment.block.cuda-cpp"12700},12701"4": {12702"patterns": [12703{12704"match": "\\*\\/",12705"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12706},12707{12708"match": "\\*",12709"name": "comment.block.cuda-cpp"12710}12711]12712},12713"5": {12714"name": "punctuation.definition.directive.cuda-cpp"12715},12716"6": {}12717},12718"endCaptures": {},12719"patterns": [12720{12721"begin": "\\G(?<=ifndef|ifdef|if)",12722"end": "(?<!\\\\)(?=\\n)",12723"beginCaptures": {},12724"endCaptures": {},12725"name": "meta.preprocessor.conditional.cuda-cpp",12726"patterns": [12727{12728"include": "#preprocessor_conditional_context"12729}12730]12731},12732{12733"include": "$self"12734}12735]12736},12737"preprocessor_conditional_standalone": {12738"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?<!\\w)(?:endif|else|elif)(?!\\w))",12739"captures": {12740"1": {12741"patterns": [12742{12743"include": "#inline_comment"12744}12745]12746},12747"2": {12748"patterns": [12749{12750"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12751"captures": {12752"1": {12753"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12754},12755"2": {12756"name": "comment.block.cuda-cpp"12757},12758"3": {12759"patterns": [12760{12761"match": "\\*\\/",12762"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12763},12764{12765"match": "\\*",12766"name": "comment.block.cuda-cpp"12767}12768]12769}12770}12771}12772]12773},12774"3": {12775"name": "punctuation.definition.directive.cuda-cpp"12776}12777},12778"name": "keyword.control.directive.$4.cuda-cpp"12779},12780"preprocessor_context": {12781"patterns": [12782{12783"include": "#pragma_mark"12784},12785{12786"include": "#pragma"12787},12788{12789"include": "#include"12790},12791{12792"include": "#line"12793},12794{12795"include": "#diagnostic"12796},12797{12798"include": "#undef"12799},12800{12801"include": "#preprocessor_conditional_range"12802},12803{12804"include": "#single_line_macro"12805},12806{12807"include": "#macro"12808},12809{12810"include": "#preprocessor_conditional_standalone"12811},12812{12813"include": "#macro_argument"12814}12815]12816},12817"qualified_type": {12818"match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])",12819"captures": {12820"0": {12821"patterns": [12822{12823"match": "::",12824"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"12825},12826{12827"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",12828"name": "storage.type.$0.cuda-cpp"12829},12830{12831"include": "#attributes_context"12832},12833{12834"include": "#storage_types"12835},12836{12837"include": "#number_literal"12838},12839{12840"include": "#string_context"12841},12842{12843"include": "#comma"12844},12845{12846"include": "#scope_resolution_inner_generated"12847},12848{12849"begin": "<",12850"end": ">",12851"beginCaptures": {12852"0": {12853"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"12854}12855},12856"endCaptures": {12857"0": {12858"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"12859}12860},12861"name": "meta.template.call.cuda-cpp",12862"patterns": [12863{12864"include": "#template_call_context"12865}12866]12867},12868{12869"match": "(?:[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}))*",12870"name": "entity.name.type.cuda-cpp"12871}12872]12873},12874"1": {12875"patterns": [12876{12877"include": "#attributes_context"12878},12879{12880"include": "#number_literal"12881}12882]12883},12884"2": {12885"patterns": [12886{12887"include": "#inline_comment"12888}12889]12890},12891"3": {12892"patterns": [12893{12894"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12895"captures": {12896"1": {12897"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12898},12899"2": {12900"name": "comment.block.cuda-cpp"12901},12902"3": {12903"patterns": [12904{12905"match": "\\*\\/",12906"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12907},12908{12909"match": "\\*",12910"name": "comment.block.cuda-cpp"12911}12912]12913}12914}12915}12916]12917},12918"4": {12919"patterns": [12920{12921"include": "#inline_comment"12922}12923]12924},12925"5": {12926"patterns": [12927{12928"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12929"captures": {12930"1": {12931"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12932},12933"2": {12934"name": "comment.block.cuda-cpp"12935},12936"3": {12937"patterns": [12938{12939"match": "\\*\\/",12940"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12941},12942{12943"match": "\\*",12944"name": "comment.block.cuda-cpp"12945}12946]12947}12948}12949}12950]12951},12952"6": {12953"patterns": [12954{12955"match": "::",12956"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"12957},12958{12959"match": "(?<!\\w)(?:[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}))*(?!\\w)",12960"name": "entity.name.scope-resolution.type.cuda-cpp"12961},12962{12963"include": "#template_call_range"12964}12965]12966},12967"7": {12968"patterns": [12969{12970"include": "#template_call_range"12971}12972]12973},12974"9": {12975"patterns": [12976{12977"include": "#inline_comment"12978}12979]12980},12981"10": {12982"patterns": [12983{12984"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",12985"captures": {12986"1": {12987"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"12988},12989"2": {12990"name": "comment.block.cuda-cpp"12991},12992"3": {12993"patterns": [12994{12995"match": "\\*\\/",12996"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"12997},12998{12999"match": "\\*",13000"name": "comment.block.cuda-cpp"13001}13002]13003}13004}13005}13006]13007}13008},13009"name": "meta.qualified_type.cuda-cpp"13010},13011"qualifiers_and_specifiers_post_parameters": {13012"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+(?=\\s*(?:(?:\\{|;)|[\\n\\r])))",13013"captures": {13014"1": {13015"patterns": [13016{13017"include": "#inline_comment"13018}13019]13020},13021"2": {13022"patterns": [13023{13024"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13025"captures": {13026"1": {13027"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13028},13029"2": {13030"name": "comment.block.cuda-cpp"13031},13032"3": {13033"patterns": [13034{13035"match": "\\*\\/",13036"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13037},13038{13039"match": "\\*",13040"name": "comment.block.cuda-cpp"13041}13042]13043}13044}13045}13046]13047},13048"3": {13049"name": "storage.modifier.specifier.functional.post-parameters.$3.cuda-cpp"13050},13051"4": {13052"patterns": [13053{13054"include": "#inline_comment"13055}13056]13057},13058"5": {13059"patterns": [13060{13061"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13062"captures": {13063"1": {13064"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13065},13066"2": {13067"name": "comment.block.cuda-cpp"13068},13069"3": {13070"patterns": [13071{13072"match": "\\*\\/",13073"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13074},13075{13076"match": "\\*",13077"name": "comment.block.cuda-cpp"13078}13079]13080}13081}13082}13083]13084}13085}13086},13087"scope_resolution": {13088"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13089"captures": {13090"0": {13091"patterns": [13092{13093"include": "#scope_resolution_inner_generated"13094}13095]13096},13097"1": {13098"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"13099},13100"2": {13101"patterns": [13102{13103"include": "#template_call_range"13104}13105]13106}13107}13108},13109"scope_resolution_function_call": {13110"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13111"captures": {13112"0": {13113"patterns": [13114{13115"include": "#scope_resolution_function_call_inner_generated"13116}13117]13118},13119"1": {13120"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"13121},13122"2": {13123"patterns": [13124{13125"include": "#template_call_range"13126}13127]13128}13129}13130},13131"scope_resolution_function_call_inner_generated": {13132"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13133"captures": {13134"1": {13135"patterns": [13136{13137"include": "#scope_resolution_function_call_inner_generated"13138}13139]13140},13141"2": {13142"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"13143},13144"3": {13145"patterns": [13146{13147"include": "#template_call_range"13148}13149]13150},13151"4": {},13152"5": {13153"name": "entity.name.scope-resolution.function.call.cuda-cpp"13154},13155"6": {13156"name": "meta.template.call.cuda-cpp",13157"patterns": [13158{13159"include": "#template_call_range"13160}13161]13162},13163"7": {},13164"8": {13165"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"13166}13167}13168},13169"scope_resolution_function_definition": {13170"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13171"captures": {13172"0": {13173"patterns": [13174{13175"include": "#scope_resolution_function_definition_inner_generated"13176}13177]13178},13179"1": {13180"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"13181},13182"2": {13183"patterns": [13184{13185"include": "#template_call_range"13186}13187]13188}13189}13190},13191"scope_resolution_function_definition_inner_generated": {13192"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13193"captures": {13194"1": {13195"patterns": [13196{13197"include": "#scope_resolution_function_definition_inner_generated"13198}13199]13200},13201"2": {13202"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"13203},13204"3": {13205"patterns": [13206{13207"include": "#template_call_range"13208}13209]13210},13211"4": {},13212"5": {13213"name": "entity.name.scope-resolution.function.definition.cuda-cpp"13214},13215"6": {13216"name": "meta.template.call.cuda-cpp",13217"patterns": [13218{13219"include": "#template_call_range"13220}13221]13222},13223"7": {},13224"8": {13225"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"13226}13227}13228},13229"scope_resolution_function_definition_operator_overload": {13230"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13231"captures": {13232"0": {13233"patterns": [13234{13235"include": "#scope_resolution_function_definition_operator_overload_inner_generated"13236}13237]13238},13239"1": {13240"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp"13241},13242"2": {13243"patterns": [13244{13245"include": "#template_call_range"13246}13247]13248}13249}13250},13251"scope_resolution_function_definition_operator_overload_inner_generated": {13252"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13253"captures": {13254"1": {13255"patterns": [13256{13257"include": "#scope_resolution_function_definition_operator_overload_inner_generated"13258}13259]13260},13261"2": {13262"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp"13263},13264"3": {13265"patterns": [13266{13267"include": "#template_call_range"13268}13269]13270},13271"4": {},13272"5": {13273"name": "entity.name.scope-resolution.function.definition.operator-overload.cuda-cpp"13274},13275"6": {13276"name": "meta.template.call.cuda-cpp",13277"patterns": [13278{13279"include": "#template_call_range"13280}13281]13282},13283"7": {},13284"8": {13285"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp"13286}13287}13288},13289"scope_resolution_inner_generated": {13290"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13291"captures": {13292"1": {13293"patterns": [13294{13295"include": "#scope_resolution_inner_generated"13296}13297]13298},13299"2": {13300"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"13301},13302"3": {13303"patterns": [13304{13305"include": "#template_call_range"13306}13307]13308},13309"4": {},13310"5": {13311"name": "entity.name.scope-resolution.cuda-cpp"13312},13313"6": {13314"name": "meta.template.call.cuda-cpp",13315"patterns": [13316{13317"include": "#template_call_range"13318}13319]13320},13321"7": {},13322"8": {13323"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"13324}13325}13326},13327"scope_resolution_namespace_alias": {13328"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13329"captures": {13330"0": {13331"patterns": [13332{13333"include": "#scope_resolution_namespace_alias_inner_generated"13334}13335]13336},13337"1": {13338"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"13339},13340"2": {13341"patterns": [13342{13343"include": "#template_call_range"13344}13345]13346}13347}13348},13349"scope_resolution_namespace_alias_inner_generated": {13350"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13351"captures": {13352"1": {13353"patterns": [13354{13355"include": "#scope_resolution_namespace_alias_inner_generated"13356}13357]13358},13359"2": {13360"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"13361},13362"3": {13363"patterns": [13364{13365"include": "#template_call_range"13366}13367]13368},13369"4": {},13370"5": {13371"name": "entity.name.scope-resolution.namespace.alias.cuda-cpp"13372},13373"6": {13374"name": "meta.template.call.cuda-cpp",13375"patterns": [13376{13377"include": "#template_call_range"13378}13379]13380},13381"7": {},13382"8": {13383"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"13384}13385}13386},13387"scope_resolution_namespace_block": {13388"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13389"captures": {13390"0": {13391"patterns": [13392{13393"include": "#scope_resolution_namespace_block_inner_generated"13394}13395]13396},13397"1": {13398"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"13399},13400"2": {13401"patterns": [13402{13403"include": "#template_call_range"13404}13405]13406}13407}13408},13409"scope_resolution_namespace_block_inner_generated": {13410"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13411"captures": {13412"1": {13413"patterns": [13414{13415"include": "#scope_resolution_namespace_block_inner_generated"13416}13417]13418},13419"2": {13420"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"13421},13422"3": {13423"patterns": [13424{13425"include": "#template_call_range"13426}13427]13428},13429"4": {},13430"5": {13431"name": "entity.name.scope-resolution.namespace.block.cuda-cpp"13432},13433"6": {13434"name": "meta.template.call.cuda-cpp",13435"patterns": [13436{13437"include": "#template_call_range"13438}13439]13440},13441"7": {},13442"8": {13443"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"13444}13445}13446},13447"scope_resolution_namespace_using": {13448"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13449"captures": {13450"0": {13451"patterns": [13452{13453"include": "#scope_resolution_namespace_using_inner_generated"13454}13455]13456},13457"1": {13458"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"13459},13460"2": {13461"patterns": [13462{13463"include": "#template_call_range"13464}13465]13466}13467}13468},13469"scope_resolution_namespace_using_inner_generated": {13470"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13471"captures": {13472"1": {13473"patterns": [13474{13475"include": "#scope_resolution_namespace_using_inner_generated"13476}13477]13478},13479"2": {13480"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"13481},13482"3": {13483"patterns": [13484{13485"include": "#template_call_range"13486}13487]13488},13489"4": {},13490"5": {13491"name": "entity.name.scope-resolution.namespace.using.cuda-cpp"13492},13493"6": {13494"name": "meta.template.call.cuda-cpp",13495"patterns": [13496{13497"include": "#template_call_range"13498}13499]13500},13501"7": {},13502"8": {13503"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"13504}13505}13506},13507"scope_resolution_parameter": {13508"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13509"captures": {13510"0": {13511"patterns": [13512{13513"include": "#scope_resolution_parameter_inner_generated"13514}13515]13516},13517"1": {13518"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp"13519},13520"2": {13521"patterns": [13522{13523"include": "#template_call_range"13524}13525]13526}13527}13528},13529"scope_resolution_parameter_inner_generated": {13530"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13531"captures": {13532"1": {13533"patterns": [13534{13535"include": "#scope_resolution_parameter_inner_generated"13536}13537]13538},13539"2": {13540"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp"13541},13542"3": {13543"patterns": [13544{13545"include": "#template_call_range"13546}13547]13548},13549"4": {},13550"5": {13551"name": "entity.name.scope-resolution.parameter.cuda-cpp"13552},13553"6": {13554"name": "meta.template.call.cuda-cpp",13555"patterns": [13556{13557"include": "#template_call_range"13558}13559]13560},13561"7": {},13562"8": {13563"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp"13564}13565}13566},13567"scope_resolution_template_call": {13568"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13569"captures": {13570"0": {13571"patterns": [13572{13573"include": "#scope_resolution_template_call_inner_generated"13574}13575]13576},13577"1": {13578"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp"13579},13580"2": {13581"patterns": [13582{13583"include": "#template_call_range"13584}13585]13586}13587}13588},13589"scope_resolution_template_call_inner_generated": {13590"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13591"captures": {13592"1": {13593"patterns": [13594{13595"include": "#scope_resolution_template_call_inner_generated"13596}13597]13598},13599"2": {13600"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp"13601},13602"3": {13603"patterns": [13604{13605"include": "#template_call_range"13606}13607]13608},13609"4": {},13610"5": {13611"name": "entity.name.scope-resolution.template.call.cuda-cpp"13612},13613"6": {13614"name": "meta.template.call.cuda-cpp",13615"patterns": [13616{13617"include": "#template_call_range"13618}13619]13620},13621"7": {},13622"8": {13623"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp"13624}13625}13626},13627"scope_resolution_template_definition": {13628"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",13629"captures": {13630"0": {13631"patterns": [13632{13633"include": "#scope_resolution_template_definition_inner_generated"13634}13635]13636},13637"1": {13638"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp"13639},13640"2": {13641"patterns": [13642{13643"include": "#template_call_range"13644}13645]13646}13647}13648},13649"scope_resolution_template_definition_inner_generated": {13650"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",13651"captures": {13652"1": {13653"patterns": [13654{13655"include": "#scope_resolution_template_definition_inner_generated"13656}13657]13658},13659"2": {13660"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp"13661},13662"3": {13663"patterns": [13664{13665"include": "#template_call_range"13666}13667]13668},13669"4": {},13670"5": {13671"name": "entity.name.scope-resolution.template.definition.cuda-cpp"13672},13673"6": {13674"name": "meta.template.call.cuda-cpp",13675"patterns": [13676{13677"include": "#template_call_range"13678}13679]13680},13681"7": {},13682"8": {13683"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp"13684}13685}13686},13687"semicolon": {13688"match": ";",13689"name": "punctuation.terminator.statement.cuda-cpp"13690},13691"simple_type": {13692"match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?",13693"captures": {13694"1": {13695"name": "meta.qualified_type.cuda-cpp",13696"patterns": [13697{13698"match": "::",13699"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"13700},13701{13702"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",13703"name": "storage.type.$0.cuda-cpp"13704},13705{13706"include": "#attributes_context"13707},13708{13709"include": "#storage_types"13710},13711{13712"include": "#number_literal"13713},13714{13715"include": "#string_context"13716},13717{13718"include": "#comma"13719},13720{13721"include": "#scope_resolution_inner_generated"13722},13723{13724"begin": "<",13725"end": ">",13726"beginCaptures": {13727"0": {13728"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"13729}13730},13731"endCaptures": {13732"0": {13733"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"13734}13735},13736"name": "meta.template.call.cuda-cpp",13737"patterns": [13738{13739"include": "#template_call_context"13740}13741]13742},13743{13744"match": "(?:[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}))*",13745"name": "entity.name.type.cuda-cpp"13746}13747]13748},13749"2": {13750"patterns": [13751{13752"include": "#attributes_context"13753},13754{13755"include": "#number_literal"13756}13757]13758},13759"3": {13760"patterns": [13761{13762"include": "#inline_comment"13763}13764]13765},13766"4": {13767"patterns": [13768{13769"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13770"captures": {13771"1": {13772"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13773},13774"2": {13775"name": "comment.block.cuda-cpp"13776},13777"3": {13778"patterns": [13779{13780"match": "\\*\\/",13781"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13782},13783{13784"match": "\\*",13785"name": "comment.block.cuda-cpp"13786}13787]13788}13789}13790}13791]13792},13793"5": {13794"patterns": [13795{13796"include": "#inline_comment"13797}13798]13799},13800"6": {13801"patterns": [13802{13803"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13804"captures": {13805"1": {13806"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13807},13808"2": {13809"name": "comment.block.cuda-cpp"13810},13811"3": {13812"patterns": [13813{13814"match": "\\*\\/",13815"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13816},13817{13818"match": "\\*",13819"name": "comment.block.cuda-cpp"13820}13821]13822}13823}13824}13825]13826},13827"7": {13828"patterns": [13829{13830"match": "::",13831"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"13832},13833{13834"match": "(?<!\\w)(?:[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}))*(?!\\w)",13835"name": "entity.name.scope-resolution.type.cuda-cpp"13836},13837{13838"include": "#template_call_range"13839}13840]13841},13842"8": {13843"patterns": [13844{13845"include": "#template_call_range"13846}13847]13848},13849"9": {},13850"10": {13851"patterns": [13852{13853"include": "#inline_comment"13854}13855]13856},13857"11": {13858"patterns": [13859{13860"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13861"captures": {13862"1": {13863"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13864},13865"2": {13866"name": "comment.block.cuda-cpp"13867},13868"3": {13869"patterns": [13870{13871"match": "\\*\\/",13872"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13873},13874{13875"match": "\\*",13876"name": "comment.block.cuda-cpp"13877}13878]13879}13880}13881}13882]13883},13884"12": {},13885"13": {13886"patterns": [13887{13888"match": "\\*",13889"name": "storage.modifier.pointer.cuda-cpp"13890},13891{13892"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",13893"captures": {13894"1": {13895"patterns": [13896{13897"include": "#inline_comment"13898}13899]13900},13901"2": {13902"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13903},13904"3": {13905"name": "comment.block.cuda-cpp"13906},13907"4": {13908"patterns": [13909{13910"match": "\\*\\/",13911"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13912},13913{13914"match": "\\*",13915"name": "comment.block.cuda-cpp"13916}13917]13918}13919},13920"name": "invalid.illegal.reference-type.cuda-cpp"13921},13922{13923"match": "\\&",13924"name": "storage.modifier.reference.cuda-cpp"13925}13926]13927},13928"14": {13929"patterns": [13930{13931"include": "#inline_comment"13932}13933]13934},13935"15": {13936"patterns": [13937{13938"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13939"captures": {13940"1": {13941"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13942},13943"2": {13944"name": "comment.block.cuda-cpp"13945},13946"3": {13947"patterns": [13948{13949"match": "\\*\\/",13950"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13951},13952{13953"match": "\\*",13954"name": "comment.block.cuda-cpp"13955}13956]13957}13958}13959}13960]13961},13962"16": {13963"patterns": [13964{13965"include": "#inline_comment"13966}13967]13968},13969"17": {13970"patterns": [13971{13972"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",13973"captures": {13974"1": {13975"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"13976},13977"2": {13978"name": "comment.block.cuda-cpp"13979},13980"3": {13981"patterns": [13982{13983"match": "\\*\\/",13984"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"13985},13986{13987"match": "\\*",13988"name": "comment.block.cuda-cpp"13989}13990]13991}13992}13993}13994]13995}13996}13997},13998"single_line_macro": {13999"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?<![\\\\])(?:(?:\\n)|$)",14000"captures": {14001"0": {14002"patterns": [14003{14004"include": "#macro"14005},14006{14007"include": "#comments"14008}14009]14010},14011"1": {14012"patterns": [14013{14014"include": "#inline_comment"14015}14016]14017},14018"2": {14019"patterns": [14020{14021"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14022"captures": {14023"1": {14024"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14025},14026"2": {14027"name": "comment.block.cuda-cpp"14028},14029"3": {14030"patterns": [14031{14032"match": "\\*\\/",14033"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14034},14035{14036"match": "\\*",14037"name": "comment.block.cuda-cpp"14038}14039]14040}14041}14042}14043]14044}14045}14046},14047"sizeof_operator": {14048"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",14049"end": "\\)",14050"beginCaptures": {14051"1": {14052"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.cuda-cpp"14053},14054"2": {14055"patterns": [14056{14057"include": "#inline_comment"14058}14059]14060},14061"3": {14062"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14063},14064"4": {14065"name": "comment.block.cuda-cpp"14066},14067"5": {14068"patterns": [14069{14070"match": "\\*\\/",14071"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14072},14073{14074"match": "\\*",14075"name": "comment.block.cuda-cpp"14076}14077]14078},14079"6": {14080"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cuda-cpp"14081}14082},14083"endCaptures": {14084"0": {14085"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cuda-cpp"14086}14087},14088"contentName": "meta.arguments.operator.sizeof",14089"patterns": [14090{14091"include": "#evaluation_context"14092}14093]14094},14095"sizeof_variadic_operator": {14096"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",14097"end": "\\)",14098"beginCaptures": {14099"1": {14100"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.variadic.cuda-cpp"14101},14102"2": {14103"patterns": [14104{14105"include": "#inline_comment"14106}14107]14108},14109"3": {14110"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14111},14112"4": {14113"name": "comment.block.cuda-cpp"14114},14115"5": {14116"patterns": [14117{14118"match": "\\*\\/",14119"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14120},14121{14122"match": "\\*",14123"name": "comment.block.cuda-cpp"14124}14125]14126},14127"6": {14128"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cuda-cpp"14129}14130},14131"endCaptures": {14132"0": {14133"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cuda-cpp"14134}14135},14136"contentName": "meta.arguments.operator.sizeof.variadic",14137"patterns": [14138{14139"include": "#evaluation_context"14140}14141]14142},14143"square_brackets": {14144"name": "meta.bracket.square.access",14145"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",14146"beginCaptures": {14147"1": {14148"name": "variable.other.object"14149},14150"2": {14151"name": "punctuation.definition.begin.bracket.square"14152}14153},14154"end": "\\]",14155"endCaptures": {14156"0": {14157"name": "punctuation.definition.end.bracket.square"14158}14159},14160"patterns": [14161{14162"include": "#evaluation_context"14163}14164]14165},14166"standard_declares": {14167"patterns": [14168{14169"match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",14170"captures": {14171"1": {14172"name": "storage.type.struct.declare.cuda-cpp"14173},14174"2": {14175"patterns": [14176{14177"include": "#inline_comment"14178}14179]14180},14181"3": {14182"patterns": [14183{14184"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14185"captures": {14186"1": {14187"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14188},14189"2": {14190"name": "comment.block.cuda-cpp"14191},14192"3": {14193"patterns": [14194{14195"match": "\\*\\/",14196"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14197},14198{14199"match": "\\*",14200"name": "comment.block.cuda-cpp"14201}14202]14203}14204}14205}14206]14207},14208"4": {14209"name": "entity.name.type.struct.cuda-cpp"14210},14211"5": {14212"patterns": [14213{14214"match": "\\*",14215"name": "storage.modifier.pointer.cuda-cpp"14216},14217{14218"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",14219"captures": {14220"1": {14221"patterns": [14222{14223"include": "#inline_comment"14224}14225]14226},14227"2": {14228"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14229},14230"3": {14231"name": "comment.block.cuda-cpp"14232},14233"4": {14234"patterns": [14235{14236"match": "\\*\\/",14237"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14238},14239{14240"match": "\\*",14241"name": "comment.block.cuda-cpp"14242}14243]14244}14245},14246"name": "invalid.illegal.reference-type.cuda-cpp"14247},14248{14249"match": "\\&",14250"name": "storage.modifier.reference.cuda-cpp"14251}14252]14253},14254"6": {14255"patterns": [14256{14257"include": "#inline_comment"14258}14259]14260},14261"7": {14262"patterns": [14263{14264"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14265"captures": {14266"1": {14267"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14268},14269"2": {14270"name": "comment.block.cuda-cpp"14271},14272"3": {14273"patterns": [14274{14275"match": "\\*\\/",14276"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14277},14278{14279"match": "\\*",14280"name": "comment.block.cuda-cpp"14281}14282]14283}14284}14285}14286]14287},14288"8": {14289"patterns": [14290{14291"include": "#inline_comment"14292}14293]14294},14295"9": {14296"patterns": [14297{14298"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14299"captures": {14300"1": {14301"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14302},14303"2": {14304"name": "comment.block.cuda-cpp"14305},14306"3": {14307"patterns": [14308{14309"match": "\\*\\/",14310"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14311},14312{14313"match": "\\*",14314"name": "comment.block.cuda-cpp"14315}14316]14317}14318}14319}14320]14321},14322"10": {14323"patterns": [14324{14325"include": "#inline_comment"14326}14327]14328},14329"11": {14330"patterns": [14331{14332"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14333"captures": {14334"1": {14335"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14336},14337"2": {14338"name": "comment.block.cuda-cpp"14339},14340"3": {14341"patterns": [14342{14343"match": "\\*\\/",14344"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14345},14346{14347"match": "\\*",14348"name": "comment.block.cuda-cpp"14349}14350]14351}14352}14353}14354]14355},14356"12": {14357"name": "variable.other.object.declare.cuda-cpp"14358},14359"13": {14360"patterns": [14361{14362"include": "#inline_comment"14363}14364]14365},14366"14": {14367"patterns": [14368{14369"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14370"captures": {14371"1": {14372"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14373},14374"2": {14375"name": "comment.block.cuda-cpp"14376},14377"3": {14378"patterns": [14379{14380"match": "\\*\\/",14381"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14382},14383{14384"match": "\\*",14385"name": "comment.block.cuda-cpp"14386}14387]14388}14389}14390}14391]14392}14393}14394},14395{14396"match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",14397"captures": {14398"1": {14399"name": "storage.type.union.declare.cuda-cpp"14400},14401"2": {14402"patterns": [14403{14404"include": "#inline_comment"14405}14406]14407},14408"3": {14409"patterns": [14410{14411"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14412"captures": {14413"1": {14414"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14415},14416"2": {14417"name": "comment.block.cuda-cpp"14418},14419"3": {14420"patterns": [14421{14422"match": "\\*\\/",14423"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14424},14425{14426"match": "\\*",14427"name": "comment.block.cuda-cpp"14428}14429]14430}14431}14432}14433]14434},14435"4": {14436"name": "entity.name.type.union.cuda-cpp"14437},14438"5": {14439"patterns": [14440{14441"match": "\\*",14442"name": "storage.modifier.pointer.cuda-cpp"14443},14444{14445"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",14446"captures": {14447"1": {14448"patterns": [14449{14450"include": "#inline_comment"14451}14452]14453},14454"2": {14455"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14456},14457"3": {14458"name": "comment.block.cuda-cpp"14459},14460"4": {14461"patterns": [14462{14463"match": "\\*\\/",14464"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14465},14466{14467"match": "\\*",14468"name": "comment.block.cuda-cpp"14469}14470]14471}14472},14473"name": "invalid.illegal.reference-type.cuda-cpp"14474},14475{14476"match": "\\&",14477"name": "storage.modifier.reference.cuda-cpp"14478}14479]14480},14481"6": {14482"patterns": [14483{14484"include": "#inline_comment"14485}14486]14487},14488"7": {14489"patterns": [14490{14491"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14492"captures": {14493"1": {14494"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14495},14496"2": {14497"name": "comment.block.cuda-cpp"14498},14499"3": {14500"patterns": [14501{14502"match": "\\*\\/",14503"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14504},14505{14506"match": "\\*",14507"name": "comment.block.cuda-cpp"14508}14509]14510}14511}14512}14513]14514},14515"8": {14516"patterns": [14517{14518"include": "#inline_comment"14519}14520]14521},14522"9": {14523"patterns": [14524{14525"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14526"captures": {14527"1": {14528"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14529},14530"2": {14531"name": "comment.block.cuda-cpp"14532},14533"3": {14534"patterns": [14535{14536"match": "\\*\\/",14537"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14538},14539{14540"match": "\\*",14541"name": "comment.block.cuda-cpp"14542}14543]14544}14545}14546}14547]14548},14549"10": {14550"patterns": [14551{14552"include": "#inline_comment"14553}14554]14555},14556"11": {14557"patterns": [14558{14559"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14560"captures": {14561"1": {14562"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14563},14564"2": {14565"name": "comment.block.cuda-cpp"14566},14567"3": {14568"patterns": [14569{14570"match": "\\*\\/",14571"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14572},14573{14574"match": "\\*",14575"name": "comment.block.cuda-cpp"14576}14577]14578}14579}14580}14581]14582},14583"12": {14584"name": "variable.other.object.declare.cuda-cpp"14585},14586"13": {14587"patterns": [14588{14589"include": "#inline_comment"14590}14591]14592},14593"14": {14594"patterns": [14595{14596"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14597"captures": {14598"1": {14599"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14600},14601"2": {14602"name": "comment.block.cuda-cpp"14603},14604"3": {14605"patterns": [14606{14607"match": "\\*\\/",14608"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14609},14610{14611"match": "\\*",14612"name": "comment.block.cuda-cpp"14613}14614]14615}14616}14617}14618]14619}14620}14621},14622{14623"match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",14624"captures": {14625"1": {14626"name": "storage.type.enum.declare.cuda-cpp"14627},14628"2": {14629"patterns": [14630{14631"include": "#inline_comment"14632}14633]14634},14635"3": {14636"patterns": [14637{14638"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14639"captures": {14640"1": {14641"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14642},14643"2": {14644"name": "comment.block.cuda-cpp"14645},14646"3": {14647"patterns": [14648{14649"match": "\\*\\/",14650"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14651},14652{14653"match": "\\*",14654"name": "comment.block.cuda-cpp"14655}14656]14657}14658}14659}14660]14661},14662"4": {14663"name": "entity.name.type.enum.cuda-cpp"14664},14665"5": {14666"patterns": [14667{14668"match": "\\*",14669"name": "storage.modifier.pointer.cuda-cpp"14670},14671{14672"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",14673"captures": {14674"1": {14675"patterns": [14676{14677"include": "#inline_comment"14678}14679]14680},14681"2": {14682"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14683},14684"3": {14685"name": "comment.block.cuda-cpp"14686},14687"4": {14688"patterns": [14689{14690"match": "\\*\\/",14691"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14692},14693{14694"match": "\\*",14695"name": "comment.block.cuda-cpp"14696}14697]14698}14699},14700"name": "invalid.illegal.reference-type.cuda-cpp"14701},14702{14703"match": "\\&",14704"name": "storage.modifier.reference.cuda-cpp"14705}14706]14707},14708"6": {14709"patterns": [14710{14711"include": "#inline_comment"14712}14713]14714},14715"7": {14716"patterns": [14717{14718"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14719"captures": {14720"1": {14721"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14722},14723"2": {14724"name": "comment.block.cuda-cpp"14725},14726"3": {14727"patterns": [14728{14729"match": "\\*\\/",14730"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14731},14732{14733"match": "\\*",14734"name": "comment.block.cuda-cpp"14735}14736]14737}14738}14739}14740]14741},14742"8": {14743"patterns": [14744{14745"include": "#inline_comment"14746}14747]14748},14749"9": {14750"patterns": [14751{14752"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14753"captures": {14754"1": {14755"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14756},14757"2": {14758"name": "comment.block.cuda-cpp"14759},14760"3": {14761"patterns": [14762{14763"match": "\\*\\/",14764"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14765},14766{14767"match": "\\*",14768"name": "comment.block.cuda-cpp"14769}14770]14771}14772}14773}14774]14775},14776"10": {14777"patterns": [14778{14779"include": "#inline_comment"14780}14781]14782},14783"11": {14784"patterns": [14785{14786"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14787"captures": {14788"1": {14789"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14790},14791"2": {14792"name": "comment.block.cuda-cpp"14793},14794"3": {14795"patterns": [14796{14797"match": "\\*\\/",14798"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14799},14800{14801"match": "\\*",14802"name": "comment.block.cuda-cpp"14803}14804]14805}14806}14807}14808]14809},14810"12": {14811"name": "variable.other.object.declare.cuda-cpp"14812},14813"13": {14814"patterns": [14815{14816"include": "#inline_comment"14817}14818]14819},14820"14": {14821"patterns": [14822{14823"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14824"captures": {14825"1": {14826"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14827},14828"2": {14829"name": "comment.block.cuda-cpp"14830},14831"3": {14832"patterns": [14833{14834"match": "\\*\\/",14835"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14836},14837{14838"match": "\\*",14839"name": "comment.block.cuda-cpp"14840}14841]14842}14843}14844}14845]14846}14847}14848},14849{14850"match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",14851"captures": {14852"1": {14853"name": "storage.type.class.declare.cuda-cpp"14854},14855"2": {14856"patterns": [14857{14858"include": "#inline_comment"14859}14860]14861},14862"3": {14863"patterns": [14864{14865"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14866"captures": {14867"1": {14868"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14869},14870"2": {14871"name": "comment.block.cuda-cpp"14872},14873"3": {14874"patterns": [14875{14876"match": "\\*\\/",14877"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14878},14879{14880"match": "\\*",14881"name": "comment.block.cuda-cpp"14882}14883]14884}14885}14886}14887]14888},14889"4": {14890"name": "entity.name.type.class.cuda-cpp"14891},14892"5": {14893"patterns": [14894{14895"match": "\\*",14896"name": "storage.modifier.pointer.cuda-cpp"14897},14898{14899"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",14900"captures": {14901"1": {14902"patterns": [14903{14904"include": "#inline_comment"14905}14906]14907},14908"2": {14909"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14910},14911"3": {14912"name": "comment.block.cuda-cpp"14913},14914"4": {14915"patterns": [14916{14917"match": "\\*\\/",14918"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14919},14920{14921"match": "\\*",14922"name": "comment.block.cuda-cpp"14923}14924]14925}14926},14927"name": "invalid.illegal.reference-type.cuda-cpp"14928},14929{14930"match": "\\&",14931"name": "storage.modifier.reference.cuda-cpp"14932}14933]14934},14935"6": {14936"patterns": [14937{14938"include": "#inline_comment"14939}14940]14941},14942"7": {14943"patterns": [14944{14945"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14946"captures": {14947"1": {14948"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14949},14950"2": {14951"name": "comment.block.cuda-cpp"14952},14953"3": {14954"patterns": [14955{14956"match": "\\*\\/",14957"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14958},14959{14960"match": "\\*",14961"name": "comment.block.cuda-cpp"14962}14963]14964}14965}14966}14967]14968},14969"8": {14970"patterns": [14971{14972"include": "#inline_comment"14973}14974]14975},14976"9": {14977"patterns": [14978{14979"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",14980"captures": {14981"1": {14982"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"14983},14984"2": {14985"name": "comment.block.cuda-cpp"14986},14987"3": {14988"patterns": [14989{14990"match": "\\*\\/",14991"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"14992},14993{14994"match": "\\*",14995"name": "comment.block.cuda-cpp"14996}14997]14998}14999}15000}15001]15002},15003"10": {15004"patterns": [15005{15006"include": "#inline_comment"15007}15008]15009},15010"11": {15011"patterns": [15012{15013"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15014"captures": {15015"1": {15016"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15017},15018"2": {15019"name": "comment.block.cuda-cpp"15020},15021"3": {15022"patterns": [15023{15024"match": "\\*\\/",15025"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15026},15027{15028"match": "\\*",15029"name": "comment.block.cuda-cpp"15030}15031]15032}15033}15034}15035]15036},15037"12": {15038"name": "variable.other.object.declare.cuda-cpp"15039},15040"13": {15041"patterns": [15042{15043"include": "#inline_comment"15044}15045]15046},15047"14": {15048"patterns": [15049{15050"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15051"captures": {15052"1": {15053"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15054},15055"2": {15056"name": "comment.block.cuda-cpp"15057},15058"3": {15059"patterns": [15060{15061"match": "\\*\\/",15062"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15063},15064{15065"match": "\\*",15066"name": "comment.block.cuda-cpp"15067}15068]15069}15070}15071}15072]15073}15074}15075}15076]15077},15078"static_assert": {15079"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",15080"end": "\\)",15081"beginCaptures": {15082"1": {15083"patterns": [15084{15085"include": "#inline_comment"15086}15087]15088},15089"2": {15090"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15091},15092"3": {15093"name": "comment.block.cuda-cpp"15094},15095"4": {15096"patterns": [15097{15098"match": "\\*\\/",15099"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15100},15101{15102"match": "\\*",15103"name": "comment.block.cuda-cpp"15104}15105]15106},15107"5": {15108"name": "keyword.other.static_assert.cuda-cpp"15109},15110"6": {15111"patterns": [15112{15113"include": "#inline_comment"15114}15115]15116},15117"7": {15118"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15119},15120"8": {15121"name": "comment.block.cuda-cpp"15122},15123"9": {15124"patterns": [15125{15126"match": "\\*\\/",15127"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15128},15129{15130"match": "\\*",15131"name": "comment.block.cuda-cpp"15132}15133]15134},15135"10": {15136"name": "punctuation.section.arguments.begin.bracket.round.static_assert.cuda-cpp"15137}15138},15139"endCaptures": {15140"0": {15141"name": "punctuation.section.arguments.end.bracket.round.static_assert.cuda-cpp"15142}15143},15144"patterns": [15145{15146"begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)",15147"end": "(?=\\))",15148"beginCaptures": {15149"1": {15150"name": "punctuation.separator.delimiter.comma.cuda-cpp"15151}15152},15153"endCaptures": {},15154"name": "meta.static_assert.message.cuda-cpp",15155"patterns": [15156{15157"include": "#string_context"15158}15159]15160},15161{15162"include": "#evaluation_context"15163}15164]15165},15166"std_space": {15167"match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))",15168"captures": {15169"0": {15170"patterns": [15171{15172"include": "#inline_comment"15173}15174]15175},15176"1": {15177"patterns": [15178{15179"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15180"captures": {15181"1": {15182"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15183},15184"2": {15185"name": "comment.block.cuda-cpp"15186},15187"3": {15188"patterns": [15189{15190"match": "\\*\\/",15191"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15192},15193{15194"match": "\\*",15195"name": "comment.block.cuda-cpp"15196}15197]15198}15199}15200}15201]15202}15203}15204},15205"storage_specifiers": {15206"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))",15207"captures": {15208"1": {15209"patterns": [15210{15211"include": "#inline_comment"15212}15213]15214},15215"2": {15216"patterns": [15217{15218"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15219"captures": {15220"1": {15221"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15222},15223"2": {15224"name": "comment.block.cuda-cpp"15225},15226"3": {15227"patterns": [15228{15229"match": "\\*\\/",15230"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15231},15232{15233"match": "\\*",15234"name": "comment.block.cuda-cpp"15235}15236]15237}15238}15239}15240]15241},15242"3": {15243"name": "storage.modifier.specifier.$3.cuda-cpp"15244}15245}15246},15247"storage_types": {15248"patterns": [15249{15250"include": "#storage_specifiers"15251},15252{15253"include": "#inline_builtin_storage_type"15254},15255{15256"include": "#decltype"15257},15258{15259"include": "#typename"15260}15261]15262},15263"string_context": {15264"patterns": [15265{15266"begin": "((?:u|u8|U|L)?)\"",15267"end": "\"",15268"beginCaptures": {15269"0": {15270"name": "punctuation.definition.string.begin.cuda-cpp"15271},15272"1": {15273"name": "meta.encoding.cuda-cpp"15274}15275},15276"endCaptures": {15277"0": {15278"name": "punctuation.definition.string.end.cuda-cpp"15279}15280},15281"name": "string.quoted.double.cuda-cpp",15282"patterns": [15283{15284"match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",15285"name": "constant.character.escape.cuda-cpp"15286},15287{15288"match": "\\\\['\"?\\\\abfnrtv]",15289"name": "constant.character.escape.cuda-cpp"15290},15291{15292"match": "\\\\[0-7]{1,3}",15293"name": "constant.character.escape.cuda-cpp"15294},15295{15296"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",15297"captures": {15298"1": {15299"name": "constant.character.escape.cuda-cpp"15300},15301"2": {15302"name": "invalid.illegal.unknown-escape.cuda-cpp"15303}15304}15305},15306{15307"include": "#string_escapes_context_c"15308}15309]15310},15311{15312"begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",15313"end": "'",15314"beginCaptures": {15315"0": {15316"name": "punctuation.definition.string.begin.cuda-cpp"15317},15318"1": {15319"name": "meta.encoding.cuda-cpp"15320}15321},15322"endCaptures": {15323"0": {15324"name": "punctuation.definition.string.end.cuda-cpp"15325}15326},15327"name": "string.quoted.single.cuda-cpp",15328"patterns": [15329{15330"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",15331"captures": {15332"1": {15333"name": "constant.character.escape.cuda-cpp"15334},15335"2": {15336"name": "invalid.illegal.unknown-escape.cuda-cpp"15337}15338}15339},15340{15341"include": "#string_escapes_context_c"15342},15343{15344"include": "#line_continuation_character"15345}15346]15347},15348{15349"begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",15350"end": "\\)(?:(?:_r|re)|regex)\\\"",15351"beginCaptures": {15352"0": {15353"name": "punctuation.definition.string.begin.cuda-cpp"15354},15355"1": {15356"name": "meta.encoding.cuda-cpp"15357}15358},15359"endCaptures": {15360"0": {15361"name": "punctuation.definition.string.end.cuda-cpp"15362}15363},15364"name": "string.quoted.double.raw.regex.cuda-cpp",15365"patterns": [15366{15367"include": "source.regexp.python"15368}15369]15370},15371{15372"begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",15373"end": "\\)(?:glsl|GLSL)\\\"",15374"beginCaptures": {15375"0": {15376"name": "punctuation.definition.string.begin.cuda-cpp"15377},15378"1": {15379"name": "meta.encoding.cuda-cpp"15380}15381},15382"endCaptures": {15383"0": {15384"name": "punctuation.definition.string.end.cuda-cpp"15385}15386},15387"name": "meta.string.quoted.double.raw.glsl.cuda-cpp",15388"patterns": [15389{15390"include": "source.glsl"15391}15392]15393},15394{15395"begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",15396"end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"",15397"beginCaptures": {15398"0": {15399"name": "punctuation.definition.string.begin.cuda-cpp"15400},15401"1": {15402"name": "meta.encoding.cuda-cpp"15403}15404},15405"endCaptures": {15406"0": {15407"name": "punctuation.definition.string.end.cuda-cpp"15408}15409},15410"name": "meta.string.quoted.double.raw.sql.cuda-cpp",15411"patterns": [15412{15413"include": "source.sql"15414}15415]15416},15417{15418"begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",15419"beginCaptures": {15420"0": {15421"name": "punctuation.definition.string.begin"15422},15423"1": {15424"name": "meta.encoding"15425},15426"3": {15427"name": "invalid.illegal.delimiter-too-long"15428}15429},15430"end": "\\)\\2(\\3)\"",15431"endCaptures": {15432"0": {15433"name": "punctuation.definition.string.end"15434},15435"1": {15436"name": "invalid.illegal.delimiter-too-long"15437}15438},15439"name": "string.quoted.double.raw"15440}15441]15442},15443"string_escapes_context_c": {15444"patterns": [15445{15446"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",15447"name": "constant.character.escape"15448},15449{15450"match": "\\\\.",15451"name": "invalid.illegal.unknown-escape"15452},15453{15454"match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",15455"name": "constant.other.placeholder"15456}15457]15458},15459"struct_block": {15460"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",15461"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",15462"beginCaptures": {15463"0": {15464"name": "meta.head.struct.cuda-cpp"15465},15466"1": {15467"name": "storage.type.$1.cuda-cpp"15468},15469"2": {15470"patterns": [15471{15472"include": "#inline_comment"15473}15474]15475},15476"3": {15477"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15478},15479"4": {15480"name": "comment.block.cuda-cpp"15481},15482"5": {15483"patterns": [15484{15485"match": "\\*\\/",15486"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15487},15488{15489"match": "\\*",15490"name": "comment.block.cuda-cpp"15491}15492]15493},15494"6": {15495"patterns": [15496{15497"include": "#attributes_context"15498},15499{15500"include": "#number_literal"15501}15502]15503},15504"7": {15505"patterns": [15506{15507"include": "#inline_comment"15508}15509]15510},15511"8": {15512"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15513},15514"9": {15515"name": "comment.block.cuda-cpp"15516},15517"10": {15518"patterns": [15519{15520"match": "\\*\\/",15521"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15522},15523{15524"match": "\\*",15525"name": "comment.block.cuda-cpp"15526}15527]15528},15529"11": {15530"patterns": [15531{15532"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",15533"captures": {15534"1": {15535"name": "storage.type.modifier.final.cuda-cpp"15536},15537"2": {15538"patterns": [15539{15540"include": "#inline_comment"15541}15542]15543},15544"3": {15545"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15546},15547"4": {15548"name": "comment.block.cuda-cpp"15549},15550"5": {15551"patterns": [15552{15553"match": "\\*\\/",15554"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15555},15556{15557"match": "\\*",15558"name": "comment.block.cuda-cpp"15559}15560]15561}15562}15563},15564{15565"match": "((?<!\\w)(?:[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}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",15566"captures": {15567"1": {15568"name": "entity.name.type.struct.cuda-cpp"15569},15570"2": {15571"patterns": [15572{15573"include": "#inline_comment"15574}15575]15576},15577"3": {15578"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15579},15580"4": {15581"name": "comment.block.cuda-cpp"15582},15583"5": {15584"patterns": [15585{15586"match": "\\*\\/",15587"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15588},15589{15590"match": "\\*",15591"name": "comment.block.cuda-cpp"15592}15593]15594},15595"6": {15596"name": "storage.type.modifier.final.cuda-cpp"15597},15598"7": {15599"patterns": [15600{15601"include": "#inline_comment"15602}15603]15604},15605"8": {15606"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15607},15608"9": {15609"name": "comment.block.cuda-cpp"15610},15611"10": {15612"patterns": [15613{15614"match": "\\*\\/",15615"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15616},15617{15618"match": "\\*",15619"name": "comment.block.cuda-cpp"15620}15621]15622}15623}15624},15625{15626"match": "DLLEXPORT",15627"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"15628},15629{15630"match": "(?:[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}))*",15631"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"15632}15633]15634},15635"12": {15636"patterns": [15637{15638"include": "#inline_comment"15639}15640]15641},15642"13": {15643"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15644},15645"14": {15646"name": "comment.block.cuda-cpp"15647},15648"15": {15649"patterns": [15650{15651"match": "\\*\\/",15652"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15653},15654{15655"match": "\\*",15656"name": "comment.block.cuda-cpp"15657}15658]15659},15660"16": {15661"patterns": [15662{15663"include": "#inline_comment"15664}15665]15666},15667"17": {15668"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15669},15670"18": {15671"name": "comment.block.cuda-cpp"15672},15673"19": {15674"patterns": [15675{15676"match": "\\*\\/",15677"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15678},15679{15680"match": "\\*",15681"name": "comment.block.cuda-cpp"15682}15683]15684},15685"20": {15686"name": "punctuation.separator.colon.inheritance.cuda-cpp"15687}15688},15689"endCaptures": {15690"1": {15691"name": "punctuation.terminator.statement.cuda-cpp"15692},15693"2": {15694"name": "punctuation.terminator.statement.cuda-cpp"15695}15696},15697"name": "meta.block.struct.cuda-cpp",15698"patterns": [15699{15700"begin": "\\G ?",15701"end": "(?:\\{|<%|\\?\\?<|(?=;))",15702"beginCaptures": {},15703"endCaptures": {15704"0": {15705"name": "punctuation.section.block.begin.bracket.curly.struct.cuda-cpp"15706}15707},15708"name": "meta.head.struct.cuda-cpp",15709"patterns": [15710{15711"include": "#ever_present_context"15712},15713{15714"include": "#inheritance_context"15715},15716{15717"include": "#template_call_range"15718}15719]15720},15721{15722"begin": "(?<=\\{|<%|\\?\\?<)",15723"end": "\\}|%>|\\?\\?>",15724"beginCaptures": {},15725"endCaptures": {15726"0": {15727"name": "punctuation.section.block.end.bracket.curly.struct.cuda-cpp"15728}15729},15730"name": "meta.body.struct.cuda-cpp",15731"patterns": [15732{15733"include": "#function_pointer"15734},15735{15736"include": "#static_assert"15737},15738{15739"include": "#constructor_inline"15740},15741{15742"include": "#destructor_inline"15743},15744{15745"include": "$self"15746}15747]15748},15749{15750"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",15751"end": "[\\s]*(?=;)",15752"beginCaptures": {},15753"endCaptures": {},15754"name": "meta.tail.struct.cuda-cpp",15755"patterns": [15756{15757"include": "$self"15758}15759]15760}15761]15762},15763"struct_declare": {15764"match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",15765"captures": {15766"1": {15767"name": "storage.type.struct.declare.cuda-cpp"15768},15769"2": {15770"patterns": [15771{15772"include": "#inline_comment"15773}15774]15775},15776"3": {15777"patterns": [15778{15779"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15780"captures": {15781"1": {15782"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15783},15784"2": {15785"name": "comment.block.cuda-cpp"15786},15787"3": {15788"patterns": [15789{15790"match": "\\*\\/",15791"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15792},15793{15794"match": "\\*",15795"name": "comment.block.cuda-cpp"15796}15797]15798}15799}15800}15801]15802},15803"4": {15804"name": "entity.name.type.struct.cuda-cpp"15805},15806"5": {15807"patterns": [15808{15809"match": "\\*",15810"name": "storage.modifier.pointer.cuda-cpp"15811},15812{15813"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",15814"captures": {15815"1": {15816"patterns": [15817{15818"include": "#inline_comment"15819}15820]15821},15822"2": {15823"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15824},15825"3": {15826"name": "comment.block.cuda-cpp"15827},15828"4": {15829"patterns": [15830{15831"match": "\\*\\/",15832"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15833},15834{15835"match": "\\*",15836"name": "comment.block.cuda-cpp"15837}15838]15839}15840},15841"name": "invalid.illegal.reference-type.cuda-cpp"15842},15843{15844"match": "\\&",15845"name": "storage.modifier.reference.cuda-cpp"15846}15847]15848},15849"6": {15850"patterns": [15851{15852"include": "#inline_comment"15853}15854]15855},15856"7": {15857"patterns": [15858{15859"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15860"captures": {15861"1": {15862"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15863},15864"2": {15865"name": "comment.block.cuda-cpp"15866},15867"3": {15868"patterns": [15869{15870"match": "\\*\\/",15871"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15872},15873{15874"match": "\\*",15875"name": "comment.block.cuda-cpp"15876}15877]15878}15879}15880}15881]15882},15883"8": {15884"patterns": [15885{15886"include": "#inline_comment"15887}15888]15889},15890"9": {15891"patterns": [15892{15893"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15894"captures": {15895"1": {15896"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15897},15898"2": {15899"name": "comment.block.cuda-cpp"15900},15901"3": {15902"patterns": [15903{15904"match": "\\*\\/",15905"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15906},15907{15908"match": "\\*",15909"name": "comment.block.cuda-cpp"15910}15911]15912}15913}15914}15915]15916},15917"10": {15918"patterns": [15919{15920"include": "#inline_comment"15921}15922]15923},15924"11": {15925"patterns": [15926{15927"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15928"captures": {15929"1": {15930"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15931},15932"2": {15933"name": "comment.block.cuda-cpp"15934},15935"3": {15936"patterns": [15937{15938"match": "\\*\\/",15939"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15940},15941{15942"match": "\\*",15943"name": "comment.block.cuda-cpp"15944}15945]15946}15947}15948}15949]15950},15951"12": {15952"name": "variable.other.object.declare.cuda-cpp"15953},15954"13": {15955"patterns": [15956{15957"include": "#inline_comment"15958}15959]15960},15961"14": {15962"patterns": [15963{15964"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",15965"captures": {15966"1": {15967"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"15968},15969"2": {15970"name": "comment.block.cuda-cpp"15971},15972"3": {15973"patterns": [15974{15975"match": "\\*\\/",15976"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"15977},15978{15979"match": "\\*",15980"name": "comment.block.cuda-cpp"15981}15982]15983}15984}15985}15986]15987}15988}15989},15990"switch_conditional_parentheses": {15991"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",15992"end": "\\)",15993"beginCaptures": {15994"1": {15995"patterns": [15996{15997"include": "#inline_comment"15998}15999]16000},16001"2": {16002"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16003},16004"3": {16005"name": "comment.block.cuda-cpp"16006},16007"4": {16008"patterns": [16009{16010"match": "\\*\\/",16011"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16012},16013{16014"match": "\\*",16015"name": "comment.block.cuda-cpp"16016}16017]16018},16019"5": {16020"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cuda-cpp"16021}16022},16023"endCaptures": {16024"0": {16025"name": "punctuation.section.parens.end.bracket.round.conditional.switch.cuda-cpp"16026}16027},16028"name": "meta.conditional.switch.cuda-cpp",16029"patterns": [16030{16031"include": "#evaluation_context"16032},16033{16034"include": "#c_conditional_context"16035}16036]16037},16038"switch_statement": {16039"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)switch(?!\\w))",16040"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",16041"beginCaptures": {16042"0": {16043"name": "meta.head.switch.cuda-cpp"16044},16045"1": {16046"patterns": [16047{16048"include": "#inline_comment"16049}16050]16051},16052"2": {16053"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16054},16055"3": {16056"name": "comment.block.cuda-cpp"16057},16058"4": {16059"patterns": [16060{16061"match": "\\*\\/",16062"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16063},16064{16065"match": "\\*",16066"name": "comment.block.cuda-cpp"16067}16068]16069},16070"5": {16071"name": "keyword.control.switch.cuda-cpp"16072}16073},16074"endCaptures": {},16075"name": "meta.block.switch.cuda-cpp",16076"patterns": [16077{16078"begin": "\\G ?",16079"end": "(?:\\{|<%|\\?\\?<|(?=;))",16080"beginCaptures": {},16081"endCaptures": {16082"0": {16083"name": "punctuation.section.block.begin.bracket.curly.switch.cuda-cpp"16084}16085},16086"name": "meta.head.switch.cuda-cpp",16087"patterns": [16088{16089"include": "#switch_conditional_parentheses"16090},16091{16092"include": "$self"16093}16094]16095},16096{16097"begin": "(?<=\\{|<%|\\?\\?<)",16098"end": "\\}|%>|\\?\\?>",16099"beginCaptures": {},16100"endCaptures": {16101"0": {16102"name": "punctuation.section.block.end.bracket.curly.switch.cuda-cpp"16103}16104},16105"name": "meta.body.switch.cuda-cpp",16106"patterns": [16107{16108"include": "#default_statement"16109},16110{16111"include": "#case_statement"16112},16113{16114"include": "$self"16115},16116{16117"include": "#block_innards"16118}16119]16120},16121{16122"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",16123"end": "[\\s]*(?=;)",16124"beginCaptures": {},16125"endCaptures": {},16126"name": "meta.tail.switch.cuda-cpp",16127"patterns": [16128{16129"include": "$self"16130}16131]16132}16133]16134},16135"template_argument_defaulted": {16136"match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[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}))*(?:\\s)+)*)((?:[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}))*)(?:(?:\\s)+)?([=])",16137"captures": {16138"1": {16139"name": "storage.type.template.cuda-cpp"16140},16141"2": {16142"name": "entity.name.type.template.cuda-cpp"16143},16144"3": {16145"name": "keyword.operator.assignment.cuda-cpp"16146}16147}16148},16149"template_call_context": {16150"patterns": [16151{16152"include": "#ever_present_context"16153},16154{16155"include": "#template_call_range"16156},16157{16158"include": "#storage_types"16159},16160{16161"include": "#language_constants"16162},16163{16164"include": "#scope_resolution_template_call_inner_generated"16165},16166{16167"include": "#operators"16168},16169{16170"include": "#number_literal"16171},16172{16173"include": "#string_context"16174},16175{16176"include": "#comma_in_template_argument"16177},16178{16179"include": "#qualified_type"16180}16181]16182},16183"template_call_innards": {16184"match": "((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+",16185"captures": {16186"0": {16187"patterns": [16188{16189"include": "#template_call_range"16190}16191]16192}16193},16194"name": "meta.template.call.cuda-cpp"16195},16196"template_call_range": {16197"begin": "<",16198"end": ">",16199"beginCaptures": {16200"0": {16201"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"16202}16203},16204"endCaptures": {16205"0": {16206"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"16207}16208},16209"name": "meta.template.call.cuda-cpp",16210"patterns": [16211{16212"include": "#template_call_context"16213}16214]16215},16216"template_definition": {16217"begin": "(?<!\\w)(template)(?:(?:\\s)+)?(<)",16218"end": ">",16219"beginCaptures": {16220"1": {16221"name": "storage.type.template.cuda-cpp"16222},16223"2": {16224"name": "punctuation.section.angle-brackets.start.template.definition.cuda-cpp"16225}16226},16227"endCaptures": {16228"0": {16229"name": "punctuation.section.angle-brackets.end.template.definition.cuda-cpp"16230}16231},16232"name": "meta.template.definition.cuda-cpp",16233"patterns": [16234{16235"begin": "(?<=\\w)(?:(?:\\s)+)?<",16236"end": ">",16237"beginCaptures": {16238"0": {16239"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"16240}16241},16242"endCaptures": {16243"0": {16244"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"16245}16246},16247"patterns": [16248{16249"include": "#template_call_context"16250}16251]16252},16253{16254"include": "#template_definition_context"16255}16256]16257},16258"template_definition_argument": {16259"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[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-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}))*(?:\\s)+)+)((?:[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-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}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[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}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))",16260"captures": {16261"1": {16262"patterns": [16263{16264"include": "#inline_comment"16265}16266]16267},16268"2": {16269"patterns": [16270{16271"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16272"captures": {16273"1": {16274"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16275},16276"2": {16277"name": "comment.block.cuda-cpp"16278},16279"3": {16280"patterns": [16281{16282"match": "\\*\\/",16283"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16284},16285{16286"match": "\\*",16287"name": "comment.block.cuda-cpp"16288}16289]16290}16291}16292}16293]16294},16295"3": {16296"name": "storage.type.template.argument.$3.cuda-cpp"16297},16298"4": {16299"patterns": [16300{16301"match": "(?:[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}))*",16302"name": "storage.type.template.argument.$0.cuda-cpp"16303}16304]16305},16306"5": {16307"name": "entity.name.type.template.cuda-cpp"16308},16309"6": {16310"name": "storage.type.template.cuda-cpp"16311},16312"7": {16313"name": "punctuation.vararg-ellipses.template.definition.cuda-cpp"16314},16315"8": {16316"name": "entity.name.type.template.cuda-cpp"16317},16318"9": {16319"name": "punctuation.separator.delimiter.comma.template.argument.cuda-cpp"16320}16321}16322},16323"template_definition_context": {16324"patterns": [16325{16326"include": "#scope_resolution_template_definition_inner_generated"16327},16328{16329"include": "#template_definition_argument"16330},16331{16332"include": "#template_argument_defaulted"16333},16334{16335"include": "#template_call_innards"16336},16337{16338"include": "#evaluation_context"16339}16340]16341},16342"template_isolated_definition": {16343"match": "(?<!\\w)(template)(?:(?:\\s)+)?(<)(.*)(>(?:(?:\\s)+)?$)",16344"captures": {16345"1": {16346"name": "storage.type.template.cuda-cpp"16347},16348"2": {16349"name": "punctuation.section.angle-brackets.start.template.definition.cuda-cpp"16350},16351"3": {16352"name": "meta.template.definition.cuda-cpp",16353"patterns": [16354{16355"include": "#template_definition_context"16356}16357]16358},16359"4": {16360"name": "punctuation.section.angle-brackets.end.template.definition.cuda-cpp"16361}16362}16363},16364"ternary_operator": {16365"begin": "\\?",16366"end": ":",16367"beginCaptures": {16368"0": {16369"name": "keyword.operator.ternary.cuda-cpp"16370}16371},16372"endCaptures": {16373"0": {16374"name": "keyword.operator.ternary.cuda-cpp"16375}16376},16377"patterns": [16378{16379"include": "#ever_present_context"16380},16381{16382"include": "#string_context"16383},16384{16385"include": "#number_literal"16386},16387{16388"include": "#method_access"16389},16390{16391"include": "#member_access"16392},16393{16394"include": "#predefined_macros"16395},16396{16397"include": "#operators"16398},16399{16400"include": "#memory_operators"16401},16402{16403"include": "#wordlike_operators"16404},16405{16406"include": "#type_casting_operators"16407},16408{16409"include": "#control_flow_keywords"16410},16411{16412"include": "#exception_keywords"16413},16414{16415"include": "#the_this_keyword"16416},16417{16418"include": "#language_constants"16419},16420{16421"include": "#builtin_storage_type_initilizer"16422},16423{16424"include": "#qualifiers_and_specifiers_post_parameters"16425},16426{16427"include": "#functional_specifiers_pre_parameters"16428},16429{16430"include": "#storage_types"16431},16432{16433"include": "#lambdas"16434},16435{16436"include": "#attributes_context"16437},16438{16439"include": "#parentheses"16440},16441{16442"include": "#function_call"16443},16444{16445"include": "#scope_resolution_inner_generated"16446},16447{16448"include": "#square_brackets"16449},16450{16451"include": "#semicolon"16452},16453{16454"include": "#comma"16455}16456],16457"applyEndPatternLast": 116458},16459"the_this_keyword": {16460"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))",16461"captures": {16462"1": {16463"patterns": [16464{16465"include": "#inline_comment"16466}16467]16468},16469"2": {16470"patterns": [16471{16472"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16473"captures": {16474"1": {16475"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16476},16477"2": {16478"name": "comment.block.cuda-cpp"16479},16480"3": {16481"patterns": [16482{16483"match": "\\*\\/",16484"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16485},16486{16487"match": "\\*",16488"name": "comment.block.cuda-cpp"16489}16490]16491}16492}16493}16494]16495},16496"3": {16497"name": "variable.language.this.cuda-cpp"16498}16499}16500},16501"type_alias": {16502"match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?<!\\w)(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)(?:\\s)+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)",16503"captures": {16504"1": {16505"name": "keyword.other.using.directive.cuda-cpp"16506},16507"2": {16508"name": "meta.qualified_type.cuda-cpp",16509"patterns": [16510{16511"match": "::",16512"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"16513},16514{16515"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",16516"name": "storage.type.$0.cuda-cpp"16517},16518{16519"include": "#attributes_context"16520},16521{16522"include": "#storage_types"16523},16524{16525"include": "#number_literal"16526},16527{16528"include": "#string_context"16529},16530{16531"include": "#comma"16532},16533{16534"include": "#scope_resolution_inner_generated"16535},16536{16537"begin": "<",16538"end": ">",16539"beginCaptures": {16540"0": {16541"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"16542}16543},16544"endCaptures": {16545"0": {16546"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"16547}16548},16549"name": "meta.template.call.cuda-cpp",16550"patterns": [16551{16552"include": "#template_call_context"16553}16554]16555},16556{16557"match": "(?:[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}))*",16558"name": "entity.name.type.cuda-cpp"16559}16560]16561},16562"3": {16563"patterns": [16564{16565"include": "#attributes_context"16566},16567{16568"include": "#number_literal"16569}16570]16571},16572"4": {16573"patterns": [16574{16575"include": "#inline_comment"16576}16577]16578},16579"5": {16580"patterns": [16581{16582"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16583"captures": {16584"1": {16585"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16586},16587"2": {16588"name": "comment.block.cuda-cpp"16589},16590"3": {16591"patterns": [16592{16593"match": "\\*\\/",16594"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16595},16596{16597"match": "\\*",16598"name": "comment.block.cuda-cpp"16599}16600]16601}16602}16603}16604]16605},16606"6": {16607"patterns": [16608{16609"include": "#inline_comment"16610}16611]16612},16613"7": {16614"patterns": [16615{16616"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16617"captures": {16618"1": {16619"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16620},16621"2": {16622"name": "comment.block.cuda-cpp"16623},16624"3": {16625"patterns": [16626{16627"match": "\\*\\/",16628"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16629},16630{16631"match": "\\*",16632"name": "comment.block.cuda-cpp"16633}16634]16635}16636}16637}16638]16639},16640"8": {16641"patterns": [16642{16643"match": "::",16644"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"16645},16646{16647"match": "(?<!\\w)(?:[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}))*(?!\\w)",16648"name": "entity.name.scope-resolution.type.cuda-cpp"16649},16650{16651"include": "#template_call_range"16652}16653]16654},16655"9": {16656"patterns": [16657{16658"include": "#template_call_range"16659}16660]16661},16662"11": {16663"patterns": [16664{16665"include": "#inline_comment"16666}16667]16668},16669"12": {16670"patterns": [16671{16672"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16673"captures": {16674"1": {16675"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16676},16677"2": {16678"name": "comment.block.cuda-cpp"16679},16680"3": {16681"patterns": [16682{16683"match": "\\*\\/",16684"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16685},16686{16687"match": "\\*",16688"name": "comment.block.cuda-cpp"16689}16690]16691}16692}16693}16694]16695},16696"14": {16697"name": "keyword.operator.assignment.cuda-cpp"16698},16699"15": {16700"name": "keyword.other.typename.cuda-cpp"16701},16702"16": {16703"patterns": [16704{16705"include": "#storage_specifiers"16706}16707]16708},16709"17": {16710"patterns": [16711{16712"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16713"captures": {16714"1": {16715"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16716},16717"2": {16718"name": "comment.block.cuda-cpp"16719},16720"3": {16721"patterns": [16722{16723"match": "\\*\\/",16724"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16725},16726{16727"match": "\\*",16728"name": "comment.block.cuda-cpp"16729}16730]16731}16732}16733}16734]16735},16736"18": {16737"name": "meta.qualified_type.cuda-cpp",16738"patterns": [16739{16740"match": "::",16741"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"16742},16743{16744"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",16745"name": "storage.type.$0.cuda-cpp"16746},16747{16748"include": "#attributes_context"16749},16750{16751"include": "#storage_types"16752},16753{16754"include": "#number_literal"16755},16756{16757"include": "#string_context"16758},16759{16760"include": "#comma"16761},16762{16763"include": "#scope_resolution_inner_generated"16764},16765{16766"begin": "<",16767"end": ">",16768"beginCaptures": {16769"0": {16770"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"16771}16772},16773"endCaptures": {16774"0": {16775"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"16776}16777},16778"name": "meta.template.call.cuda-cpp",16779"patterns": [16780{16781"include": "#template_call_context"16782}16783]16784},16785{16786"match": "(?:[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}))*",16787"name": "entity.name.type.cuda-cpp"16788}16789]16790},16791"19": {16792"patterns": [16793{16794"include": "#attributes_context"16795},16796{16797"include": "#number_literal"16798}16799]16800},16801"20": {16802"patterns": [16803{16804"include": "#inline_comment"16805}16806]16807},16808"21": {16809"patterns": [16810{16811"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16812"captures": {16813"1": {16814"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16815},16816"2": {16817"name": "comment.block.cuda-cpp"16818},16819"3": {16820"patterns": [16821{16822"match": "\\*\\/",16823"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16824},16825{16826"match": "\\*",16827"name": "comment.block.cuda-cpp"16828}16829]16830}16831}16832}16833]16834},16835"22": {16836"patterns": [16837{16838"include": "#inline_comment"16839}16840]16841},16842"23": {16843"patterns": [16844{16845"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16846"captures": {16847"1": {16848"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16849},16850"2": {16851"name": "comment.block.cuda-cpp"16852},16853"3": {16854"patterns": [16855{16856"match": "\\*\\/",16857"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16858},16859{16860"match": "\\*",16861"name": "comment.block.cuda-cpp"16862}16863]16864}16865}16866}16867]16868},16869"24": {16870"patterns": [16871{16872"match": "::",16873"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"16874},16875{16876"match": "(?<!\\w)(?:[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}))*(?!\\w)",16877"name": "entity.name.scope-resolution.type.cuda-cpp"16878},16879{16880"include": "#template_call_range"16881}16882]16883},16884"25": {16885"patterns": [16886{16887"include": "#template_call_range"16888}16889]16890},16891"27": {16892"patterns": [16893{16894"include": "#inline_comment"16895}16896]16897},16898"28": {16899"patterns": [16900{16901"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16902"captures": {16903"1": {16904"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16905},16906"2": {16907"name": "comment.block.cuda-cpp"16908},16909"3": {16910"patterns": [16911{16912"match": "\\*\\/",16913"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16914},16915{16916"match": "\\*",16917"name": "comment.block.cuda-cpp"16918}16919]16920}16921}16922}16923]16924},16925"30": {16926"name": "meta.declaration.type.alias.value.unknown.cuda-cpp",16927"patterns": [16928{16929"include": "#evaluation_context"16930}16931]16932},16933"31": {16934"patterns": [16935{16936"match": "\\*",16937"name": "storage.modifier.pointer.cuda-cpp"16938},16939{16940"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",16941"captures": {16942"1": {16943"patterns": [16944{16945"include": "#inline_comment"16946}16947]16948},16949"2": {16950"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16951},16952"3": {16953"name": "comment.block.cuda-cpp"16954},16955"4": {16956"patterns": [16957{16958"match": "\\*\\/",16959"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16960},16961{16962"match": "\\*",16963"name": "comment.block.cuda-cpp"16964}16965]16966}16967},16968"name": "invalid.illegal.reference-type.cuda-cpp"16969},16970{16971"match": "\\&",16972"name": "storage.modifier.reference.cuda-cpp"16973}16974]16975},16976"32": {16977"patterns": [16978{16979"include": "#inline_comment"16980}16981]16982},16983"33": {16984"patterns": [16985{16986"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",16987"captures": {16988"1": {16989"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"16990},16991"2": {16992"name": "comment.block.cuda-cpp"16993},16994"3": {16995"patterns": [16996{16997"match": "\\*\\/",16998"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"16999},17000{17001"match": "\\*",17002"name": "comment.block.cuda-cpp"17003}17004]17005}17006}17007}17008]17009},17010"34": {17011"patterns": [17012{17013"include": "#inline_comment"17014}17015]17016},17017"35": {17018"patterns": [17019{17020"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",17021"captures": {17022"1": {17023"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17024},17025"2": {17026"name": "comment.block.cuda-cpp"17027},17028"3": {17029"patterns": [17030{17031"match": "\\*\\/",17032"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17033},17034{17035"match": "\\*",17036"name": "comment.block.cuda-cpp"17037}17038]17039}17040}17041}17042]17043},17044"36": {17045"patterns": [17046{17047"include": "#inline_comment"17048}17049]17050},17051"37": {17052"patterns": [17053{17054"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",17055"captures": {17056"1": {17057"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17058},17059"2": {17060"name": "comment.block.cuda-cpp"17061},17062"3": {17063"patterns": [17064{17065"match": "\\*\\/",17066"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17067},17068{17069"match": "\\*",17070"name": "comment.block.cuda-cpp"17071}17072]17073}17074}17075}17076]17077},17078"38": {17079"name": "punctuation.definition.begin.bracket.square.cuda-cpp"17080},17081"39": {17082"patterns": [17083{17084"include": "#evaluation_context"17085}17086]17087},17088"40": {17089"name": "punctuation.definition.end.bracket.square.cuda-cpp"17090},17091"41": {17092"name": "punctuation.terminator.statement.cuda-cpp"17093}17094},17095"name": "meta.declaration.type.alias.cuda-cpp"17096},17097"type_casting_operators": {17098"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))",17099"captures": {17100"1": {17101"patterns": [17102{17103"include": "#inline_comment"17104}17105]17106},17107"2": {17108"patterns": [17109{17110"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",17111"captures": {17112"1": {17113"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17114},17115"2": {17116"name": "comment.block.cuda-cpp"17117},17118"3": {17119"patterns": [17120{17121"match": "\\*\\/",17122"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17123},17124{17125"match": "\\*",17126"name": "comment.block.cuda-cpp"17127}17128]17129}17130}17131}17132]17133},17134"3": {17135"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.cast.$3.cuda-cpp"17136}17137}17138},17139"typedef_class": {17140"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)class(?!\\w))",17141"end": "(?<=;)",17142"beginCaptures": {17143"1": {17144"name": "keyword.other.typedef.cuda-cpp"17145}17146},17147"endCaptures": {},17148"patterns": [17149{17150"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",17151"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",17152"beginCaptures": {17153"0": {17154"name": "meta.head.class.cuda-cpp"17155},17156"1": {17157"name": "storage.type.$1.cuda-cpp"17158},17159"2": {17160"patterns": [17161{17162"include": "#inline_comment"17163}17164]17165},17166"3": {17167"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17168},17169"4": {17170"name": "comment.block.cuda-cpp"17171},17172"5": {17173"patterns": [17174{17175"match": "\\*\\/",17176"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17177},17178{17179"match": "\\*",17180"name": "comment.block.cuda-cpp"17181}17182]17183},17184"6": {17185"patterns": [17186{17187"include": "#attributes_context"17188},17189{17190"include": "#number_literal"17191}17192]17193},17194"7": {17195"patterns": [17196{17197"include": "#inline_comment"17198}17199]17200},17201"8": {17202"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17203},17204"9": {17205"name": "comment.block.cuda-cpp"17206},17207"10": {17208"patterns": [17209{17210"match": "\\*\\/",17211"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17212},17213{17214"match": "\\*",17215"name": "comment.block.cuda-cpp"17216}17217]17218},17219"11": {17220"patterns": [17221{17222"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",17223"captures": {17224"1": {17225"name": "storage.type.modifier.final.cuda-cpp"17226},17227"2": {17228"patterns": [17229{17230"include": "#inline_comment"17231}17232]17233},17234"3": {17235"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17236},17237"4": {17238"name": "comment.block.cuda-cpp"17239},17240"5": {17241"patterns": [17242{17243"match": "\\*\\/",17244"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17245},17246{17247"match": "\\*",17248"name": "comment.block.cuda-cpp"17249}17250]17251}17252}17253},17254{17255"match": "((?<!\\w)(?:[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}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",17256"captures": {17257"1": {17258"name": "entity.name.type.class.cuda-cpp"17259},17260"2": {17261"patterns": [17262{17263"include": "#inline_comment"17264}17265]17266},17267"3": {17268"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17269},17270"4": {17271"name": "comment.block.cuda-cpp"17272},17273"5": {17274"patterns": [17275{17276"match": "\\*\\/",17277"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17278},17279{17280"match": "\\*",17281"name": "comment.block.cuda-cpp"17282}17283]17284},17285"6": {17286"name": "storage.type.modifier.final.cuda-cpp"17287},17288"7": {17289"patterns": [17290{17291"include": "#inline_comment"17292}17293]17294},17295"8": {17296"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17297},17298"9": {17299"name": "comment.block.cuda-cpp"17300},17301"10": {17302"patterns": [17303{17304"match": "\\*\\/",17305"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17306},17307{17308"match": "\\*",17309"name": "comment.block.cuda-cpp"17310}17311]17312}17313}17314},17315{17316"match": "DLLEXPORT",17317"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"17318},17319{17320"match": "(?:[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}))*",17321"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"17322}17323]17324},17325"12": {17326"patterns": [17327{17328"include": "#inline_comment"17329}17330]17331},17332"13": {17333"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17334},17335"14": {17336"name": "comment.block.cuda-cpp"17337},17338"15": {17339"patterns": [17340{17341"match": "\\*\\/",17342"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17343},17344{17345"match": "\\*",17346"name": "comment.block.cuda-cpp"17347}17348]17349},17350"16": {17351"patterns": [17352{17353"include": "#inline_comment"17354}17355]17356},17357"17": {17358"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17359},17360"18": {17361"name": "comment.block.cuda-cpp"17362},17363"19": {17364"patterns": [17365{17366"match": "\\*\\/",17367"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17368},17369{17370"match": "\\*",17371"name": "comment.block.cuda-cpp"17372}17373]17374},17375"20": {17376"name": "punctuation.separator.colon.inheritance.cuda-cpp"17377}17378},17379"endCaptures": {17380"1": {17381"name": "punctuation.terminator.statement.cuda-cpp"17382},17383"2": {17384"name": "punctuation.terminator.statement.cuda-cpp"17385}17386},17387"name": "meta.block.class.cuda-cpp",17388"patterns": [17389{17390"begin": "\\G ?",17391"end": "(?:\\{|<%|\\?\\?<|(?=;))",17392"beginCaptures": {},17393"endCaptures": {17394"0": {17395"name": "punctuation.section.block.begin.bracket.curly.class.cuda-cpp"17396}17397},17398"name": "meta.head.class.cuda-cpp",17399"patterns": [17400{17401"include": "#ever_present_context"17402},17403{17404"include": "#inheritance_context"17405},17406{17407"include": "#template_call_range"17408}17409]17410},17411{17412"begin": "(?<=\\{|<%|\\?\\?<)",17413"end": "\\}|%>|\\?\\?>",17414"beginCaptures": {},17415"endCaptures": {17416"0": {17417"name": "punctuation.section.block.end.bracket.curly.class.cuda-cpp"17418}17419},17420"name": "meta.body.class.cuda-cpp",17421"patterns": [17422{17423"include": "#function_pointer"17424},17425{17426"include": "#static_assert"17427},17428{17429"include": "#constructor_inline"17430},17431{17432"include": "#destructor_inline"17433},17434{17435"include": "$self"17436}17437]17438},17439{17440"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",17441"end": "[\\s]*(?=;)",17442"beginCaptures": {},17443"endCaptures": {},17444"name": "meta.tail.class.cuda-cpp",17445"patterns": [17446{17447"match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))",17448"captures": {17449"1": {17450"patterns": [17451{17452"match": "\\*",17453"name": "storage.modifier.pointer.cuda-cpp"17454},17455{17456"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",17457"captures": {17458"1": {17459"patterns": [17460{17461"include": "#inline_comment"17462}17463]17464},17465"2": {17466"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17467},17468"3": {17469"name": "comment.block.cuda-cpp"17470},17471"4": {17472"patterns": [17473{17474"match": "\\*\\/",17475"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17476},17477{17478"match": "\\*",17479"name": "comment.block.cuda-cpp"17480}17481]17482}17483},17484"name": "invalid.illegal.reference-type.cuda-cpp"17485},17486{17487"match": "\\&",17488"name": "storage.modifier.reference.cuda-cpp"17489}17490]17491},17492"2": {17493"patterns": [17494{17495"include": "#inline_comment"17496}17497]17498},17499"3": {17500"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17501},17502"4": {17503"name": "comment.block.cuda-cpp"17504},17505"5": {17506"patterns": [17507{17508"match": "\\*\\/",17509"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17510},17511{17512"match": "\\*",17513"name": "comment.block.cuda-cpp"17514}17515]17516},17517"6": {17518"patterns": [17519{17520"include": "#inline_comment"17521}17522]17523},17524"7": {17525"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17526},17527"8": {17528"name": "comment.block.cuda-cpp"17529},17530"9": {17531"patterns": [17532{17533"match": "\\*\\/",17534"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17535},17536{17537"match": "\\*",17538"name": "comment.block.cuda-cpp"17539}17540]17541},17542"10": {17543"patterns": [17544{17545"include": "#inline_comment"17546}17547]17548},17549"11": {17550"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17551},17552"12": {17553"name": "comment.block.cuda-cpp"17554},17555"13": {17556"patterns": [17557{17558"match": "\\*\\/",17559"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17560},17561{17562"match": "\\*",17563"name": "comment.block.cuda-cpp"17564}17565]17566},17567"14": {17568"name": "entity.name.type.alias.cuda-cpp"17569}17570}17571},17572{17573"match": ","17574}17575]17576}17577]17578}17579]17580},17581"typedef_function_pointer": {17582"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=.*\\(\\*\\s*(?:[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}))*\\s*\\))",17583"end": "(?<=;)",17584"beginCaptures": {17585"1": {17586"name": "keyword.other.typedef.cuda-cpp"17587}17588},17589"endCaptures": {},17590"patterns": [17591{17592"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[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}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",17593"end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",17594"beginCaptures": {17595"1": {17596"name": "meta.qualified_type.cuda-cpp",17597"patterns": [17598{17599"match": "::",17600"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"17601},17602{17603"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",17604"name": "storage.type.$0.cuda-cpp"17605},17606{17607"include": "#attributes_context"17608},17609{17610"include": "#storage_types"17611},17612{17613"include": "#number_literal"17614},17615{17616"include": "#string_context"17617},17618{17619"include": "#comma"17620},17621{17622"include": "#scope_resolution_inner_generated"17623},17624{17625"begin": "<",17626"end": ">",17627"beginCaptures": {17628"0": {17629"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"17630}17631},17632"endCaptures": {17633"0": {17634"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"17635}17636},17637"name": "meta.template.call.cuda-cpp",17638"patterns": [17639{17640"include": "#template_call_context"17641}17642]17643},17644{17645"match": "(?:[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}))*",17646"name": "entity.name.type.cuda-cpp"17647}17648]17649},17650"2": {17651"patterns": [17652{17653"include": "#attributes_context"17654},17655{17656"include": "#number_literal"17657}17658]17659},17660"3": {17661"patterns": [17662{17663"include": "#inline_comment"17664}17665]17666},17667"4": {17668"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17669},17670"5": {17671"name": "comment.block.cuda-cpp"17672},17673"6": {17674"patterns": [17675{17676"match": "\\*\\/",17677"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17678},17679{17680"match": "\\*",17681"name": "comment.block.cuda-cpp"17682}17683]17684},17685"7": {17686"patterns": [17687{17688"include": "#inline_comment"17689}17690]17691},17692"8": {17693"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17694},17695"9": {17696"name": "comment.block.cuda-cpp"17697},17698"10": {17699"patterns": [17700{17701"match": "\\*\\/",17702"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17703},17704{17705"match": "\\*",17706"name": "comment.block.cuda-cpp"17707}17708]17709},17710"11": {17711"patterns": [17712{17713"match": "::",17714"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"17715},17716{17717"match": "(?<!\\w)(?:[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}))*(?!\\w)",17718"name": "entity.name.scope-resolution.type.cuda-cpp"17719},17720{17721"include": "#template_call_range"17722}17723]17724},17725"12": {17726"patterns": [17727{17728"include": "#template_call_range"17729}17730]17731},17732"13": {},17733"14": {17734"patterns": [17735{17736"include": "#inline_comment"17737}17738]17739},17740"15": {17741"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17742},17743"16": {17744"name": "comment.block.cuda-cpp"17745},17746"17": {17747"patterns": [17748{17749"match": "\\*\\/",17750"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17751},17752{17753"match": "\\*",17754"name": "comment.block.cuda-cpp"17755}17756]17757},17758"18": {},17759"19": {17760"patterns": [17761{17762"match": "\\*",17763"name": "storage.modifier.pointer.cuda-cpp"17764},17765{17766"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",17767"captures": {17768"1": {17769"patterns": [17770{17771"include": "#inline_comment"17772}17773]17774},17775"2": {17776"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17777},17778"3": {17779"name": "comment.block.cuda-cpp"17780},17781"4": {17782"patterns": [17783{17784"match": "\\*\\/",17785"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17786},17787{17788"match": "\\*",17789"name": "comment.block.cuda-cpp"17790}17791]17792}17793},17794"name": "invalid.illegal.reference-type.cuda-cpp"17795},17796{17797"match": "\\&",17798"name": "storage.modifier.reference.cuda-cpp"17799}17800]17801},17802"20": {17803"patterns": [17804{17805"include": "#inline_comment"17806}17807]17808},17809"21": {17810"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17811},17812"22": {17813"name": "comment.block.cuda-cpp"17814},17815"23": {17816"patterns": [17817{17818"match": "\\*\\/",17819"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17820},17821{17822"match": "\\*",17823"name": "comment.block.cuda-cpp"17824}17825]17826},17827"24": {17828"patterns": [17829{17830"include": "#inline_comment"17831}17832]17833},17834"25": {17835"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17836},17837"26": {17838"name": "comment.block.cuda-cpp"17839},17840"27": {17841"patterns": [17842{17843"match": "\\*\\/",17844"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17845},17846{17847"match": "\\*",17848"name": "comment.block.cuda-cpp"17849}17850]17851},17852"28": {17853"patterns": [17854{17855"include": "#inline_comment"17856}17857]17858},17859"29": {17860"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17861},17862"30": {17863"name": "comment.block.cuda-cpp"17864},17865"31": {17866"patterns": [17867{17868"match": "\\*\\/",17869"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17870},17871{17872"match": "\\*",17873"name": "comment.block.cuda-cpp"17874}17875]17876},17877"32": {17878"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp"17879},17880"33": {17881"name": "punctuation.definition.function.pointer.dereference.cuda-cpp"17882},17883"34": {17884"name": "entity.name.type.alias.cuda-cpp entity.name.type.pointer.function.cuda-cpp"17885},17886"35": {17887"name": "punctuation.definition.begin.bracket.square.cuda-cpp"17888},17889"36": {17890"patterns": [17891{17892"include": "#evaluation_context"17893}17894]17895},17896"37": {17897"name": "punctuation.definition.end.bracket.square.cuda-cpp"17898},17899"38": {17900"name": "punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp"17901},17902"39": {17903"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp"17904}17905},17906"endCaptures": {17907"1": {17908"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp"17909},17910"2": {17911"patterns": [17912{17913"include": "#inline_comment"17914}17915]17916},17917"3": {17918"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17919},17920"4": {17921"name": "comment.block.cuda-cpp"17922},17923"5": {17924"patterns": [17925{17926"match": "\\*\\/",17927"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17928},17929{17930"match": "\\*",17931"name": "comment.block.cuda-cpp"17932}17933]17934}17935},17936"patterns": [17937{17938"include": "#function_parameter_context"17939}17940]17941}17942]17943},17944"typedef_struct": {17945"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)struct(?!\\w))",17946"end": "(?<=;)",17947"beginCaptures": {17948"1": {17949"name": "keyword.other.typedef.cuda-cpp"17950}17951},17952"endCaptures": {},17953"patterns": [17954{17955"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",17956"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",17957"beginCaptures": {17958"0": {17959"name": "meta.head.struct.cuda-cpp"17960},17961"1": {17962"name": "storage.type.$1.cuda-cpp"17963},17964"2": {17965"patterns": [17966{17967"include": "#inline_comment"17968}17969]17970},17971"3": {17972"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"17973},17974"4": {17975"name": "comment.block.cuda-cpp"17976},17977"5": {17978"patterns": [17979{17980"match": "\\*\\/",17981"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"17982},17983{17984"match": "\\*",17985"name": "comment.block.cuda-cpp"17986}17987]17988},17989"6": {17990"patterns": [17991{17992"include": "#attributes_context"17993},17994{17995"include": "#number_literal"17996}17997]17998},17999"7": {18000"patterns": [18001{18002"include": "#inline_comment"18003}18004]18005},18006"8": {18007"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18008},18009"9": {18010"name": "comment.block.cuda-cpp"18011},18012"10": {18013"patterns": [18014{18015"match": "\\*\\/",18016"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18017},18018{18019"match": "\\*",18020"name": "comment.block.cuda-cpp"18021}18022]18023},18024"11": {18025"patterns": [18026{18027"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",18028"captures": {18029"1": {18030"name": "storage.type.modifier.final.cuda-cpp"18031},18032"2": {18033"patterns": [18034{18035"include": "#inline_comment"18036}18037]18038},18039"3": {18040"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18041},18042"4": {18043"name": "comment.block.cuda-cpp"18044},18045"5": {18046"patterns": [18047{18048"match": "\\*\\/",18049"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18050},18051{18052"match": "\\*",18053"name": "comment.block.cuda-cpp"18054}18055]18056}18057}18058},18059{18060"match": "((?<!\\w)(?:[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}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",18061"captures": {18062"1": {18063"name": "entity.name.type.struct.cuda-cpp"18064},18065"2": {18066"patterns": [18067{18068"include": "#inline_comment"18069}18070]18071},18072"3": {18073"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18074},18075"4": {18076"name": "comment.block.cuda-cpp"18077},18078"5": {18079"patterns": [18080{18081"match": "\\*\\/",18082"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18083},18084{18085"match": "\\*",18086"name": "comment.block.cuda-cpp"18087}18088]18089},18090"6": {18091"name": "storage.type.modifier.final.cuda-cpp"18092},18093"7": {18094"patterns": [18095{18096"include": "#inline_comment"18097}18098]18099},18100"8": {18101"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18102},18103"9": {18104"name": "comment.block.cuda-cpp"18105},18106"10": {18107"patterns": [18108{18109"match": "\\*\\/",18110"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18111},18112{18113"match": "\\*",18114"name": "comment.block.cuda-cpp"18115}18116]18117}18118}18119},18120{18121"match": "DLLEXPORT",18122"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"18123},18124{18125"match": "(?:[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}))*",18126"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"18127}18128]18129},18130"12": {18131"patterns": [18132{18133"include": "#inline_comment"18134}18135]18136},18137"13": {18138"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18139},18140"14": {18141"name": "comment.block.cuda-cpp"18142},18143"15": {18144"patterns": [18145{18146"match": "\\*\\/",18147"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18148},18149{18150"match": "\\*",18151"name": "comment.block.cuda-cpp"18152}18153]18154},18155"16": {18156"patterns": [18157{18158"include": "#inline_comment"18159}18160]18161},18162"17": {18163"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18164},18165"18": {18166"name": "comment.block.cuda-cpp"18167},18168"19": {18169"patterns": [18170{18171"match": "\\*\\/",18172"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18173},18174{18175"match": "\\*",18176"name": "comment.block.cuda-cpp"18177}18178]18179},18180"20": {18181"name": "punctuation.separator.colon.inheritance.cuda-cpp"18182}18183},18184"endCaptures": {18185"1": {18186"name": "punctuation.terminator.statement.cuda-cpp"18187},18188"2": {18189"name": "punctuation.terminator.statement.cuda-cpp"18190}18191},18192"name": "meta.block.struct.cuda-cpp",18193"patterns": [18194{18195"begin": "\\G ?",18196"end": "(?:\\{|<%|\\?\\?<|(?=;))",18197"beginCaptures": {},18198"endCaptures": {18199"0": {18200"name": "punctuation.section.block.begin.bracket.curly.struct.cuda-cpp"18201}18202},18203"name": "meta.head.struct.cuda-cpp",18204"patterns": [18205{18206"include": "#ever_present_context"18207},18208{18209"include": "#inheritance_context"18210},18211{18212"include": "#template_call_range"18213}18214]18215},18216{18217"begin": "(?<=\\{|<%|\\?\\?<)",18218"end": "\\}|%>|\\?\\?>",18219"beginCaptures": {},18220"endCaptures": {18221"0": {18222"name": "punctuation.section.block.end.bracket.curly.struct.cuda-cpp"18223}18224},18225"name": "meta.body.struct.cuda-cpp",18226"patterns": [18227{18228"include": "#function_pointer"18229},18230{18231"include": "#static_assert"18232},18233{18234"include": "#constructor_inline"18235},18236{18237"include": "#destructor_inline"18238},18239{18240"include": "$self"18241}18242]18243},18244{18245"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",18246"end": "[\\s]*(?=;)",18247"beginCaptures": {},18248"endCaptures": {},18249"name": "meta.tail.struct.cuda-cpp",18250"patterns": [18251{18252"match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))",18253"captures": {18254"1": {18255"patterns": [18256{18257"match": "\\*",18258"name": "storage.modifier.pointer.cuda-cpp"18259},18260{18261"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",18262"captures": {18263"1": {18264"patterns": [18265{18266"include": "#inline_comment"18267}18268]18269},18270"2": {18271"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18272},18273"3": {18274"name": "comment.block.cuda-cpp"18275},18276"4": {18277"patterns": [18278{18279"match": "\\*\\/",18280"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18281},18282{18283"match": "\\*",18284"name": "comment.block.cuda-cpp"18285}18286]18287}18288},18289"name": "invalid.illegal.reference-type.cuda-cpp"18290},18291{18292"match": "\\&",18293"name": "storage.modifier.reference.cuda-cpp"18294}18295]18296},18297"2": {18298"patterns": [18299{18300"include": "#inline_comment"18301}18302]18303},18304"3": {18305"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18306},18307"4": {18308"name": "comment.block.cuda-cpp"18309},18310"5": {18311"patterns": [18312{18313"match": "\\*\\/",18314"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18315},18316{18317"match": "\\*",18318"name": "comment.block.cuda-cpp"18319}18320]18321},18322"6": {18323"patterns": [18324{18325"include": "#inline_comment"18326}18327]18328},18329"7": {18330"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18331},18332"8": {18333"name": "comment.block.cuda-cpp"18334},18335"9": {18336"patterns": [18337{18338"match": "\\*\\/",18339"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18340},18341{18342"match": "\\*",18343"name": "comment.block.cuda-cpp"18344}18345]18346},18347"10": {18348"patterns": [18349{18350"include": "#inline_comment"18351}18352]18353},18354"11": {18355"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18356},18357"12": {18358"name": "comment.block.cuda-cpp"18359},18360"13": {18361"patterns": [18362{18363"match": "\\*\\/",18364"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18365},18366{18367"match": "\\*",18368"name": "comment.block.cuda-cpp"18369}18370]18371},18372"14": {18373"name": "entity.name.type.alias.cuda-cpp"18374}18375}18376},18377{18378"match": ","18379}18380]18381}18382]18383}18384]18385},18386"typedef_union": {18387"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)union(?!\\w))",18388"end": "(?<=;)",18389"beginCaptures": {18390"1": {18391"name": "keyword.other.typedef.cuda-cpp"18392}18393},18394"endCaptures": {},18395"patterns": [18396{18397"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",18398"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",18399"beginCaptures": {18400"0": {18401"name": "meta.head.union.cuda-cpp"18402},18403"1": {18404"name": "storage.type.$1.cuda-cpp"18405},18406"2": {18407"patterns": [18408{18409"include": "#inline_comment"18410}18411]18412},18413"3": {18414"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18415},18416"4": {18417"name": "comment.block.cuda-cpp"18418},18419"5": {18420"patterns": [18421{18422"match": "\\*\\/",18423"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18424},18425{18426"match": "\\*",18427"name": "comment.block.cuda-cpp"18428}18429]18430},18431"6": {18432"patterns": [18433{18434"include": "#attributes_context"18435},18436{18437"include": "#number_literal"18438}18439]18440},18441"7": {18442"patterns": [18443{18444"include": "#inline_comment"18445}18446]18447},18448"8": {18449"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18450},18451"9": {18452"name": "comment.block.cuda-cpp"18453},18454"10": {18455"patterns": [18456{18457"match": "\\*\\/",18458"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18459},18460{18461"match": "\\*",18462"name": "comment.block.cuda-cpp"18463}18464]18465},18466"11": {18467"patterns": [18468{18469"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",18470"captures": {18471"1": {18472"name": "storage.type.modifier.final.cuda-cpp"18473},18474"2": {18475"patterns": [18476{18477"include": "#inline_comment"18478}18479]18480},18481"3": {18482"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18483},18484"4": {18485"name": "comment.block.cuda-cpp"18486},18487"5": {18488"patterns": [18489{18490"match": "\\*\\/",18491"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18492},18493{18494"match": "\\*",18495"name": "comment.block.cuda-cpp"18496}18497]18498}18499}18500},18501{18502"match": "((?<!\\w)(?:[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}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",18503"captures": {18504"1": {18505"name": "entity.name.type.union.cuda-cpp"18506},18507"2": {18508"patterns": [18509{18510"include": "#inline_comment"18511}18512]18513},18514"3": {18515"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18516},18517"4": {18518"name": "comment.block.cuda-cpp"18519},18520"5": {18521"patterns": [18522{18523"match": "\\*\\/",18524"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18525},18526{18527"match": "\\*",18528"name": "comment.block.cuda-cpp"18529}18530]18531},18532"6": {18533"name": "storage.type.modifier.final.cuda-cpp"18534},18535"7": {18536"patterns": [18537{18538"include": "#inline_comment"18539}18540]18541},18542"8": {18543"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18544},18545"9": {18546"name": "comment.block.cuda-cpp"18547},18548"10": {18549"patterns": [18550{18551"match": "\\*\\/",18552"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18553},18554{18555"match": "\\*",18556"name": "comment.block.cuda-cpp"18557}18558]18559}18560}18561},18562{18563"match": "DLLEXPORT",18564"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"18565},18566{18567"match": "(?:[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}))*",18568"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"18569}18570]18571},18572"12": {18573"patterns": [18574{18575"include": "#inline_comment"18576}18577]18578},18579"13": {18580"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18581},18582"14": {18583"name": "comment.block.cuda-cpp"18584},18585"15": {18586"patterns": [18587{18588"match": "\\*\\/",18589"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18590},18591{18592"match": "\\*",18593"name": "comment.block.cuda-cpp"18594}18595]18596},18597"16": {18598"patterns": [18599{18600"include": "#inline_comment"18601}18602]18603},18604"17": {18605"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18606},18607"18": {18608"name": "comment.block.cuda-cpp"18609},18610"19": {18611"patterns": [18612{18613"match": "\\*\\/",18614"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18615},18616{18617"match": "\\*",18618"name": "comment.block.cuda-cpp"18619}18620]18621},18622"20": {18623"name": "punctuation.separator.colon.inheritance.cuda-cpp"18624}18625},18626"endCaptures": {18627"1": {18628"name": "punctuation.terminator.statement.cuda-cpp"18629},18630"2": {18631"name": "punctuation.terminator.statement.cuda-cpp"18632}18633},18634"name": "meta.block.union.cuda-cpp",18635"patterns": [18636{18637"begin": "\\G ?",18638"end": "(?:\\{|<%|\\?\\?<|(?=;))",18639"beginCaptures": {},18640"endCaptures": {18641"0": {18642"name": "punctuation.section.block.begin.bracket.curly.union.cuda-cpp"18643}18644},18645"name": "meta.head.union.cuda-cpp",18646"patterns": [18647{18648"include": "#ever_present_context"18649},18650{18651"include": "#inheritance_context"18652},18653{18654"include": "#template_call_range"18655}18656]18657},18658{18659"begin": "(?<=\\{|<%|\\?\\?<)",18660"end": "\\}|%>|\\?\\?>",18661"beginCaptures": {},18662"endCaptures": {18663"0": {18664"name": "punctuation.section.block.end.bracket.curly.union.cuda-cpp"18665}18666},18667"name": "meta.body.union.cuda-cpp",18668"patterns": [18669{18670"include": "#function_pointer"18671},18672{18673"include": "#static_assert"18674},18675{18676"include": "#constructor_inline"18677},18678{18679"include": "#destructor_inline"18680},18681{18682"include": "$self"18683}18684]18685},18686{18687"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",18688"end": "[\\s]*(?=;)",18689"beginCaptures": {},18690"endCaptures": {},18691"name": "meta.tail.union.cuda-cpp",18692"patterns": [18693{18694"match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))",18695"captures": {18696"1": {18697"patterns": [18698{18699"match": "\\*",18700"name": "storage.modifier.pointer.cuda-cpp"18701},18702{18703"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",18704"captures": {18705"1": {18706"patterns": [18707{18708"include": "#inline_comment"18709}18710]18711},18712"2": {18713"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18714},18715"3": {18716"name": "comment.block.cuda-cpp"18717},18718"4": {18719"patterns": [18720{18721"match": "\\*\\/",18722"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18723},18724{18725"match": "\\*",18726"name": "comment.block.cuda-cpp"18727}18728]18729}18730},18731"name": "invalid.illegal.reference-type.cuda-cpp"18732},18733{18734"match": "\\&",18735"name": "storage.modifier.reference.cuda-cpp"18736}18737]18738},18739"2": {18740"patterns": [18741{18742"include": "#inline_comment"18743}18744]18745},18746"3": {18747"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18748},18749"4": {18750"name": "comment.block.cuda-cpp"18751},18752"5": {18753"patterns": [18754{18755"match": "\\*\\/",18756"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18757},18758{18759"match": "\\*",18760"name": "comment.block.cuda-cpp"18761}18762]18763},18764"6": {18765"patterns": [18766{18767"include": "#inline_comment"18768}18769]18770},18771"7": {18772"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18773},18774"8": {18775"name": "comment.block.cuda-cpp"18776},18777"9": {18778"patterns": [18779{18780"match": "\\*\\/",18781"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18782},18783{18784"match": "\\*",18785"name": "comment.block.cuda-cpp"18786}18787]18788},18789"10": {18790"patterns": [18791{18792"include": "#inline_comment"18793}18794]18795},18796"11": {18797"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18798},18799"12": {18800"name": "comment.block.cuda-cpp"18801},18802"13": {18803"patterns": [18804{18805"match": "\\*\\/",18806"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18807},18808{18809"match": "\\*",18810"name": "comment.block.cuda-cpp"18811}18812]18813},18814"14": {18815"name": "entity.name.type.alias.cuda-cpp"18816}18817}18818},18819{18820"match": ","18821}18822]18823}18824]18825}18826]18827},18828"typeid_operator": {18829"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",18830"end": "\\)",18831"beginCaptures": {18832"1": {18833"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.typeid.cuda-cpp"18834},18835"2": {18836"patterns": [18837{18838"include": "#inline_comment"18839}18840]18841},18842"3": {18843"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18844},18845"4": {18846"name": "comment.block.cuda-cpp"18847},18848"5": {18849"patterns": [18850{18851"match": "\\*\\/",18852"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18853},18854{18855"match": "\\*",18856"name": "comment.block.cuda-cpp"18857}18858]18859},18860"6": {18861"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cuda-cpp"18862}18863},18864"endCaptures": {18865"0": {18866"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cuda-cpp"18867}18868},18869"contentName": "meta.arguments.operator.typeid",18870"patterns": [18871{18872"include": "#evaluation_context"18873}18874]18875},18876"typename": {18877"match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)typename(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[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}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))",18878"captures": {18879"1": {18880"name": "storage.modifier.cuda-cpp"18881},18882"2": {18883"patterns": [18884{18885"include": "#inline_comment"18886}18887]18888},18889"3": {18890"patterns": [18891{18892"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",18893"captures": {18894"1": {18895"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18896},18897"2": {18898"name": "comment.block.cuda-cpp"18899},18900"3": {18901"patterns": [18902{18903"match": "\\*\\/",18904"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18905},18906{18907"match": "\\*",18908"name": "comment.block.cuda-cpp"18909}18910]18911}18912}18913}18914]18915},18916"4": {18917"patterns": [18918{18919"include": "#inline_comment"18920}18921]18922},18923"5": {18924"patterns": [18925{18926"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",18927"captures": {18928"1": {18929"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"18930},18931"2": {18932"name": "comment.block.cuda-cpp"18933},18934"3": {18935"patterns": [18936{18937"match": "\\*\\/",18938"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"18939},18940{18941"match": "\\*",18942"name": "comment.block.cuda-cpp"18943}18944]18945}18946}18947}18948]18949},18950"6": {18951"name": "meta.qualified_type.cuda-cpp",18952"patterns": [18953{18954"match": "::",18955"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"18956},18957{18958"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",18959"name": "storage.type.$0.cuda-cpp"18960},18961{18962"include": "#attributes_context"18963},18964{18965"include": "#storage_types"18966},18967{18968"include": "#number_literal"18969},18970{18971"include": "#string_context"18972},18973{18974"include": "#comma"18975},18976{18977"include": "#scope_resolution_inner_generated"18978},18979{18980"begin": "<",18981"end": ">",18982"beginCaptures": {18983"0": {18984"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"18985}18986},18987"endCaptures": {18988"0": {18989"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"18990}18991},18992"name": "meta.template.call.cuda-cpp",18993"patterns": [18994{18995"include": "#template_call_context"18996}18997]18998},18999{19000"match": "(?:[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}))*",19001"name": "entity.name.type.cuda-cpp"19002}19003]19004},19005"7": {19006"patterns": [19007{19008"include": "#attributes_context"19009},19010{19011"include": "#number_literal"19012}19013]19014},19015"8": {19016"patterns": [19017{19018"include": "#inline_comment"19019}19020]19021},19022"9": {19023"patterns": [19024{19025"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19026"captures": {19027"1": {19028"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19029},19030"2": {19031"name": "comment.block.cuda-cpp"19032},19033"3": {19034"patterns": [19035{19036"match": "\\*\\/",19037"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19038},19039{19040"match": "\\*",19041"name": "comment.block.cuda-cpp"19042}19043]19044}19045}19046}19047]19048},19049"10": {19050"patterns": [19051{19052"include": "#inline_comment"19053}19054]19055},19056"11": {19057"patterns": [19058{19059"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19060"captures": {19061"1": {19062"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19063},19064"2": {19065"name": "comment.block.cuda-cpp"19066},19067"3": {19068"patterns": [19069{19070"match": "\\*\\/",19071"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19072},19073{19074"match": "\\*",19075"name": "comment.block.cuda-cpp"19076}19077]19078}19079}19080}19081]19082},19083"12": {19084"patterns": [19085{19086"match": "::",19087"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"19088},19089{19090"match": "(?<!\\w)(?:[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}))*(?!\\w)",19091"name": "entity.name.scope-resolution.type.cuda-cpp"19092},19093{19094"include": "#template_call_range"19095}19096]19097},19098"13": {19099"patterns": [19100{19101"include": "#template_call_range"19102}19103]19104},19105"14": {},19106"15": {19107"patterns": [19108{19109"include": "#inline_comment"19110}19111]19112},19113"16": {19114"patterns": [19115{19116"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19117"captures": {19118"1": {19119"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19120},19121"2": {19122"name": "comment.block.cuda-cpp"19123},19124"3": {19125"patterns": [19126{19127"match": "\\*\\/",19128"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19129},19130{19131"match": "\\*",19132"name": "comment.block.cuda-cpp"19133}19134]19135}19136}19137}19138]19139},19140"17": {}19141}19142},19143"undef": {19144"match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))",19145"captures": {19146"1": {19147"name": "keyword.control.directive.undef.cuda-cpp"19148},19149"2": {19150"patterns": [19151{19152"include": "#inline_comment"19153}19154]19155},19156"3": {19157"patterns": [19158{19159"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19160"captures": {19161"1": {19162"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19163},19164"2": {19165"name": "comment.block.cuda-cpp"19166},19167"3": {19168"patterns": [19169{19170"match": "\\*\\/",19171"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19172},19173{19174"match": "\\*",19175"name": "comment.block.cuda-cpp"19176}19177]19178}19179}19180}19181]19182},19183"4": {19184"name": "punctuation.definition.directive.cuda-cpp"19185},19186"5": {19187"patterns": [19188{19189"include": "#inline_comment"19190}19191]19192},19193"6": {19194"patterns": [19195{19196"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19197"captures": {19198"1": {19199"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19200},19201"2": {19202"name": "comment.block.cuda-cpp"19203},19204"3": {19205"patterns": [19206{19207"match": "\\*\\/",19208"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19209},19210{19211"match": "\\*",19212"name": "comment.block.cuda-cpp"19213}19214]19215}19216}19217}19218]19219},19220"7": {19221"name": "entity.name.function.preprocessor.cuda-cpp"19222}19223},19224"name": "meta.preprocessor.undef.cuda-cpp"19225},19226"union_block": {19227"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[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}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",19228"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",19229"beginCaptures": {19230"0": {19231"name": "meta.head.union.cuda-cpp"19232},19233"1": {19234"name": "storage.type.$1.cuda-cpp"19235},19236"2": {19237"patterns": [19238{19239"include": "#inline_comment"19240}19241]19242},19243"3": {19244"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19245},19246"4": {19247"name": "comment.block.cuda-cpp"19248},19249"5": {19250"patterns": [19251{19252"match": "\\*\\/",19253"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19254},19255{19256"match": "\\*",19257"name": "comment.block.cuda-cpp"19258}19259]19260},19261"6": {19262"patterns": [19263{19264"include": "#attributes_context"19265},19266{19267"include": "#number_literal"19268}19269]19270},19271"7": {19272"patterns": [19273{19274"include": "#inline_comment"19275}19276]19277},19278"8": {19279"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19280},19281"9": {19282"name": "comment.block.cuda-cpp"19283},19284"10": {19285"patterns": [19286{19287"match": "\\*\\/",19288"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19289},19290{19291"match": "\\*",19292"name": "comment.block.cuda-cpp"19293}19294]19295},19296"11": {19297"patterns": [19298{19299"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",19300"captures": {19301"1": {19302"name": "storage.type.modifier.final.cuda-cpp"19303},19304"2": {19305"patterns": [19306{19307"include": "#inline_comment"19308}19309]19310},19311"3": {19312"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19313},19314"4": {19315"name": "comment.block.cuda-cpp"19316},19317"5": {19318"patterns": [19319{19320"match": "\\*\\/",19321"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19322},19323{19324"match": "\\*",19325"name": "comment.block.cuda-cpp"19326}19327]19328}19329}19330},19331{19332"match": "((?<!\\w)(?:[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}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",19333"captures": {19334"1": {19335"name": "entity.name.type.union.cuda-cpp"19336},19337"2": {19338"patterns": [19339{19340"include": "#inline_comment"19341}19342]19343},19344"3": {19345"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19346},19347"4": {19348"name": "comment.block.cuda-cpp"19349},19350"5": {19351"patterns": [19352{19353"match": "\\*\\/",19354"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19355},19356{19357"match": "\\*",19358"name": "comment.block.cuda-cpp"19359}19360]19361},19362"6": {19363"name": "storage.type.modifier.final.cuda-cpp"19364},19365"7": {19366"patterns": [19367{19368"include": "#inline_comment"19369}19370]19371},19372"8": {19373"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19374},19375"9": {19376"name": "comment.block.cuda-cpp"19377},19378"10": {19379"patterns": [19380{19381"match": "\\*\\/",19382"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19383},19384{19385"match": "\\*",19386"name": "comment.block.cuda-cpp"19387}19388]19389}19390}19391},19392{19393"match": "DLLEXPORT",19394"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"19395},19396{19397"match": "(?:[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}))*",19398"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"19399}19400]19401},19402"12": {19403"patterns": [19404{19405"include": "#inline_comment"19406}19407]19408},19409"13": {19410"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19411},19412"14": {19413"name": "comment.block.cuda-cpp"19414},19415"15": {19416"patterns": [19417{19418"match": "\\*\\/",19419"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19420},19421{19422"match": "\\*",19423"name": "comment.block.cuda-cpp"19424}19425]19426},19427"16": {19428"patterns": [19429{19430"include": "#inline_comment"19431}19432]19433},19434"17": {19435"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19436},19437"18": {19438"name": "comment.block.cuda-cpp"19439},19440"19": {19441"patterns": [19442{19443"match": "\\*\\/",19444"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19445},19446{19447"match": "\\*",19448"name": "comment.block.cuda-cpp"19449}19450]19451},19452"20": {19453"name": "punctuation.separator.colon.inheritance.cuda-cpp"19454}19455},19456"endCaptures": {19457"1": {19458"name": "punctuation.terminator.statement.cuda-cpp"19459},19460"2": {19461"name": "punctuation.terminator.statement.cuda-cpp"19462}19463},19464"name": "meta.block.union.cuda-cpp",19465"patterns": [19466{19467"begin": "\\G ?",19468"end": "(?:\\{|<%|\\?\\?<|(?=;))",19469"beginCaptures": {},19470"endCaptures": {19471"0": {19472"name": "punctuation.section.block.begin.bracket.curly.union.cuda-cpp"19473}19474},19475"name": "meta.head.union.cuda-cpp",19476"patterns": [19477{19478"include": "#ever_present_context"19479},19480{19481"include": "#inheritance_context"19482},19483{19484"include": "#template_call_range"19485}19486]19487},19488{19489"begin": "(?<=\\{|<%|\\?\\?<)",19490"end": "\\}|%>|\\?\\?>",19491"beginCaptures": {},19492"endCaptures": {19493"0": {19494"name": "punctuation.section.block.end.bracket.curly.union.cuda-cpp"19495}19496},19497"name": "meta.body.union.cuda-cpp",19498"patterns": [19499{19500"include": "#function_pointer"19501},19502{19503"include": "#static_assert"19504},19505{19506"include": "#constructor_inline"19507},19508{19509"include": "#destructor_inline"19510},19511{19512"include": "$self"19513}19514]19515},19516{19517"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",19518"end": "[\\s]*(?=;)",19519"beginCaptures": {},19520"endCaptures": {},19521"name": "meta.tail.union.cuda-cpp",19522"patterns": [19523{19524"include": "$self"19525}19526]19527}19528]19529},19530"union_declare": {19531"match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[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}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[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}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",19532"captures": {19533"1": {19534"name": "storage.type.union.declare.cuda-cpp"19535},19536"2": {19537"patterns": [19538{19539"include": "#inline_comment"19540}19541]19542},19543"3": {19544"patterns": [19545{19546"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19547"captures": {19548"1": {19549"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19550},19551"2": {19552"name": "comment.block.cuda-cpp"19553},19554"3": {19555"patterns": [19556{19557"match": "\\*\\/",19558"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19559},19560{19561"match": "\\*",19562"name": "comment.block.cuda-cpp"19563}19564]19565}19566}19567}19568]19569},19570"4": {19571"name": "entity.name.type.union.cuda-cpp"19572},19573"5": {19574"patterns": [19575{19576"match": "\\*",19577"name": "storage.modifier.pointer.cuda-cpp"19578},19579{19580"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",19581"captures": {19582"1": {19583"patterns": [19584{19585"include": "#inline_comment"19586}19587]19588},19589"2": {19590"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19591},19592"3": {19593"name": "comment.block.cuda-cpp"19594},19595"4": {19596"patterns": [19597{19598"match": "\\*\\/",19599"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19600},19601{19602"match": "\\*",19603"name": "comment.block.cuda-cpp"19604}19605]19606}19607},19608"name": "invalid.illegal.reference-type.cuda-cpp"19609},19610{19611"match": "\\&",19612"name": "storage.modifier.reference.cuda-cpp"19613}19614]19615},19616"6": {19617"patterns": [19618{19619"include": "#inline_comment"19620}19621]19622},19623"7": {19624"patterns": [19625{19626"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19627"captures": {19628"1": {19629"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19630},19631"2": {19632"name": "comment.block.cuda-cpp"19633},19634"3": {19635"patterns": [19636{19637"match": "\\*\\/",19638"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19639},19640{19641"match": "\\*",19642"name": "comment.block.cuda-cpp"19643}19644]19645}19646}19647}19648]19649},19650"8": {19651"patterns": [19652{19653"include": "#inline_comment"19654}19655]19656},19657"9": {19658"patterns": [19659{19660"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19661"captures": {19662"1": {19663"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19664},19665"2": {19666"name": "comment.block.cuda-cpp"19667},19668"3": {19669"patterns": [19670{19671"match": "\\*\\/",19672"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19673},19674{19675"match": "\\*",19676"name": "comment.block.cuda-cpp"19677}19678]19679}19680}19681}19682]19683},19684"10": {19685"patterns": [19686{19687"include": "#inline_comment"19688}19689]19690},19691"11": {19692"patterns": [19693{19694"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19695"captures": {19696"1": {19697"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19698},19699"2": {19700"name": "comment.block.cuda-cpp"19701},19702"3": {19703"patterns": [19704{19705"match": "\\*\\/",19706"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19707},19708{19709"match": "\\*",19710"name": "comment.block.cuda-cpp"19711}19712]19713}19714}19715}19716]19717},19718"12": {19719"name": "variable.other.object.declare.cuda-cpp"19720},19721"13": {19722"patterns": [19723{19724"include": "#inline_comment"19725}19726]19727},19728"14": {19729"patterns": [19730{19731"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",19732"captures": {19733"1": {19734"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"19735},19736"2": {19737"name": "comment.block.cuda-cpp"19738},19739"3": {19740"patterns": [19741{19742"match": "\\*\\/",19743"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"19744},19745{19746"match": "\\*",19747"name": "comment.block.cuda-cpp"19748}19749]19750}19751}19752}19753]19754}19755}19756},19757"using_name": {19758"match": "(using)(?:\\s)+(?!namespace\\b)",19759"captures": {19760"1": {19761"name": "keyword.other.using.directive.cuda-cpp"19762}19763}19764},19765"using_namespace": {19766"begin": "(?<!\\w)(using)(?:\\s)+(namespace)(?:\\s)+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[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}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((?<!\\w)(?:[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}))*(?!\\w))(?=;|\\n)",19767"end": ";",19768"beginCaptures": {19769"1": {19770"name": "keyword.other.using.directive.cuda-cpp"19771},19772"2": {19773"name": "keyword.other.namespace.directive.cuda-cpp storage.type.namespace.directive.cuda-cpp"19774},19775"3": {19776"patterns": [19777{19778"include": "#scope_resolution_namespace_using_inner_generated"19779}19780]19781},19782"4": {19783"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"19784},19785"5": {19786"patterns": [19787{19788"include": "#template_call_range"19789}19790]19791},19792"6": {},19793"7": {19794"name": "entity.name.namespace.cuda-cpp"19795}19796},19797"endCaptures": {19798"0": {19799"name": "punctuation.terminator.statement.cuda-cpp"19800}19801},19802"name": "meta.using-namespace.cuda-cpp"19803},19804"vararg_ellipses": {19805"match": "(?<!\\.)\\.\\.\\.(?!\\.)",19806"name": "punctuation.vararg-ellipses.cuda-cpp"19807},19808"wordlike_operators": {19809"patterns": [19810{19811"match": "(?<!\\w)(?:(?:noexcept)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:compl)|(?:bitor)|(?:or_eq)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:or))(?!\\w)",19812"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.$0.cuda-cpp"19813}19814]19815}19816}19817}1981819819