@codingame/monaco-vscode-api 1.78.6-next.0 → 1.78.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/README.md +1 -2
  2. package/dist/api.js +4 -5
  3. package/dist/assets/{compositepart.css → sidebysideeditor.css} +2 -10
  4. package/dist/default-extensions/bat.js +4 -5
  5. package/dist/default-extensions/clojure.js +3 -4
  6. package/dist/default-extensions/coffeescript.js +4 -5
  7. package/dist/default-extensions/cpp.js +9 -10
  8. package/dist/default-extensions/csharp.js +4 -5
  9. package/dist/default-extensions/css.js +3 -4
  10. package/dist/default-extensions/dart.js +3 -4
  11. package/dist/default-extensions/diff.js +3 -4
  12. package/dist/default-extensions/docker.js +3 -4
  13. package/dist/default-extensions/fsharp.js +4 -5
  14. package/dist/default-extensions/go.js +3 -4
  15. package/dist/default-extensions/groovy.js +4 -5
  16. package/dist/default-extensions/handlebars.js +3 -4
  17. package/dist/default-extensions/hlsl.js +3 -4
  18. package/dist/default-extensions/html.js +5 -6
  19. package/dist/default-extensions/ini.js +4 -5
  20. package/dist/default-extensions/java.js +4 -5
  21. package/dist/default-extensions/javascript.js +7 -8
  22. package/dist/default-extensions/json.js +4 -5
  23. package/dist/default-extensions/julia.js +3 -4
  24. package/dist/default-extensions/latex.js +9 -10
  25. package/dist/default-extensions/less.js +3 -4
  26. package/dist/default-extensions/log.js +2 -3
  27. package/dist/default-extensions/lua.js +3 -4
  28. package/dist/default-extensions/make.js +3 -4
  29. package/dist/default-extensions/markdown-basics.js +4 -5
  30. package/dist/default-extensions/objective-c.js +4 -5
  31. package/dist/default-extensions/perl.js +5 -6
  32. package/dist/default-extensions/php.js +5 -6
  33. package/dist/default-extensions/powershell.js +3 -4
  34. package/dist/default-extensions/pug.js +3 -4
  35. package/dist/default-extensions/python.js +4 -5
  36. package/dist/default-extensions/r.js +3 -4
  37. package/dist/default-extensions/razor.js +3 -4
  38. package/dist/default-extensions/ruby.js +3 -4
  39. package/dist/default-extensions/rust.js +3 -4
  40. package/dist/default-extensions/scss.js +4 -5
  41. package/dist/default-extensions/shaderlab.js +3 -4
  42. package/dist/default-extensions/shellscript.js +3 -4
  43. package/dist/default-extensions/sql.js +3 -4
  44. package/dist/default-extensions/swift.js +4 -5
  45. package/dist/default-extensions/theme-abyss.js +2 -3
  46. package/dist/default-extensions/theme-defaults.js +10 -31
  47. package/dist/default-extensions/theme-kimbie-dark.js +2 -3
  48. package/dist/default-extensions/theme-monokai-dimmed.js +2 -3
  49. package/dist/default-extensions/theme-monokai.js +2 -3
  50. package/dist/default-extensions/theme-quietlight.js +2 -3
  51. package/dist/default-extensions/theme-red.js +2 -3
  52. package/dist/default-extensions/theme-seti.js +2 -5
  53. package/dist/default-extensions/theme-solarized-dark.js +2 -3
  54. package/dist/default-extensions/theme-solarized-light.js +2 -3
  55. package/dist/default-extensions/theme-tomorrow-night-blue.js +2 -3
  56. package/dist/default-extensions/typescript-basics.js +7 -8
  57. package/dist/default-extensions/typescript-language-features.js +6 -0
  58. package/dist/default-extensions/vb.js +4 -5
  59. package/dist/default-extensions/xml.js +5 -6
  60. package/dist/default-extensions/yaml.js +3 -4
  61. package/dist/extension-tools-b68a64de.js +1024 -0
  62. package/dist/extensions.d.ts +2 -18
  63. package/dist/extensions.js +4 -99
  64. package/dist/rollup-extension-directory-plugin.d.ts +2 -5
  65. package/dist/rollup-extension-directory-plugin.js +46 -74
  66. package/dist/rollup-vsix-plugin.d.ts +2 -4
  67. package/dist/rollup-vsix-plugin.js +19 -57
  68. package/dist/service-override/configuration.js +4 -16
  69. package/dist/service-override/files.d.ts +3 -90
  70. package/dist/service-override/files.js +15 -37
  71. package/dist/service-override/layout.js +6 -80
  72. package/dist/service-override/modelEditor.js +1 -3
  73. package/dist/services.d.ts +1 -25
  74. package/dist/services.js +0 -3
  75. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +2 -151
  76. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +1 -4
  77. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +1 -3
  78. package/dist/vscode/vs/platform/tunnel/common/tunnel.js +1 -29
  79. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +4 -4
  80. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +2 -15
  81. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +1 -17
  82. package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +3 -3
  83. package/dist/vscode/vs/workbench/browser/composite.js +1 -49
  84. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1121 -4
  85. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
  86. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
  87. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
  88. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +289 -0
  89. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +2 -50
  90. package/dist/vscode/vs/workbench/common/contextkeys.js +9 -31
  91. package/dist/vscode/vs/workbench/common/editor.js +47 -1
  92. package/dist/vscode/vs/workbench/common/theme.js +25 -25
  93. package/dist/vscode/vs/workbench/common/views.js +1 -276
  94. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +1 -62
  95. package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -8
  96. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +8 -585
  97. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +145 -151
  98. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +3 -79
  99. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +1 -28
  100. package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +10 -10
  101. package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +10 -295
  102. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +1 -98
  103. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +1 -10
  104. package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +1 -51
  105. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +3 -368
  106. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +1 -88
  107. package/dist/vscode/vs/workbench/contrib/files/common/files.js +3 -194
  108. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +1 -79
  109. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +1 -179
  110. package/dist/vscode/vs/workbench/services/activity/common/activity.js +1 -15
  111. package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +13 -13
  112. package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -3
  113. package/dist/vscode/vs/workbench/services/layout/browser/layoutService.js +1 -9
  114. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +7 -7
  115. package/dist/vscode/vs/workbench/services/search/common/search.js +2 -2
  116. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +2 -2
  117. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +2 -2
  118. package/dist/vscode-default-extensions/bat/language-configuration.json.js +2 -0
  119. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.js +2 -0
  120. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js +2 -0
  121. package/dist/vscode-default-extensions/clojure/language-configuration.json.js +2 -0
  122. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js +2 -0
  123. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.js +2 -0
  124. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js +2 -0
  125. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js +2 -0
  126. package/dist/vscode-default-extensions/cpp/language-configuration.json.js +2 -0
  127. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.js +2 -0
  128. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.js +2 -0
  129. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js +2 -0
  130. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js +2 -0
  131. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js +2 -0
  132. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js +2 -0
  133. package/dist/vscode-default-extensions/cpp/syntaxes/{platform.tmLanguage.json.extensionResource.js → platform.tmLanguage.json.js} +2 -2
  134. package/dist/vscode-default-extensions/csharp/language-configuration.json.js +2 -0
  135. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.js +2 -0
  136. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js +2 -0
  137. package/dist/vscode-default-extensions/css/language-configuration.json.js +2 -0
  138. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js +2 -0
  139. package/dist/vscode-default-extensions/dart/language-configuration.json.js +2 -0
  140. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js +2 -0
  141. package/dist/vscode-default-extensions/diff/language-configuration.json.js +2 -0
  142. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js +2 -0
  143. package/dist/vscode-default-extensions/docker/language-configuration.json.js +2 -0
  144. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js +2 -0
  145. package/dist/vscode-default-extensions/fsharp/language-configuration.json.js +2 -0
  146. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js +2 -0
  147. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js +2 -0
  148. package/dist/vscode-default-extensions/go/language-configuration.json.js +2 -0
  149. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js +2 -0
  150. package/dist/vscode-default-extensions/groovy/language-configuration.json.js +2 -0
  151. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.js +2 -0
  152. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js +2 -0
  153. package/dist/vscode-default-extensions/handlebars/language-configuration.json.js +2 -0
  154. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js +2 -0
  155. package/dist/vscode-default-extensions/hlsl/language-configuration.json.js +2 -0
  156. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js +2 -0
  157. package/dist/vscode-default-extensions/html/language-configuration.json.js +2 -0
  158. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.js +2 -0
  159. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js +2 -0
  160. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js +2 -0
  161. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.js +2 -0
  162. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.js +2 -0
  163. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js +2 -0
  164. package/dist/vscode-default-extensions/java/language-configuration.json.js +2 -0
  165. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.js +2 -0
  166. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js +2 -0
  167. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.js +2 -0
  168. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.js +2 -0
  169. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js +2 -0
  170. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js +2 -0
  171. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js +2 -0
  172. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.js +2 -0
  173. package/dist/vscode-default-extensions/json/language-configuration.json.js +2 -0
  174. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js +2 -0
  175. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js +2 -0
  176. package/dist/vscode-default-extensions/julia/language-configuration.json.js +2 -0
  177. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js +2 -0
  178. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js +2 -0
  179. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.js +2 -0
  180. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js +2 -0
  181. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js +2 -0
  182. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js +2 -0
  183. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js +2 -0
  184. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js +2 -0
  185. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js +2 -0
  186. package/dist/vscode-default-extensions/less/language-configuration.json.js +2 -0
  187. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js +2 -0
  188. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js +2 -0
  189. package/dist/vscode-default-extensions/lua/language-configuration.json.js +2 -0
  190. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js +2 -0
  191. package/dist/vscode-default-extensions/make/language-configuration.json.js +2 -0
  192. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js +2 -0
  193. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.js +2 -0
  194. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js +2 -0
  195. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js +2 -0
  196. package/dist/vscode-default-extensions/objective-c/language-configuration.json.js +2 -0
  197. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js +2 -0
  198. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js +2 -0
  199. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.js +2 -0
  200. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.js +2 -0
  201. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js +2 -0
  202. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js +2 -0
  203. package/dist/vscode-default-extensions/php/language-configuration.json.js +2 -0
  204. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.js +2 -0
  205. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js +2 -0
  206. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js +2 -0
  207. package/dist/vscode-default-extensions/powershell/language-configuration.json.js +2 -0
  208. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js +2 -0
  209. package/dist/vscode-default-extensions/pug/language-configuration.json.js +2 -0
  210. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js +2 -0
  211. package/dist/vscode-default-extensions/python/language-configuration.json.js +2 -0
  212. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js +2 -0
  213. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js +2 -0
  214. package/dist/vscode-default-extensions/r/language-configuration.json.js +2 -0
  215. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js +2 -0
  216. package/dist/vscode-default-extensions/razor/language-configuration.json.js +2 -0
  217. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js +2 -0
  218. package/dist/vscode-default-extensions/ruby/language-configuration.json.js +2 -0
  219. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js +2 -0
  220. package/dist/vscode-default-extensions/rust/language-configuration.json.js +2 -0
  221. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js +2 -0
  222. package/dist/vscode-default-extensions/scss/language-configuration.json.js +2 -0
  223. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js +2 -0
  224. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js +2 -0
  225. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.js +2 -0
  226. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js +2 -0
  227. package/dist/vscode-default-extensions/shellscript/language-configuration.json.js +2 -0
  228. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js +2 -0
  229. package/dist/vscode-default-extensions/sql/language-configuration.json.js +2 -0
  230. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js +2 -0
  231. package/dist/vscode-default-extensions/swift/language-configuration.json.js +2 -0
  232. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.js +2 -0
  233. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js +2 -0
  234. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js +2 -0
  235. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js +2 -0
  236. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.js +2 -0
  237. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js +2 -0
  238. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.js +2 -0
  239. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.js +2 -0
  240. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.js +2 -0
  241. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.js +2 -0
  242. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js +2 -0
  243. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.js +2 -0
  244. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js +2 -0
  245. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js +2 -0
  246. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js +2 -0
  247. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js +2 -0
  248. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.js +2 -0
  249. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js +2 -0
  250. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js +2 -0
  251. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js +2 -0
  252. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.js +2 -0
  253. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.js +2 -0
  254. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js +2 -0
  255. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js +2 -0
  256. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js +2 -0
  257. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js +2 -0
  258. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js +2 -0
  259. package/dist/vscode-default-extensions/typescript-language-features/package.json.js +2 -0
  260. package/dist/vscode-default-extensions/vb/language-configuration.json.js +2 -0
  261. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.js +2 -0
  262. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js +2 -0
  263. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js +2 -0
  264. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js +2 -0
  265. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.js +2 -0
  266. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.js +2 -0
  267. package/dist/vscode-default-extensions/yaml/language-configuration.json.js +2 -0
  268. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js +2 -0
  269. package/dist/vscode-services/extHost.js +5 -28
  270. package/dist/vscode-services/missing-services.js +9 -60
  271. package/dist/vscode-services/window.js +5 -23
  272. package/monaco-editor-treemending.patch +819 -819
  273. package/package.json +1 -12
  274. package/dist/assets/activityaction.css +0 -228
  275. package/dist/assets/activitybarpart.css +0 -65
  276. package/dist/assets/basepanelpart.css +0 -221
  277. package/dist/assets/callHierarchy.css +0 -62
  278. package/dist/assets/debugViewlet.css +0 -336
  279. package/dist/assets/explorerviewlet.css +0 -129
  280. package/dist/assets/hover.css +0 -127
  281. package/dist/assets/menubar.css +0 -111
  282. package/dist/assets/menubarControl.css +0 -61
  283. package/dist/assets/panelpart.css +0 -75
  284. package/dist/assets/part.css +0 -109
  285. package/dist/assets/repl.css +0 -145
  286. package/dist/assets/sidebarpart.css +0 -61
  287. package/dist/assets/tunnelView.css +0 -107
  288. package/dist/assets/typeHierarchy.css +0 -62
  289. package/dist/assets/views.css +0 -297
  290. package/dist/default-extensions/references-view.js +0 -8
  291. package/dist/extension-tools-40a69515.js +0 -27412
  292. package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +0 -2
  293. package/dist/service-override/views.d.ts +0 -6641
  294. package/dist/service-override/views.js +0 -177
  295. package/dist/vscode/vs/base/browser/ui/menu/menubar.js +0 -831
  296. package/dist/vscode/vs/base/browser/ui/tree/treeDefaults.js +0 -14
  297. package/dist/vscode/vs/editor/common/services/treeViewsDnd.js +0 -17
  298. package/dist/vscode/vs/editor/common/services/treeViewsDndService.js +0 -3
  299. package/dist/vscode/vs/platform/backup/common/backup.js +0 -7
  300. package/dist/vscode/vs/platform/configuration/common/configurationRegistry.js +0 -10
  301. package/dist/vscode/vs/platform/credentials/common/credentials.js +0 -3
  302. package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +0 -174
  303. package/dist/vscode/vs/platform/files/common/files.js +0 -28
  304. package/dist/vscode/vs/platform/languagePacks/common/languagePacks.js +0 -3
  305. package/dist/vscode/vs/platform/storage/common/storage.js +0 -332
  306. package/dist/vscode/vs/platform/update/common/update.js +0 -3
  307. package/dist/vscode/vs/platform/window/common/window.js +0 -33
  308. package/dist/vscode/vs/workbench/api/browser/mainThreadLocalization.js +0 -33
  309. package/dist/vscode/vs/workbench/api/browser/mainThreadStorage.js +0 -69
  310. package/dist/vscode/vs/workbench/api/browser/mainThreadTreeViews.js +0 -298
  311. package/dist/vscode/vs/workbench/api/browser/viewsExtensionPoint.js +0 -699
  312. package/dist/vscode/vs/workbench/api/common/extHostTreeViews.js +0 -823
  313. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +0 -318
  314. package/dist/vscode/vs/workbench/browser/actions/listCommands.js +0 -602
  315. package/dist/vscode/vs/workbench/browser/actions/windowActions.js +0 -271
  316. package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +0 -250
  317. package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +0 -6
  318. package/dist/vscode/vs/workbench/browser/dnd.js +0 -429
  319. package/dist/vscode/vs/workbench/browser/labels.js +0 -426
  320. package/dist/vscode/vs/workbench/browser/panecomposite.js +0 -158
  321. package/dist/vscode/vs/workbench/browser/part.js +0 -84
  322. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +0 -575
  323. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +0 -784
  324. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +0 -146
  325. package/dist/vscode/vs/workbench/browser/parts/compositeBar.js +0 -687
  326. package/dist/vscode/vs/workbench/browser/parts/compositeBarActions.js +0 -578
  327. package/dist/vscode/vs/workbench/browser/parts/compositePart.js +0 -319
  328. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +0 -381
  329. package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +0 -753
  330. package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +0 -217
  331. package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +0 -600
  332. package/dist/vscode/vs/workbench/browser/parts/views/checkbox.js +0 -80
  333. package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +0 -1486
  334. package/dist/vscode/vs/workbench/browser/parts/views/viewFilter.js +0 -181
  335. package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +0 -1020
  336. package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +0 -562
  337. package/dist/vscode/vs/workbench/browser/parts/views/viewsViewlet.js +0 -109
  338. package/dist/vscode/vs/workbench/common/activity.js +0 -3
  339. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +0 -305
  340. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +0 -378
  341. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +0 -257
  342. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +0 -259
  343. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +0 -337
  344. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +0 -119
  345. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackView.js +0 -954
  346. package/dist/vscode/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -345
  347. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorActions.js +0 -522
  348. package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +0 -166
  349. package/dist/vscode/vs/workbench/contrib/debug/browser/loadedScriptsView.js +0 -629
  350. package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +0 -908
  351. package/dist/vscode/vs/workbench/contrib/debug/browser/replFilter.js +0 -46
  352. package/dist/vscode/vs/workbench/contrib/debug/browser/replViewer.js +0 -330
  353. package/dist/vscode/vs/workbench/contrib/debug/browser/watchExpressionsView.js +0 -411
  354. package/dist/vscode/vs/workbench/contrib/debug/browser/welcomeView.js +0 -85
  355. package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +0 -3
  356. package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +0 -254
  357. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -207
  358. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +0 -1119
  359. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +0 -594
  360. package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +0 -26
  361. package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +0 -708
  362. package/dist/vscode/vs/workbench/contrib/files/browser/views/emptyView.js +0 -88
  363. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +0 -73
  364. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerView.js +0 -793
  365. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +0 -1209
  366. package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +0 -27
  367. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -249
  368. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.js +0 -3
  369. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +0 -10
  370. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -186
  371. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +0 -23
  372. package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +0 -1636
  373. package/dist/vscode/vs/workbench/contrib/scm/common/scm.js +0 -2
  374. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +0 -167
  375. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +0 -244
  376. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +0 -332
  377. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +0 -117
  378. package/dist/vscode/vs/workbench/contrib/webview/browser/webview.js +0 -41
  379. package/dist/vscode/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +0 -20
  380. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +0 -231
  381. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.js +0 -3
  382. package/dist/vscode/vs/workbench/services/activity/browser/activityService.js +0 -94
  383. package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +0 -35
  384. package/dist/vscode/vs/workbench/services/authentication/common/authentication.js +0 -3
  385. package/dist/vscode/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -56
  386. package/dist/vscode/vs/workbench/services/hover/browser/hover.js +0 -3
  387. package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +0 -149
  388. package/dist/vscode/vs/workbench/services/hover/browser/hoverWidget.js +0 -514
  389. package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +0 -764
  390. package/dist/vscode/vs/workbench/services/search/common/ignoreFile.js +0 -102
  391. package/dist/vscode/vs/workbench/services/views/browser/treeViewsService.js +0 -3
  392. package/dist/vscode/vs/workbench/services/views/browser/viewDescriptorService.js +0 -688
  393. package/dist/vscode/vs/workbench/services/views/common/treeViewsService.js +0 -20
  394. package/dist/vscode/vs/workbench/services/views/common/viewContainerModel.js +0 -613
  395. package/dist/vscode-default-extensions/bat/language-configuration.json.extensionResource.js +0 -2
  396. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.extensionResource.js +0 -2
  397. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.extensionResource.js +0 -2
  398. package/dist/vscode-default-extensions/clojure/language-configuration.json.extensionResource.js +0 -2
  399. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.extensionResource.js +0 -2
  400. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.extensionResource.js +0 -2
  401. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.extensionResource.js +0 -2
  402. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.extensionResource.js +0 -2
  403. package/dist/vscode-default-extensions/cpp/language-configuration.json.extensionResource.js +0 -2
  404. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.extensionResource.js +0 -2
  405. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.extensionResource.js +0 -2
  406. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.extensionResource.js +0 -2
  407. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.extensionResource.js +0 -2
  408. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.extensionResource.js +0 -2
  409. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.extensionResource.js +0 -2
  410. package/dist/vscode-default-extensions/csharp/language-configuration.json.extensionResource.js +0 -2
  411. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.extensionResource.js +0 -2
  412. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.extensionResource.js +0 -2
  413. package/dist/vscode-default-extensions/css/language-configuration.json.extensionResource.js +0 -2
  414. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.extensionResource.js +0 -2
  415. package/dist/vscode-default-extensions/dart/language-configuration.json.extensionResource.js +0 -2
  416. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.extensionResource.js +0 -2
  417. package/dist/vscode-default-extensions/diff/language-configuration.json.extensionResource.js +0 -2
  418. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.extensionResource.js +0 -2
  419. package/dist/vscode-default-extensions/docker/language-configuration.json.extensionResource.js +0 -2
  420. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.extensionResource.js +0 -2
  421. package/dist/vscode-default-extensions/fsharp/language-configuration.json.extensionResource.js +0 -2
  422. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.extensionResource.js +0 -2
  423. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.extensionResource.js +0 -2
  424. package/dist/vscode-default-extensions/go/language-configuration.json.extensionResource.js +0 -2
  425. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.extensionResource.js +0 -2
  426. package/dist/vscode-default-extensions/groovy/language-configuration.json.extensionResource.js +0 -2
  427. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.extensionResource.js +0 -2
  428. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.extensionResource.js +0 -2
  429. package/dist/vscode-default-extensions/handlebars/language-configuration.json.extensionResource.js +0 -2
  430. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.extensionResource.js +0 -2
  431. package/dist/vscode-default-extensions/hlsl/language-configuration.json.extensionResource.js +0 -2
  432. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.extensionResource.js +0 -2
  433. package/dist/vscode-default-extensions/html/language-configuration.json.extensionResource.js +0 -2
  434. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.extensionResource.js +0 -2
  435. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.extensionResource.js +0 -2
  436. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.extensionResource.js +0 -2
  437. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.extensionResource.js +0 -2
  438. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.extensionResource.js +0 -2
  439. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.extensionResource.js +0 -2
  440. package/dist/vscode-default-extensions/java/language-configuration.json.extensionResource.js +0 -2
  441. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.extensionResource.js +0 -2
  442. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.extensionResource.js +0 -2
  443. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.extensionResource.js +0 -2
  444. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.extensionResource.js +0 -2
  445. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.extensionResource.js +0 -2
  446. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.extensionResource.js +0 -2
  447. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.extensionResource.js +0 -2
  448. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.extensionResource.js +0 -2
  449. package/dist/vscode-default-extensions/json/language-configuration.json.extensionResource.js +0 -2
  450. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.extensionResource.js +0 -2
  451. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.extensionResource.js +0 -2
  452. package/dist/vscode-default-extensions/julia/language-configuration.json.extensionResource.js +0 -2
  453. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.extensionResource.js +0 -2
  454. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.extensionResource.js +0 -2
  455. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.extensionResource.js +0 -2
  456. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.extensionResource.js +0 -2
  457. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.extensionResource.js +0 -2
  458. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.extensionResource.js +0 -2
  459. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.extensionResource.js +0 -2
  460. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.extensionResource.js +0 -2
  461. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.extensionResource.js +0 -2
  462. package/dist/vscode-default-extensions/less/language-configuration.json.extensionResource.js +0 -2
  463. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.extensionResource.js +0 -2
  464. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.extensionResource.js +0 -2
  465. package/dist/vscode-default-extensions/lua/language-configuration.json.extensionResource.js +0 -2
  466. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.extensionResource.js +0 -2
  467. package/dist/vscode-default-extensions/make/language-configuration.json.extensionResource.js +0 -2
  468. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.extensionResource.js +0 -2
  469. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.extensionResource.js +0 -2
  470. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.extensionResource.js +0 -2
  471. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.extensionResource.js +0 -2
  472. package/dist/vscode-default-extensions/objective-c/language-configuration.json.extensionResource.js +0 -2
  473. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.extensionResource.js +0 -2
  474. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.extensionResource.js +0 -2
  475. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.extensionResource.js +0 -2
  476. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.extensionResource.js +0 -2
  477. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.extensionResource.js +0 -2
  478. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.extensionResource.js +0 -2
  479. package/dist/vscode-default-extensions/php/language-configuration.json.extensionResource.js +0 -2
  480. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.extensionResource.js +0 -2
  481. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.extensionResource.js +0 -2
  482. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.extensionResource.js +0 -2
  483. package/dist/vscode-default-extensions/powershell/language-configuration.json.extensionResource.js +0 -2
  484. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.extensionResource.js +0 -2
  485. package/dist/vscode-default-extensions/pug/language-configuration.json.extensionResource.js +0 -2
  486. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.extensionResource.js +0 -2
  487. package/dist/vscode-default-extensions/python/language-configuration.json.extensionResource.js +0 -2
  488. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.extensionResource.js +0 -2
  489. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.extensionResource.js +0 -2
  490. package/dist/vscode-default-extensions/r/language-configuration.json.extensionResource.js +0 -2
  491. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.extensionResource.js +0 -2
  492. package/dist/vscode-default-extensions/razor/language-configuration.json.extensionResource.js +0 -2
  493. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.extensionResource.js +0 -2
  494. package/dist/vscode-default-extensions/references-view/dist/extension.js.extensionResource.js +0 -2
  495. package/dist/vscode-default-extensions/references-view/package.json.js +0 -2
  496. package/dist/vscode-default-extensions/ruby/language-configuration.json.extensionResource.js +0 -2
  497. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.extensionResource.js +0 -2
  498. package/dist/vscode-default-extensions/rust/language-configuration.json.extensionResource.js +0 -2
  499. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.extensionResource.js +0 -2
  500. package/dist/vscode-default-extensions/scss/language-configuration.json.extensionResource.js +0 -2
  501. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.extensionResource.js +0 -2
  502. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.extensionResource.js +0 -2
  503. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.extensionResource.js +0 -2
  504. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.extensionResource.js +0 -2
  505. package/dist/vscode-default-extensions/shellscript/language-configuration.json.extensionResource.js +0 -2
  506. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.extensionResource.js +0 -2
  507. package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +0 -2
  508. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.extensionResource.js +0 -2
  509. package/dist/vscode-default-extensions/swift/language-configuration.json.extensionResource.js +0 -2
  510. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.extensionResource.js +0 -2
  511. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.extensionResource.js +0 -2
  512. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.extensionResource.js +0 -2
  513. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-dark.svg.extensionResource.js +0 -2
  514. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-light.svg.extensionResource.js +0 -2
  515. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-dark.svg.extensionResource.js +0 -2
  516. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-light.svg.extensionResource.js +0 -2
  517. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-dark.svg.extensionResource.js +0 -2
  518. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-light.svg.extensionResource.js +0 -2
  519. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-dark.svg.extensionResource.js +0 -2
  520. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-light.svg.extensionResource.js +0 -2
  521. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-dark.svg.extensionResource.js +0 -2
  522. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-light.svg.extensionResource.js +0 -2
  523. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.extensionResource.js +0 -2
  524. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.extensionResource.js +0 -2
  525. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.extensionResource.js +0 -2
  526. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.extensionResource.js +0 -2
  527. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.extensionResource.js +0 -2
  528. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.extensionResource.js +0 -2
  529. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.extensionResource.js +0 -2
  530. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.extensionResource.js +0 -2
  531. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.extensionResource.js +0 -2
  532. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.extensionResource.js +0 -2
  533. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.extensionResource.js +0 -2
  534. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.extensionResource.js +0 -2
  535. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.extensionResource.js +0 -2
  536. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.extensionResource.js +0 -2
  537. package/dist/vscode-default-extensions/theme-seti/icons/seti.woff.extensionResource.js +0 -2
  538. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.extensionResource.js +0 -2
  539. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.extensionResource.js +0 -2
  540. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.extensionResource.js +0 -2
  541. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.extensionResource.js +0 -2
  542. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.extensionResource.js +0 -2
  543. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.extensionResource.js +0 -2
  544. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.extensionResource.js +0 -2
  545. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.extensionResource.js +0 -2
  546. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.extensionResource.js +0 -2
  547. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.extensionResource.js +0 -2
  548. package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +0 -2
  549. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.extensionResource.js +0 -2
  550. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.extensionResource.js +0 -2
  551. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.extensionResource.js +0 -2
  552. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.extensionResource.js +0 -2
  553. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.extensionResource.js +0 -2
  554. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.extensionResource.js +0 -2
  555. package/dist/vscode-default-extensions/yaml/language-configuration.json.extensionResource.js +0 -2
  556. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.extensionResource.js +0 -2
  557. package/dist/vscode-services/l10n.js +0 -26
@@ -1,2 +0,0 @@
1
- var cudaCpp_tmLanguage_json = "{\"information_for_contributors\":[\"This file has been converted from https://github.com/NVIDIA/cuda-cpp-grammar/blob/master/syntaxes/cuda-cpp.tmLanguage.json\",\"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\"Once accepted there, we are happy to receive an update request.\"],\"version\":\"https://github.com/NVIDIA/cuda-cpp-grammar/commit/81e88eaec5170aa8585736c63627c73e3589998c\",\"name\":\"CUDA C++\",\"scopeName\":\"source.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#constructor_root\"},{\"include\":\"#destructor_root\"},{\"include\":\"#function_definition\"},{\"include\":\"#operator_overload\"},{\"include\":\"#using_namespace\"},{\"include\":\"#type_alias\"},{\"include\":\"#using_name\"},{\"include\":\"#namespace_alias\"},{\"include\":\"#namespace_block\"},{\"include\":\"#extern_block\"},{\"include\":\"#typedef_class\"},{\"include\":\"#typedef_struct\"},{\"include\":\"#typedef_union\"},{\"include\":\"#misc_keywords\"},{\"include\":\"#standard_declares\"},{\"include\":\"#class_block\"},{\"include\":\"#struct_block\"},{\"include\":\"#union_block\"},{\"include\":\"#enum_block\"},{\"include\":\"#template_isolated_definition\"},{\"include\":\"#template_definition\"},{\"include\":\"#access_control_keywords\"},{\"include\":\"#block\"},{\"include\":\"#static_assert\"},{\"include\":\"#assembly\"},{\"include\":\"#function_pointer\"},{\"include\":\"#evaluation_context\"}],\"repository\":{\"access_control_keywords\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\\\s)+)?(:))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"storage.type.modifier.access.control.$4.cuda-cpp\"},\"4\":{},\"5\":{\"name\":\"punctuation.separator.colon.access.control.cuda-cpp\"}}},\"alignas_attribute\":{\"begin\":\"alignas\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.begin.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.end.cuda-cpp\"}},\"name\":\"support.other.attribute.cuda-cpp\",\"patterns\":[{\"include\":\"#attributes_context\"},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{},\"endCaptures\":{},\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#string_context\"}]},{\"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))\",\"captures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"},\"2\":{\"name\":\"entity.name.namespace.cuda-cpp\"}}},{\"match\":\",\",\"name\":\"punctuation.separator.attribute.cuda-cpp\"},{\"match\":\":\",\"name\":\"punctuation.accessor.attribute.cuda-cpp\"},{\"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)(?=::)\",\"name\":\"entity.name.namespace.cuda-cpp\"},{\"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)\",\"name\":\"entity.other.attribute.$0.cuda-cpp\"},{\"include\":\"#number_literal\"}]},\"alignas_operator\":{\"begin\":\"((?<!\\\\w)alignas(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.alignas.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.alignas.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.alignas.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.alignas\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"alignof_operator\":{\"begin\":\"((?<!\\\\w)alignof(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.alignof.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.alignof.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.alignof.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.alignof\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"assembly\":{\"begin\":\"(\\\\b(?:__asm__|asm)\\\\b)(?:(?:\\\\s)+)?((?:volatile)?)\",\"end\":\"(?!\\\\G)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.asm.cuda-cpp\"},\"2\":{\"name\":\"storage.modifier.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.asm.cuda-cpp\",\"patterns\":[{\"match\":\"^((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?:(?:\\\\n)|$)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"include\":\"#comments\"},{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.bracket.round.assembly.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.bracket.round.assembly.cuda-cpp\"}},\"patterns\":[{\"begin\":\"(R?)(\\\")\",\"end\":\"\\\"\",\"beginCaptures\":{\"1\":{\"name\":\"meta.encoding.cuda-cpp\"},\"2\":{\"name\":\"punctuation.definition.string.begin.assembly.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.assembly.cuda-cpp\"}},\"name\":\"string.quoted.double.cuda-cpp\",\"contentName\":\"meta.embedded.assembly\",\"patterns\":[{\"include\":\"source.asm\"},{\"include\":\"source.x86\"},{\"include\":\"source.x86_64\"},{\"include\":\"source.arm\"},{\"include\":\"#backslash_escapes\"},{\"include\":\"#string_escaped_char\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.bracket.round.assembly.inner.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.bracket.round.assembly.inner.cuda-cpp\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"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)))\\\\]\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.other.asm.label.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\":\",\"name\":\"punctuation.separator.delimiter.colon.assembly.cuda-cpp\"},{\"include\":\"#comments\"}]}]},\"assignment_operator\":{\"match\":\"\\\\=\",\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"attributes_context\":{\"patterns\":[{\"include\":\"#cpp_attributes\"},{\"include\":\"#gcc_attributes\"},{\"include\":\"#ms_attributes\"},{\"include\":\"#alignas_attribute\"}]},\"backslash_escapes\":{\"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} )\",\"name\":\"constant.character.escape\"},\"block\":{\"begin\":\"{\",\"end\":\"}|(?=\\\\s*#\\\\s*(?:elif|else|endif)\\\\b)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.cuda-cpp\"}},\"name\":\"meta.block.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},\"block_comment\":{\"begin\":\"\\\\s*+(\\\\/\\\\*)\",\"end\":\"\\\\*\\\\/\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.begin.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.cuda-cpp\"}},\"name\":\"comment.block.cuda-cpp\"},\"builtin_storage_type_initilizer\":{\"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)(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp\"},\"2\":{\"name\":\"storage.type.cuda-cpp storage.type.built-in.cuda-cpp\"},\"3\":{\"name\":\"support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp\"},\"4\":{\"name\":\"support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp\"},\"5\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.initializer.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.initializer.cuda-cpp\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"case_statement\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)case(?!\\\\w))\",\"end\":\":\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"keyword.control.case.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.colon.case.cuda-cpp\"}},\"name\":\"meta.conditional.case.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"},{\"include\":\"#c_conditional_context\"}]},\"class_block\":{\"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)))(:(?!:)))?)\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.class.cuda-cpp\"},\"1\":{\"name\":\"storage.type.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"((?<!\\\\w)final(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\",\"captures\":{\"1\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"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))))?(?=:|{|$)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.class.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\"DLLEXPORT\",\"name\":\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"20\":{\"name\":\"punctuation.separator.colon.inheritance.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.class.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.class.cuda-cpp\"}},\"name\":\"meta.head.class.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#inheritance_context\"},{\"include\":\"#template_call_range\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.class.cuda-cpp\"}},\"name\":\"meta.body.class.cuda-cpp\",\"patterns\":[{\"include\":\"#function_pointer\"},{\"include\":\"#static_assert\"},{\"include\":\"#constructor_inline\"},{\"include\":\"#destructor_inline\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.class.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"class_declare\":{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.class.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.class.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"comma\":{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"},\"comma_in_template_argument\":{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.comma.template.argument.cuda-cpp\"},\"comments\":{\"patterns\":[{\"begin\":\"^(?:(?:\\\\s)+)?+(\\\\/\\\\/[!\\\\/]+)\",\"end\":\"(?<=\\\\n)(?<!\\\\\\\\\\\\n)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.documentation.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"comment.line.double-slash.documentation.cuda-cpp\",\"patterns\":[{\"include\":\"#line_continuation_character\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@](?:a|em|e))(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.italic.doxygen.cuda-cpp\"}}},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]b)(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.bold.doxygen.cuda-cpp\"}}},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@](?:c|p))(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.inline.raw.string.cuda-cpp\"}}},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]param)(?:\\\\s*\\\\[((?:,?(?:(?:\\\\s)+)?(?:in|out)(?:(?:\\\\s)+)?)+)\\\\])?(?:\\\\s)+(\\\\b\\\\w+\\\\b)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"patterns\":[{\"match\":\"in|out\",\"name\":\"keyword.other.parameter.direction.$0.cuda-cpp\"}]},\"3\":{\"name\":\"variable.parameter.cuda-cpp\"}}},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"(?:\\\\b[A-Z]+:|@[a-z_]+:)\",\"name\":\"storage.type.class.gtkdoc.cuda-cpp\"}]},{\"match\":\"(\\\\/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*\\\\/)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.begin.documentation.cuda-cpp\"},\"2\":{\"patterns\":[{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@](?:a|em|e))(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.italic.doxygen.cuda-cpp\"}}},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]b)(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.bold.doxygen.cuda-cpp\"}}},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@](?:c|p))(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.inline.raw.string.cuda-cpp\"}}},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]param)(?:\\\\s*\\\\[((?:,?(?:(?:\\\\s)+)?(?:in|out)(?:(?:\\\\s)+)?)+)\\\\])?(?:\\\\s)+(\\\\b\\\\w+\\\\b)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"patterns\":[{\"match\":\"in|out\",\"name\":\"keyword.other.parameter.direction.$0.cuda-cpp\"}]},\"3\":{\"name\":\"variable.parameter.cuda-cpp\"}}},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"(?:\\\\b[A-Z]+:|@[a-z_]+:)\",\"name\":\"storage.type.class.gtkdoc.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.definition.comment.end.documentation.cuda-cpp\"}},\"name\":\"comment.block.documentation.cuda-cpp\"},{\"begin\":\"(?:(?:\\\\s)+)?+\\\\/\\\\*[!*]+(?:(?:(?:\\\\n)|$)|(?=\\\\s))\",\"end\":\"[!*]*\\\\*\\\\/\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.documentation.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.documentation.cuda-cpp\"}},\"name\":\"comment.block.documentation.cuda-cpp\",\"patterns\":[{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@](?:a|em|e))(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.italic.doxygen.cuda-cpp\"}}},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]b)(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.bold.doxygen.cuda-cpp\"}}},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@](?:c|p))(?:\\\\s)+(\\\\S+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"name\":\"markup.inline.raw.string.cuda-cpp\"}}},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"((?<=[\\\\s*!\\\\/])[\\\\\\\\@]param)(?:\\\\s*\\\\[((?:,?(?:(?:\\\\s)+)?(?:in|out)(?:(?:\\\\s)+)?)+)\\\\])?(?:\\\\s)+(\\\\b\\\\w+\\\\b)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.doxygen.cuda-cpp\"},\"2\":{\"patterns\":[{\"match\":\"in|out\",\"name\":\"keyword.other.parameter.direction.$0.cuda-cpp\"}]},\"3\":{\"name\":\"variable.parameter.cuda-cpp\"}}},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"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(?:\\\\{[^}]*\\\\})?\",\"name\":\"storage.type.class.doxygen.cuda-cpp\"},{\"match\":\"(?:\\\\b[A-Z]+:|@[a-z_]+:)\",\"name\":\"storage.type.class.gtkdoc.cuda-cpp\"}]},{\"include\":\"#emacs_file_banner\"},{\"include\":\"#block_comment\"},{\"include\":\"#line_comment\"},{\"include\":\"#invalid_comment_end\"}]},\"constructor_inline\":{\"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)(?=\\\\())\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.function.definition.special.constructor.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"patterns\":[{\"include\":\"#functional_specifiers_pre_parameters\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"12\":{\"name\":\"comment.block.cuda-cpp\"},\"13\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"14\":{\"name\":\"storage.type.modifier.calling-convention.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"17\":{\"name\":\"comment.block.cuda-cpp\"},\"18\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"19\":{\"name\":\"entity.name.function.constructor.cuda-cpp entity.name.function.definition.special.constructor.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cuda-cpp\"}},\"name\":\"meta.head.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"match\":\"(\\\\=)((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?:(default)|(delete))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"keyword.other.default.constructor.cuda-cpp\"},\"7\":{\"name\":\"keyword.other.delete.constructor.cuda-cpp\"}}},{\"include\":\"#functional_specifiers_pre_parameters\"},{\"begin\":\":\",\"end\":\"(?=\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.initializers.cuda-cpp\"}},\"endCaptures\":{},\"patterns\":[{\"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)*+)?(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.call.initializer.cuda-cpp\"},\"2\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"3\":{},\"4\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp\"}},\"contentName\":\"meta.parameter.initialization\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"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))(\\\\{)\",\"end\":\"\\\\}\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.call.initializer.cuda-cpp\"},\"2\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp\"}},\"contentName\":\"meta.parameter.initialization\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"},{\"include\":\"#comments\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.special.constructor.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.end.bracket.round.special.constructor.cuda-cpp\"}},\"contentName\":\"meta.function.definition.parameters.special.constructor\",\"patterns\":[{\"include\":\"#function_parameter_context\"},{\"include\":\"#evaluation_context\"}]},{\"match\":\"((?:(?:final)|(?:override)))+\",\"captures\":{\"1\":{\"name\":\"keyword.operator.$1.cuda-cpp\"}}},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cuda-cpp\"}},\"name\":\"meta.body.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"constructor_root\":{\"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)))(?=\\\\())\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.function.definition.special.constructor.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"storage.type.modifier.calling-convention.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.constructor.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.constructor.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"11\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"12\":{},\"13\":{\"patterns\":[{\"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}))*(?=:)\",\"name\":\"entity.name.type.constructor.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.function.definition.special.constructor.cuda-cpp\"},{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.constructor.cuda-cpp\"}]},\"14\":{},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"17\":{\"name\":\"comment.block.cuda-cpp\"},\"18\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"21\":{\"name\":\"comment.block.cuda-cpp\"},\"22\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"23\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"24\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"25\":{\"name\":\"comment.block.cuda-cpp\"},\"26\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{},\"name\":\"meta.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cuda-cpp\"}},\"name\":\"meta.head.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"match\":\"(\\\\=)((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?:(default)|(delete))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"keyword.other.default.constructor.cuda-cpp\"},\"7\":{\"name\":\"keyword.other.delete.constructor.cuda-cpp\"}}},{\"include\":\"#functional_specifiers_pre_parameters\"},{\"begin\":\":\",\"end\":\"(?=\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.initializers.cuda-cpp\"}},\"endCaptures\":{},\"patterns\":[{\"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)*+)?(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.call.initializer.cuda-cpp\"},\"2\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"3\":{},\"4\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp\"}},\"contentName\":\"meta.parameter.initialization\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"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))(\\\\{)\",\"end\":\"\\\\}\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.call.initializer.cuda-cpp\"},\"2\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp\"}},\"contentName\":\"meta.parameter.initialization\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"},{\"include\":\"#comments\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.special.constructor.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.end.bracket.round.special.constructor.cuda-cpp\"}},\"contentName\":\"meta.function.definition.parameters.special.constructor\",\"patterns\":[{\"include\":\"#function_parameter_context\"},{\"include\":\"#evaluation_context\"}]},{\"match\":\"((?:(?:final)|(?:override)))+\",\"captures\":{\"1\":{\"name\":\"keyword.operator.$1.cuda-cpp\"}}},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cuda-cpp\"}},\"name\":\"meta.body.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.function.definition.special.constructor.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"control_flow_keywords\":{\"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))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.control.$3.cuda-cpp\"}}},\"cpp_attributes\":{\"begin\":\"\\\\[\\\\[\",\"end\":\"\\\\]\\\\]\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.begin.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.end.cuda-cpp\"}},\"name\":\"support.other.attribute.cuda-cpp\",\"patterns\":[{\"include\":\"#attributes_context\"},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{},\"endCaptures\":{},\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#string_context\"}]},{\"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))\",\"captures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"},\"2\":{\"name\":\"entity.name.namespace.cuda-cpp\"}}},{\"match\":\",\",\"name\":\"punctuation.separator.attribute.cuda-cpp\"},{\"match\":\":\",\"name\":\"punctuation.accessor.attribute.cuda-cpp\"},{\"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)(?=::)\",\"name\":\"entity.name.namespace.cuda-cpp\"},{\"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)\",\"name\":\"entity.other.attribute.$0.cuda-cpp\"},{\"include\":\"#number_literal\"}]},\"curly_initializer\":{\"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)))(\\\\{)\",\"end\":\"\\\\}\",\"beginCaptures\":{\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"12\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"13\":{},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"16\":{\"name\":\"comment.block.cuda-cpp\"},\"17\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"18\":{},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"21\":{\"name\":\"comment.block.cuda-cpp\"},\"22\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"23\":{\"name\":\"punctuation.section.arguments.begin.bracket.curly.initializer.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.curly.initializer.cuda-cpp\"}},\"name\":\"meta.initialization.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"},{\"include\":\"#comma\"}]},\"d9bc4796b0b_module_import\":{\"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)+)?(;?)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.control.directive.import.cuda-cpp\"},\"5\":{\"name\":\"string.quoted.other.lt-gt.include.cuda-cpp\"},\"6\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"7\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"name\":\"string.quoted.double.include.cuda-cpp\"},\"11\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"12\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"15\":{\"name\":\"entity.name.other.preprocessor.macro.include.cuda-cpp\"},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"18\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"19\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"20\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"21\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"22\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.preprocessor.import.cuda-cpp\"},\"d9bc4796b0b_preprocessor_number_literal\":{\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])*\",\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"$\",\"beginCaptures\":{},\"endCaptures\":{},\"patterns\":[{\"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))?$\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.hexadecimal.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\"},\"5\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"7\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.cuda-cpp\"},\"8\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.cuda-cpp\"},\"9\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.cuda-cpp\"},\"10\":{\"name\":\"constant.numeric.exponent.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"11\":{\"name\":\"keyword.other.unit.suffix.floating-point.cuda-cpp\"}}},{\"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))?$\",\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"3\":{\"name\":\"constant.numeric.decimal.point.cuda-cpp\"},\"4\":{\"name\":\"constant.numeric.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"5\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"6\":{\"name\":\"keyword.other.unit.exponent.decimal.cuda-cpp\"},\"7\":{\"name\":\"keyword.operator.plus.exponent.decimal.cuda-cpp\"},\"8\":{\"name\":\"keyword.operator.minus.exponent.decimal.cuda-cpp\"},\"9\":{\"name\":\"constant.numeric.exponent.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"10\":{\"name\":\"keyword.other.unit.suffix.floating-point.cuda-cpp\"}}},{\"match\":\"(\\\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?$\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.binary.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.binary.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"}}},{\"match\":\"(\\\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?$\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.octal.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.octal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"}}},{\"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))?$\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.hexadecimal.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.cuda-cpp\"},\"5\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.cuda-cpp\"},\"6\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.cuda-cpp\"},\"7\":{\"name\":\"constant.numeric.exponent.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"8\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"}}},{\"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))?$\",\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"3\":{\"name\":\"keyword.other.unit.exponent.decimal.cuda-cpp\"},\"4\":{\"name\":\"keyword.operator.plus.exponent.decimal.cuda-cpp\"},\"5\":{\"name\":\"keyword.operator.minus.exponent.decimal.cuda-cpp\"},\"6\":{\"name\":\"constant.numeric.exponent.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"7\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"}}},{\"match\":\"(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])+\",\"name\":\"invalid.illegal.constant.numeric.cuda-cpp\"}]}]}}},\"decltype\":{\"begin\":\"((?<!\\\\w)decltype(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.other.decltype.cuda-cpp storage.type.decltype.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.decltype.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.decltype.cuda-cpp\"}},\"contentName\":\"meta.arguments.decltype\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"decltype_specifier\":{\"begin\":\"((?<!\\\\w)decltype(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.other.decltype.cuda-cpp storage.type.decltype.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.decltype.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.decltype.cuda-cpp\"}},\"contentName\":\"meta.arguments.decltype\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"default_statement\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)default(?!\\\\w))\",\"end\":\":\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"keyword.control.default.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.colon.case.default.cuda-cpp\"}},\"name\":\"meta.conditional.case.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"},{\"include\":\"#c_conditional_context\"}]},\"destructor_inline\":{\"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)(?=\\\\())\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.function.definition.special.member.destructor.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"7\":{\"name\":\"comment.block.cuda-cpp\"},\"8\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"9\":{\"name\":\"storage.type.modifier.calling-convention.cuda-cpp\"},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"12\":{\"name\":\"comment.block.cuda-cpp\"},\"13\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"14\":{\"patterns\":[{\"include\":\"#functional_specifiers_pre_parameters\"}]},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"17\":{\"name\":\"comment.block.cuda-cpp\"},\"18\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"19\":{\"name\":\"entity.name.function.destructor.cuda-cpp entity.name.function.definition.special.member.destructor.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cuda-cpp\"}},\"name\":\"meta.head.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"match\":\"(\\\\=)((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?:(default)|(delete))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"keyword.other.default.constructor.cuda-cpp\"},\"7\":{\"name\":\"keyword.other.delete.constructor.cuda-cpp\"}}},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cuda-cpp\"}},\"contentName\":\"meta.function.definition.parameters.special.member.destructor\",\"patterns\":[]},{\"match\":\"((?:(?:final)|(?:override)))+\",\"captures\":{\"1\":{\"name\":\"keyword.operator.wordlike.cuda-cpp keyword.operator.$1.cuda-cpp\"}}},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cuda-cpp\"}},\"name\":\"meta.body.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"destructor_root\":{\"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)))(?=\\\\())\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.function.definition.special.member.destructor.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"storage.type.modifier.calling-convention.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.destructor.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.destructor.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"11\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"12\":{},\"13\":{\"patterns\":[{\"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}))*(?=:)\",\"name\":\"entity.name.type.destructor.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.function.definition.special.member.destructor.cuda-cpp\"},{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.destructor.cuda-cpp\"}]},\"14\":{},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"17\":{\"name\":\"comment.block.cuda-cpp\"},\"18\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"21\":{\"name\":\"comment.block.cuda-cpp\"},\"22\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"23\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"24\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"25\":{\"name\":\"comment.block.cuda-cpp\"},\"26\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{},\"name\":\"meta.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cuda-cpp\"}},\"name\":\"meta.head.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"match\":\"(\\\\=)((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?:(default)|(delete))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"keyword.other.default.constructor.cuda-cpp\"},\"7\":{\"name\":\"keyword.other.delete.constructor.cuda-cpp\"}}},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cuda-cpp\"}},\"contentName\":\"meta.function.definition.parameters.special.member.destructor\",\"patterns\":[]},{\"match\":\"((?:(?:final)|(?:override)))+\",\"captures\":{\"1\":{\"name\":\"keyword.operator.wordlike.cuda-cpp keyword.operator.$1.cuda-cpp\"}}},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cuda-cpp\"}},\"name\":\"meta.body.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.function.definition.special.member.destructor.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"diagnostic\":{\"begin\":\"(^((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(#)(?:(?:\\\\s)+)?((?:error|warning)))\\\\b(?:(?:\\\\s)+)?\",\"end\":\"(?<!\\\\\\\\)(?=\\\\n)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.directive.diagnostic.$7.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"},\"7\":{}},\"endCaptures\":{},\"name\":\"meta.preprocessor.diagnostic.$reference(directive).cuda-cpp\",\"patterns\":[{\"begin\":\"\\\"\",\"end\":\"(?:(\\\")|(?<!\\\\\\\\)(?=\\\\n))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"string.quoted.double.cuda-cpp\",\"patterns\":[{\"include\":\"#line_continuation_character\"}]},{\"begin\":\"'\",\"end\":\"(?:(')|(?<!\\\\\\\\)(?=\\\\n))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"string.quoted.single.cuda-cpp\",\"patterns\":[{\"include\":\"#line_continuation_character\"}]},{\"begin\":\"[^'\\\"]\",\"end\":\"(?<!\\\\\\\\)(?=\\\\n)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"string.unquoted.cuda-cpp\",\"patterns\":[{\"include\":\"#line_continuation_character\"},{\"include\":\"#comments\"}]}]},\"emacs_file_banner\":{\"match\":\"(?:(^(?:(?:\\\\s)+)?((\\\\/\\\\/)(?:(?:\\\\s)+)?((?:[#;\\\\/=*C~]+)++(?![#;\\\\/=*C~]))(?:(?:\\\\s)+)?.+(?:(?:\\\\s)+)?\\\\4(?:(?:\\\\s)+)?(?:\\\\n|$)))|(^(?:(?:\\\\s)+)?((\\\\/\\\\*)(?:(?:\\\\s)+)?((?:[#;\\\\/=*C~]+)++(?![#;\\\\/=*C~]))(?:(?:\\\\s)+)?.+(?:(?:\\\\s)+)?\\\\8(?:(?:\\\\s)+)?\\\\*\\\\/)))\",\"captures\":{\"1\":{\"name\":\"meta.toc-list.banner.double-slash.cuda-cpp\"},\"2\":{\"name\":\"comment.line.double-slash.cuda-cpp\"},\"3\":{\"name\":\"punctuation.definition.comment.cuda-cpp\"},\"4\":{\"name\":\"meta.banner.character.cuda-cpp\"},\"5\":{\"name\":\"meta.toc-list.banner.block.cuda-cpp\"},\"6\":{\"name\":\"comment.line.banner.cuda-cpp\"},\"7\":{\"name\":\"punctuation.definition.comment.cuda-cpp\"},\"8\":{\"name\":\"meta.banner.character.cuda-cpp\"}}},\"empty_square_brackets\":{\"name\":\"storage.modifier.array.bracket.square\",\"match\":\"(?<!delete)\\\\[(?:(?:\\\\s)+)?\\\\]\"},\"enum_block\":{\"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)))?\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.enum.cuda-cpp\"},\"1\":{\"name\":\"storage.type.enum.cuda-cpp\"},\"2\":{\"name\":\"storage.type.enum.enum-key.$2.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"4\":{\"name\":\"entity.name.type.enum.cuda-cpp\"},\"5\":{\"name\":\"punctuation.separator.colon.type-specifier.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#scope_resolution_inner_generated\"}]},\"7\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},\"8\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"9\":{},\"10\":{\"name\":\"entity.name.scope-resolution.cuda-cpp\"},\"11\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"12\":{},\"13\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},\"14\":{\"name\":\"storage.type.integral.$14.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.enum.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.enum.cuda-cpp\"}},\"name\":\"meta.head.enum.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.enum.cuda-cpp\"}},\"name\":\"meta.body.enum.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#enumerator_list\"},{\"include\":\"#comments\"},{\"include\":\"#comma\"},{\"include\":\"#semicolon\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.enum.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"enum_declare\":{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.enum.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.enum.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"enumerator_list\":{\"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))|(?=\\\\}[^']))|(?=(?:\\\\/\\\\/|\\\\/\\\\*)))\",\"captures\":{\"1\":{\"name\":\"variable.other.enummember.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"4\":{\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"5\":{\"patterns\":[{\"include\":\"#comma\"},{\"include\":\"#semicolon\"}]}},\"name\":\"meta.enum.definition.cuda-cpp\"},\"evaluation_context\":{\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#string_context\"},{\"include\":\"#number_literal\"},{\"include\":\"#method_access\"},{\"include\":\"#member_access\"},{\"include\":\"#predefined_macros\"},{\"include\":\"#operators\"},{\"include\":\"#memory_operators\"},{\"include\":\"#wordlike_operators\"},{\"include\":\"#type_casting_operators\"},{\"include\":\"#control_flow_keywords\"},{\"include\":\"#exception_keywords\"},{\"include\":\"#the_this_keyword\"},{\"include\":\"#language_constants\"},{\"include\":\"#builtin_storage_type_initilizer\"},{\"include\":\"#qualifiers_and_specifiers_post_parameters\"},{\"include\":\"#functional_specifiers_pre_parameters\"},{\"include\":\"#storage_types\"},{\"include\":\"#lambdas\"},{\"include\":\"#attributes_context\"},{\"include\":\"#parentheses\"},{\"include\":\"#function_call\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"include\":\"#square_brackets\"},{\"include\":\"#semicolon\"},{\"include\":\"#comma\"}]},\"ever_present_context\":{\"patterns\":[{\"include\":\"#pragma_mark\"},{\"include\":\"#pragma\"},{\"include\":\"#include\"},{\"include\":\"#line\"},{\"include\":\"#diagnostic\"},{\"include\":\"#undef\"},{\"include\":\"#preprocessor_conditional_range\"},{\"include\":\"#single_line_macro\"},{\"include\":\"#macro\"},{\"include\":\"#preprocessor_conditional_standalone\"},{\"include\":\"#macro_argument\"},{\"include\":\"#comments\"},{\"include\":\"#line_continuation_character\"}]},\"exception_keywords\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.control.exception.$3.cuda-cpp\"}}},\"extern_block\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(extern)(?=\\\\s*\\\\\\\")\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.extern.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"storage.type.extern.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.extern.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.extern.cuda-cpp\"}},\"name\":\"meta.head.extern.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.extern.cuda-cpp\"}},\"name\":\"meta.body.extern.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.extern.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]},{\"include\":\"$self\"}]},\"function_body_context\":{\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#using_namespace\"},{\"include\":\"#type_alias\"},{\"include\":\"#using_name\"},{\"include\":\"#namespace_alias\"},{\"include\":\"#typedef_class\"},{\"include\":\"#typedef_struct\"},{\"include\":\"#typedef_union\"},{\"include\":\"#misc_keywords\"},{\"include\":\"#standard_declares\"},{\"include\":\"#class_block\"},{\"include\":\"#struct_block\"},{\"include\":\"#union_block\"},{\"include\":\"#enum_block\"},{\"include\":\"#access_control_keywords\"},{\"include\":\"#block\"},{\"include\":\"#static_assert\"},{\"include\":\"#assembly\"},{\"include\":\"#function_pointer\"},{\"include\":\"#switch_statement\"},{\"include\":\"#goto_statement\"},{\"include\":\"#evaluation_context\"},{\"include\":\"#label\"}]},\"function_call\":{\"begin\":\"((::)?(?:(?!\\\\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)*+)?(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_function_call_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.function.call.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"11\":{},\"12\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.function.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.function.call.cuda-cpp\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"function_definition\":{\"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)))(?=\\\\()\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.function.definition.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"storage.type.template.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"11\":{\"patterns\":[{\"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)))\",\"captures\":{\"1\":{\"name\":\"storage.modifier.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"storage.modifier.$12.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"15\":{\"name\":\"comment.block.cuda-cpp\"},\"16\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"17\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"18\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"21\":{\"name\":\"comment.block.cuda-cpp\"},\"22\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"23\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"24\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"25\":{\"name\":\"comment.block.cuda-cpp\"},\"26\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"27\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"28\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"29\":{},\"30\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"31\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"32\":{\"name\":\"comment.block.cuda-cpp\"},\"33\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"34\":{},\"35\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"36\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"37\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"38\":{\"name\":\"comment.block.cuda-cpp\"},\"39\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"40\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"41\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"42\":{\"name\":\"comment.block.cuda-cpp\"},\"43\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"44\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"45\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"46\":{\"name\":\"comment.block.cuda-cpp\"},\"47\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"48\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"49\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"50\":{\"name\":\"comment.block.cuda-cpp\"},\"51\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"52\":{\"name\":\"storage.type.modifier.calling-convention.cuda-cpp\"},\"53\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"54\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"55\":{\"name\":\"comment.block.cuda-cpp\"},\"56\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"57\":{\"patterns\":[{\"include\":\"#scope_resolution_function_definition_inner_generated\"}]},\"58\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp\"},\"59\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"60\":{},\"61\":{\"name\":\"entity.name.function.definition.cuda-cpp\"},\"62\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"63\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"64\":{\"name\":\"comment.block.cuda-cpp\"},\"65\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{},\"name\":\"meta.function.definition.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.function.definition.cuda-cpp\"}},\"name\":\"meta.head.function.definition.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.end.bracket.round.cuda-cpp\"}},\"contentName\":\"meta.function.definition.parameters\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#parameter_or_maybe_value\"},{\"include\":\"#comma\"},{\"include\":\"#evaluation_context\"}]},{\"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<:.]))\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.function.return-type.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"10\":{\"name\":\"comment.block.cuda-cpp\"},\"11\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"17\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"18\":{},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"21\":{\"name\":\"comment.block.cuda-cpp\"},\"22\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"23\":{}}},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.function.definition.cuda-cpp\"}},\"name\":\"meta.body.function.definition.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.function.definition.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"function_parameter_context\":{\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#parameter\"},{\"include\":\"#comma\"}]},\"function_pointer\":{\"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)+)?(\\\\()\",\"end\":\"(\\\\))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?=[{=,);>]|\\\\n)(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"12\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"13\":{},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"16\":{\"name\":\"comment.block.cuda-cpp\"},\"17\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"18\":{},\"19\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"20\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"21\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"22\":{\"name\":\"comment.block.cuda-cpp\"},\"23\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"24\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"25\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"26\":{\"name\":\"comment.block.cuda-cpp\"},\"27\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"28\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"29\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"30\":{\"name\":\"comment.block.cuda-cpp\"},\"31\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"32\":{\"name\":\"punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp\"},\"33\":{\"name\":\"punctuation.definition.function.pointer.dereference.cuda-cpp\"},\"34\":{\"name\":\"variable.other.definition.pointer.function.cuda-cpp\"},\"35\":{\"name\":\"punctuation.definition.begin.bracket.square.cuda-cpp\"},\"36\":{\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"37\":{\"name\":\"punctuation.definition.end.bracket.square.cuda-cpp\"},\"38\":{\"name\":\"punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp\"},\"39\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"patterns\":[{\"include\":\"#function_parameter_context\"}]},\"function_pointer_parameter\":{\"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)+)?(\\\\()\",\"end\":\"(\\\\))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?=[{=,);>]|\\\\n)(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"12\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"13\":{},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"16\":{\"name\":\"comment.block.cuda-cpp\"},\"17\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"18\":{},\"19\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"20\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"21\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"22\":{\"name\":\"comment.block.cuda-cpp\"},\"23\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"24\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"25\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"26\":{\"name\":\"comment.block.cuda-cpp\"},\"27\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"28\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"29\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"30\":{\"name\":\"comment.block.cuda-cpp\"},\"31\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"32\":{\"name\":\"punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp\"},\"33\":{\"name\":\"punctuation.definition.function.pointer.dereference.cuda-cpp\"},\"34\":{\"name\":\"variable.parameter.pointer.function.cuda-cpp\"},\"35\":{\"name\":\"punctuation.definition.begin.bracket.square.cuda-cpp\"},\"36\":{\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"37\":{\"name\":\"punctuation.definition.end.bracket.square.cuda-cpp\"},\"38\":{\"name\":\"punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp\"},\"39\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"patterns\":[{\"include\":\"#function_parameter_context\"}]},\"functional_specifiers_pre_parameters\":{\"match\":\"(?<!\\\\w)(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\\\w)\",\"name\":\"storage.modifier.specifier.functional.pre-parameters.$0.cuda-cpp\"},\"gcc_attributes\":{\"begin\":\"__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(\",\"end\":\"\\\\)\\\\s*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.begin.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.end.cuda-cpp\"}},\"name\":\"support.other.attribute.cuda-cpp\",\"patterns\":[{\"include\":\"#attributes_context\"},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{},\"endCaptures\":{},\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#string_context\"}]},{\"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))\",\"captures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"},\"2\":{\"name\":\"entity.name.namespace.cuda-cpp\"}}},{\"match\":\",\",\"name\":\"punctuation.separator.attribute.cuda-cpp\"},{\"match\":\":\",\"name\":\"punctuation.accessor.attribute.cuda-cpp\"},{\"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)(?=::)\",\"name\":\"entity.name.namespace.cuda-cpp\"},{\"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)\",\"name\":\"entity.other.attribute.$0.cuda-cpp\"},{\"include\":\"#number_literal\"}]},\"goto_statement\":{\"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}))*)\",\"captures\":{\"1\":{\"name\":\"keyword.control.goto.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.label.call.cuda-cpp\"}}},\"identifier\":{\"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}))*\"},\"include\":{\"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)|$)|(?=(?:\\\\/\\\\/|;))))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.control.directive.$5.cuda-cpp\"},\"4\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"},\"6\":{\"name\":\"string.quoted.other.lt-gt.include.cuda-cpp\"},\"7\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"8\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"},\"9\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"10\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"11\":{\"name\":\"string.quoted.double.include.cuda-cpp\"},\"12\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"13\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"16\":{\"name\":\"entity.name.other.preprocessor.macro.include.cuda-cpp\"},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"21\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"22\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}},\"name\":\"meta.preprocessor.include.cuda-cpp\"},\"inheritance_context\":{\"patterns\":[{\"include\":\"#ever_present_context\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.comma.inheritance.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\\\w)\",\"name\":\"storage.type.modifier.access.$0.cuda-cpp\"},{\"match\":\"(?<!\\\\w)virtual(?!\\\\w)\",\"name\":\"storage.type.modifier.virtual.cuda-cpp\"},{\"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<:.]))\",\"captures\":{\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"8\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"9\":{},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{}}}]},\"inline_builtin_storage_type\":{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp\"},\"2\":{\"name\":\"storage.type.cuda-cpp storage.type.built-in.cuda-cpp\"},\"3\":{\"name\":\"support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp\"},\"4\":{\"name\":\"support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp\"}}},\"inline_comment\":{\"match\":\"(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},\"invalid_comment_end\":{\"match\":\"\\\\*\\\\/\",\"name\":\"invalid.illegal.unexpected.punctuation.definition.comment.end.cuda-cpp\"},\"label\":{\"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)))(:)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"entity.name.label.cuda-cpp\"},\"4\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"5\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"6\":{\"name\":\"punctuation.separator.label.cuda-cpp\"}}},\"lambdas\":{\"begin\":\"(?:(?<=[^\\\\s]|^)(?<![\\\\w\\\\]\\\\)\\\\[\\\\*&\\\">])|(?<=\\\\Wreturn|^return))(?:(?:\\\\s)+)?(\\\\[(?!\\\\[| *+\\\"| *+\\\\d))((?:[^\\\\[\\\\]]|((?<!\\\\[)\\\\[(?!\\\\[)(?:[^\\\\[\\\\]]*+\\\\g<3>?)++\\\\]))*+)(\\\\](?!((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))[\\\\[\\\\];]))\",\"end\":\"(?<=[;}])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.capture.begin.lambda.cuda-cpp\"},\"2\":{\"name\":\"meta.lambda.capture.cuda-cpp\",\"patterns\":[{\"include\":\"#the_this_keyword\"},{\"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|$)|(,))|(\\\\=))\",\"captures\":{\"1\":{\"name\":\"variable.parameter.capture.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"},\"7\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"}}},{\"include\":\"#evaluation_context\"}]},\"3\":{},\"4\":{\"name\":\"punctuation.definition.capture.end.lambda.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"7\":{\"name\":\"comment.block.cuda-cpp\"},\"8\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{},\"patterns\":[{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.lambda.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.lambda.cuda-cpp\"}},\"name\":\"meta.function.definition.parameters.lambda.cuda-cpp\",\"patterns\":[{\"include\":\"#function_parameter_context\"}]},{\"match\":\"(?<!\\\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\\\w)\",\"name\":\"storage.modifier.lambda.$0.cuda-cpp\"},{\"match\":\"(->)((?:.+?(?=\\\\{|$))?)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.lambda.return-type.cuda-cpp\"},\"2\":{\"name\":\"storage.type.return-type.lambda.cuda-cpp\"}}},{\"begin\":\"\\\\{\",\"end\":\"\\\\}\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.lambda.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.lambda.cuda-cpp\"}},\"name\":\"meta.function.definition.body.lambda.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"language_constants\":{\"match\":\"(?<!\\\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\\\w)\",\"name\":\"constant.language.$0.cuda-cpp\"},\"line\":{\"begin\":\"^((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(#)(?:(?:\\\\s)+)?line\\\\b\",\"end\":\"(?<!\\\\\\\\)(?=\\\\n)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.directive.line.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.preprocessor.line.cuda-cpp\",\"patterns\":[{\"include\":\"#string_context\"},{\"include\":\"#preprocessor_number_literal\"},{\"include\":\"#line_continuation_character\"}]},\"line_comment\":{\"begin\":\"\\\\s*+(\\\\/\\\\/)\",\"end\":\"(?<=\\\\n)(?<!\\\\\\\\\\\\n)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"comment.line.double-slash.cuda-cpp\",\"patterns\":[{\"include\":\"#line_continuation_character\"}]},\"line_continuation_character\":{\"match\":\"\\\\\\\\\\\\n\",\"name\":\"constant.character.escape.line-continuation.cuda-cpp\"},\"macro\":{\"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))\",\"end\":\"(?<!\\\\\\\\)(?=\\\\n)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.directive.define.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"},\"7\":{\"name\":\"entity.name.function.preprocessor.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.preprocessor.macro.cuda-cpp\",\"patterns\":[{\"match\":\"\\\\G(?:(?:\\\\s)+)?(\\\\()([^\\\\(]*)(\\\\))\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.preprocessor.cuda-cpp\"},\"2\":{\"patterns\":[{\"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)+)?\",\"captures\":{\"1\":{\"name\":\"variable.parameter.preprocessor.cuda-cpp\"}}},{\"match\":\",\",\"name\":\"punctuation.separator.parameters.cuda-cpp\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"punctuation.vararg-ellipses.variable.parameter.preprocessor.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.definition.parameters.end.preprocessor.cuda-cpp\"}}},{\"include\":\"#macro_context\"},{\"include\":\"#macro_argument\"}]},\"macro_argument\":{\"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)\",\"name\":\"variable.other.macro.argument.cuda-cpp\"},\"macro_context\":{\"patterns\":[{\"include\":\"source.cpp.embedded.macro\"}]},\"macro_name\":{\"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)\",\"name\":\"entity.name.function.preprocessor.cuda-cpp\"},\"member_access\":{\"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(?!\\\\())\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"variable.language.this.cuda-cpp\"},\"4\":{\"name\":\"variable.other.object.access.cuda-cpp\"},\"5\":{\"name\":\"punctuation.separator.dot-access.cuda-cpp\"},\"6\":{\"name\":\"punctuation.separator.pointer-access.cuda-cpp\"},\"7\":{\"patterns\":[{\"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)+)?))(?:((?:\\\\.\\\\*|\\\\.))|((?:->\\\\*|->)))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.language.this.cuda-cpp\"},\"6\":{\"name\":\"variable.other.object.property.cuda-cpp\"},\"7\":{\"name\":\"punctuation.separator.dot-access.cuda-cpp\"},\"8\":{\"name\":\"punctuation.separator.pointer-access.cuda-cpp\"}}},{\"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)+)?))(?:((?:\\\\.\\\\*|\\\\.))|((?:->\\\\*|->)))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.language.this.cuda-cpp\"},\"6\":{\"name\":\"variable.other.object.access.cuda-cpp\"},\"7\":{\"name\":\"punctuation.separator.dot-access.cuda-cpp\"},\"8\":{\"name\":\"punctuation.separator.pointer-access.cuda-cpp\"}}},{\"include\":\"#member_access\"},{\"include\":\"#method_access\"}]},\"8\":{\"name\":\"variable.other.property.cuda-cpp\"}}},\"memory_operators\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?:(?:(delete)(?:(?:\\\\s)+)?(\\\\[\\\\])|(delete))|(new))(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.operator.wordlike.cuda-cpp\"},\"4\":{\"name\":\"keyword.operator.delete.array.cuda-cpp\"},\"5\":{\"name\":\"keyword.operator.delete.array.bracket.cuda-cpp\"},\"6\":{\"name\":\"keyword.operator.delete.cuda-cpp\"},\"7\":{\"name\":\"keyword.operator.new.cuda-cpp\"}}},\"method_access\":{\"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)+)?(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.language.this.cuda-cpp\"},\"6\":{\"name\":\"variable.other.object.access.cuda-cpp\"},\"7\":{\"name\":\"punctuation.separator.dot-access.cuda-cpp\"},\"8\":{\"name\":\"punctuation.separator.pointer-access.cuda-cpp\"},\"9\":{\"patterns\":[{\"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)+)?))(?:((?:\\\\.\\\\*|\\\\.))|((?:->\\\\*|->)))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.language.this.cuda-cpp\"},\"6\":{\"name\":\"variable.other.object.property.cuda-cpp\"},\"7\":{\"name\":\"punctuation.separator.dot-access.cuda-cpp\"},\"8\":{\"name\":\"punctuation.separator.pointer-access.cuda-cpp\"}}},{\"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)+)?))(?:((?:\\\\.\\\\*|\\\\.))|((?:->\\\\*|->)))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.language.this.cuda-cpp\"},\"6\":{\"name\":\"variable.other.object.access.cuda-cpp\"},\"7\":{\"name\":\"punctuation.separator.dot-access.cuda-cpp\"},\"8\":{\"name\":\"punctuation.separator.pointer-access.cuda-cpp\"}}},{\"include\":\"#member_access\"},{\"include\":\"#method_access\"}]},\"10\":{\"name\":\"entity.name.function.member.cuda-cpp\"},\"11\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.function.member.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.function.member.cuda-cpp\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"misc_keywords\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)(?:(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.other.$3.cuda-cpp\"}}},\"ms_attributes\":{\"begin\":\"__declspec\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.begin.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.attribute.end.cuda-cpp\"}},\"name\":\"support.other.attribute.cuda-cpp\",\"patterns\":[{\"include\":\"#attributes_context\"},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{},\"endCaptures\":{},\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#string_context\"}]},{\"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))\",\"captures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"},\"2\":{\"name\":\"entity.name.namespace.cuda-cpp\"}}},{\"match\":\",\",\"name\":\"punctuation.separator.attribute.cuda-cpp\"},{\"match\":\":\",\"name\":\"punctuation.accessor.attribute.cuda-cpp\"},{\"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)(?=::)\",\"name\":\"entity.name.namespace.cuda-cpp\"},{\"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)\",\"name\":\"entity.other.attribute.$0.cuda-cpp\"},{\"include\":\"#number_literal\"}]},\"namespace_alias\":{\"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))\",\"captures\":{\"1\":{\"name\":\"keyword.other.namespace.alias.cuda-cpp storage.type.namespace.alias.cuda-cpp\"},\"2\":{\"name\":\"entity.name.namespace.alias.cuda-cpp\"},\"3\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"4\":{\"name\":\"meta.declaration.namespace.alias.value.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_alias_inner_generated\"}]},\"6\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"9\":{\"name\":\"entity.name.namespace.cuda-cpp\"},\"10\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.declaration.namespace.alias.cuda-cpp\"},\"namespace_block\":{\"begin\":\"((?<!\\\\w)namespace(?!\\\\w))\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.namespace.cuda-cpp\"},\"1\":{\"name\":\"keyword.other.namespace.definition.cuda-cpp storage.type.namespace.definition.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.block.namespace.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.namespace.cuda-cpp\"}},\"name\":\"meta.head.namespace.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#attributes_context\"},{\"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))?\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_block_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.namespace.cuda-cpp\"},\"6\":{\"name\":\"punctuation.separator.scope-resolution.namespace.block.cuda-cpp\"},\"7\":{\"name\":\"storage.modifier.inline.cuda-cpp\"}}}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.namespace.cuda-cpp\"}},\"name\":\"meta.body.namespace.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.namespace.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"noexcept_operator\":{\"begin\":\"((?<!\\\\w)noexcept(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.noexcept.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.noexcept.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.noexcept\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"number_literal\":{\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])*\",\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"$\",\"beginCaptures\":{},\"endCaptures\":{},\"patterns\":[{\"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*)?$)\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.hexadecimal.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\"},\"5\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"7\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.cuda-cpp\"},\"8\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.cuda-cpp\"},\"9\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.cuda-cpp\"},\"10\":{\"name\":\"constant.numeric.exponent.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"11\":{\"name\":\"keyword.other.unit.suffix.floating-point.cuda-cpp\"},\"12\":{\"name\":\"keyword.other.unit.user-defined.cuda-cpp\"}}},{\"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*)?$)\",\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"3\":{\"name\":\"constant.numeric.decimal.point.cuda-cpp\"},\"4\":{\"name\":\"constant.numeric.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"5\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"6\":{\"name\":\"keyword.other.unit.exponent.decimal.cuda-cpp\"},\"7\":{\"name\":\"keyword.operator.plus.exponent.decimal.cuda-cpp\"},\"8\":{\"name\":\"keyword.operator.minus.exponent.decimal.cuda-cpp\"},\"9\":{\"name\":\"constant.numeric.exponent.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"10\":{\"name\":\"keyword.other.unit.suffix.floating-point.cuda-cpp\"},\"11\":{\"name\":\"keyword.other.unit.user-defined.cuda-cpp\"}}},{\"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*)?$)\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.binary.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.binary.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"},\"5\":{\"name\":\"keyword.other.unit.user-defined.cuda-cpp\"}}},{\"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*)?$)\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.octal.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.octal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"},\"5\":{\"name\":\"keyword.other.unit.user-defined.cuda-cpp\"}}},{\"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*)?$)\",\"captures\":{\"1\":{\"name\":\"keyword.other.unit.hexadecimal.cuda-cpp\"},\"2\":{\"name\":\"constant.numeric.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"3\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"4\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.cuda-cpp\"},\"5\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.cuda-cpp\"},\"6\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.cuda-cpp\"},\"7\":{\"name\":\"constant.numeric.exponent.hexadecimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"8\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"},\"9\":{\"name\":\"keyword.other.unit.user-defined.cuda-cpp\"}}},{\"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*)?$)\",\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"},\"3\":{\"name\":\"keyword.other.unit.exponent.decimal.cuda-cpp\"},\"4\":{\"name\":\"keyword.operator.plus.exponent.decimal.cuda-cpp\"},\"5\":{\"name\":\"keyword.operator.minus.exponent.decimal.cuda-cpp\"},\"6\":{\"name\":\"constant.numeric.exponent.decimal.cuda-cpp\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])\",\"name\":\"punctuation.separator.constant.numeric.cuda-cpp\"}]},\"7\":{\"name\":\"keyword.other.unit.suffix.integer.cuda-cpp\"},\"8\":{\"name\":\"keyword.other.unit.user-defined.cuda-cpp\"}}},{\"match\":\"(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])+\",\"name\":\"invalid.illegal.constant.numeric.cuda-cpp\"}]}]}}},\"operator_overload\":{\"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)))(?=\\\\<|\\\\()\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.function.definition.special.operator-overload.cuda-cpp\"},\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"12\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"13\":{},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"16\":{\"name\":\"comment.block.cuda-cpp\"},\"17\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"18\":{},\"19\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"20\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"21\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"22\":{\"name\":\"comment.block.cuda-cpp\"},\"23\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"24\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"25\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"26\":{\"name\":\"comment.block.cuda-cpp\"},\"27\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"28\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"29\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"30\":{\"name\":\"comment.block.cuda-cpp\"},\"31\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"32\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"33\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"34\":{\"name\":\"comment.block.cuda-cpp\"},\"35\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"36\":{\"name\":\"storage.type.modifier.calling-convention.cuda-cpp\"},\"37\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"38\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"39\":{\"name\":\"comment.block.cuda-cpp\"},\"40\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"41\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"42\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"43\":{\"name\":\"comment.block.cuda-cpp\"},\"44\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"45\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.operator.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.operator.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"46\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"47\":{},\"48\":{\"name\":\"keyword.other.operator.overload.cuda-cpp\"},\"49\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"50\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"51\":{\"name\":\"comment.block.cuda-cpp\"},\"52\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"53\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.operator-overload.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.operator-overload.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"54\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"55\":{},\"56\":{\"name\":\"entity.name.operator.cuda-cpp\"},\"57\":{\"name\":\"entity.name.operator.type.cuda-cpp\"},\"58\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"entity.name.operator.type.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"entity.name.operator.type.reference.cuda-cpp\"}]},\"59\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"60\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"61\":{\"name\":\"comment.block.cuda-cpp\"},\"62\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"63\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"64\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"65\":{\"name\":\"comment.block.cuda-cpp\"},\"66\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"67\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"68\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"69\":{\"name\":\"comment.block.cuda-cpp\"},\"70\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"71\":{\"name\":\"entity.name.operator.type.array.cuda-cpp\"},\"72\":{\"name\":\"entity.name.operator.custom-literal.cuda-cpp\"},\"73\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"74\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"75\":{\"name\":\"comment.block.cuda-cpp\"},\"76\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"77\":{\"name\":\"entity.name.operator.custom-literal.cuda-cpp\"},\"78\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"79\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"80\":{\"name\":\"comment.block.cuda-cpp\"},\"81\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{},\"name\":\"meta.function.definition.special.operator-overload.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cuda-cpp\"}},\"name\":\"meta.head.function.definition.special.operator-overload.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#template_call_range\"},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parameters.end.bracket.round.special.operator-overload.cuda-cpp\"}},\"contentName\":\"meta.function.definition.parameters.special.operator-overload\",\"patterns\":[{\"include\":\"#function_parameter_context\"},{\"include\":\"#evaluation_context\"}]},{\"include\":\"#qualifiers_and_specifiers_post_parameters\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cuda-cpp\"}},\"name\":\"meta.body.function.definition.special.operator-overload.cuda-cpp\",\"patterns\":[{\"include\":\"#function_body_context\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.function.definition.special.operator-overload.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"operators\":{\"patterns\":[{\"begin\":\"((?<!\\\\w)sizeof(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.sizeof.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.sizeof\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"begin\":\"((?<!\\\\w)alignof(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.alignof.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.alignof.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.alignof.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.alignof\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"begin\":\"((?<!\\\\w)alignas(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.alignas.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.alignas.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.alignas.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.alignas\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"begin\":\"((?<!\\\\w)typeid(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.typeid.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.typeid.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.typeid.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.typeid\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"begin\":\"((?<!\\\\w)noexcept(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.noexcept.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.noexcept.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.noexcept\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"begin\":\"(\\\\bsizeof\\\\.\\\\.\\\\.)((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.variadic.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.sizeof.variadic\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.cuda-cpp\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.cuda-cpp\"},{\"match\":\"%=|\\\\+=|-=|\\\\*=|(?<!\\\\()\\\\/=\",\"name\":\"keyword.operator.assignment.compound.cuda-cpp\"},{\"match\":\"&=|\\\\^=|<<=|>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.cuda-cpp\"},{\"match\":\"<<|>>\",\"name\":\"keyword.operator.bitwise.shift.cuda-cpp\"},{\"match\":\"!=|<=|>=|==|<|>\",\"name\":\"keyword.operator.comparison.cuda-cpp\"},{\"match\":\"&&|!|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.cuda-cpp\"},{\"match\":\"&|\\\\||\\\\^|~\",\"name\":\"keyword.operator.cuda-cpp\"},{\"include\":\"#assignment_operator\"},{\"match\":\"%|\\\\*|\\\\/|-|\\\\+\",\"name\":\"keyword.operator.cuda-cpp\"},{\"include\":\"#ternary_operator\"}]},\"over_qualified_types\":{\"patterns\":[{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.struct.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.struct.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.enum.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.enum.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.union.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.union.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.class.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}}]},\"parameter\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?=\\\\w)\",\"end\":\"(?:(?=\\\\))|(,))\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"}},\"name\":\"meta.parameter.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#function_pointer_parameter\"},{\"include\":\"#decltype\"},{\"include\":\"#vararg_ellipses\"},{\"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)))(?=,|\\\\)|=)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#storage_types\"}]},\"2\":{\"name\":\"storage.modifier.specifier.parameter.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"name\":\"storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp\"},\"12\":{\"name\":\"storage.type.cuda-cpp storage.type.built-in.cuda-cpp\"},\"13\":{\"name\":\"support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp\"},\"14\":{\"name\":\"support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp\"},\"15\":{\"name\":\"entity.name.type.parameter.cuda-cpp\"},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"include\":\"#storage_types\"},{\"include\":\"#scope_resolution_parameter_inner_generated\"},{\"match\":\"(?:(?:struct)|(?:class)|(?:union)|(?:enum))\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"begin\":\"(?<==)\",\"end\":\"(?:(?=\\\\))|(,))\",\"beginCaptures\":{},\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"match\":\"\\\\=\",\"name\":\"keyword.operator.assignment.cuda-cpp\"},{\"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)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.parameter.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"include\":\"#attributes_context\"},{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.square.array.type.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.array.type.cuda-cpp\"}},\"name\":\"meta.bracket.square.array.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"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)\",\"name\":\"entity.name.type.parameter.cuda-cpp\"},{\"include\":\"#template_call_range\"},{\"match\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))?(?:(?:&|(?:\\\\*))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z))))*(?:&|(?:\\\\*))\",\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"7\":{\"name\":\"comment.block.cuda-cpp\"},\"8\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"parameter_class\":{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.class.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"parameter_enum\":{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.enum.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.enum.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"parameter_or_maybe_value\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?=\\\\w)\",\"end\":\"(?:(?=\\\\))|(,))\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"}},\"name\":\"meta.parameter.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#function_pointer_parameter\"},{\"include\":\"#memory_operators\"},{\"include\":\"#builtin_storage_type_initilizer\"},{\"include\":\"#curly_initializer\"},{\"include\":\"#decltype\"},{\"include\":\"#vararg_ellipses\"},{\"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)))(?=,|\\\\)|=)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#storage_types\"}]},\"2\":{\"name\":\"storage.modifier.specifier.parameter.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"name\":\"storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp\"},\"12\":{\"name\":\"storage.type.cuda-cpp storage.type.built-in.cuda-cpp\"},\"13\":{\"name\":\"support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp\"},\"14\":{\"name\":\"support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp\"},\"15\":{\"name\":\"entity.name.type.parameter.cuda-cpp\"},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"include\":\"#storage_types\"},{\"include\":\"#function_call\"},{\"include\":\"#scope_resolution_parameter_inner_generated\"},{\"match\":\"(?:(?:struct)|(?:class)|(?:union)|(?:enum))\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"begin\":\"(?<==)\",\"end\":\"(?:(?=\\\\))|(,))\",\"beginCaptures\":{},\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"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)|$)))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"variable.parameter.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"include\":\"#attributes_context\"},{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.square.array.type.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.array.type.cuda-cpp\"}},\"name\":\"meta.bracket.square.array.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},{\"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)\",\"name\":\"entity.name.type.parameter.cuda-cpp\"},{\"include\":\"#template_call_range\"},{\"match\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))?(?:(?:&|(?:\\\\*))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z))))*(?:&|(?:\\\\*))\",\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"7\":{\"name\":\"comment.block.cuda-cpp\"},\"8\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"include\":\"#evaluation_context\"}]},\"parameter_struct\":{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.struct.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.struct.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"parameter_union\":{\"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)\",\"captures\":{\"1\":{\"name\":\"storage.type.union.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.union.parameter.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"18\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"19\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"20\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"parentheses\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.bracket.round.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.bracket.round.cuda-cpp\"}},\"name\":\"meta.parens.cuda-cpp\",\"patterns\":[{\"include\":\"#over_qualified_types\"},{\"match\":\"(?<!:):(?!:)\",\"name\":\"punctuation.separator.colon.range-based.cuda-cpp\"},{\"include\":\"#evaluation_context\"}]},\"pragma\":{\"begin\":\"^((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(#)(?:(?:\\\\s)+)?pragma\\\\b\",\"end\":\"(?<!\\\\\\\\)(?=\\\\n)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.directive.pragma.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.preprocessor.pragma.cuda-cpp\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#string_context\"},{\"match\":\"[a-zA-Z_$][\\\\w\\\\-$]*\",\"name\":\"entity.other.attribute-name.pragma.preprocessor.cuda-cpp\"},{\"include\":\"#preprocessor_number_literal\"},{\"include\":\"#line_continuation_character\"}]},\"pragma_mark\":{\"match\":\"(^((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(#)(?:(?:\\\\s)+)?pragma(?:\\\\s)+mark)(?:\\\\s)+(.*)\",\"captures\":{\"1\":{\"name\":\"keyword.control.directive.pragma.pragma-mark.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"},\"5\":{\"name\":\"entity.name.tag.pragma-mark.cuda-cpp\"}},\"name\":\"meta.preprocessor.pragma.cuda-cpp\"},\"predefined_macros\":{\"patterns\":[{\"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\",\"captures\":{\"1\":{\"name\":\"entity.name.other.preprocessor.macro.predefined.$1.cuda-cpp\"}}},{\"match\":\"\\\\b__([A-Z_]+)__\\\\b\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$1.cuda-cpp\"}]},\"preprocessor_conditional_context\":{\"patterns\":[{\"include\":\"#preprocessor_conditional_defined\"},{\"include\":\"#comments\"},{\"include\":\"#language_constants\"},{\"include\":\"#string_context\"},{\"include\":\"#d9bc4796b0b_preprocessor_number_literal\"},{\"include\":\"#operators\"},{\"include\":\"#predefined_macros\"},{\"include\":\"#macro_name\"},{\"include\":\"#line_continuation_character\"}]},\"preprocessor_conditional_defined\":{\"begin\":\"((?<!\\\\w)defined(?!\\\\w))(\\\\()\",\"end\":\"(?:\\\\)|(?<!\\\\\\\\)(?=\\\\n))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.directive.conditional.defined.cuda-cpp\"},\"2\":{\"name\":\"punctuation.section.parens.control.defined.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.control.defined.cuda-cpp\"}},\"patterns\":[{\"include\":\"#macro_name\"}]},\"preprocessor_conditional_parentheses\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.bracket.round.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.bracket.round.cuda-cpp\"}},\"name\":\"meta.parens.preprocessor.conditional.cuda-cpp\"},\"preprocessor_conditional_range\":{\"begin\":\"^((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(#)(?:(?:\\\\s)+)?((?:(?:ifndef|ifdef)|if))\",\"end\":\"^(?!\\\\s*+#\\\\s*(?:else|endif))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.directive.conditional.$6.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"},\"6\":{}},\"endCaptures\":{},\"patterns\":[{\"begin\":\"\\\\G(?<=ifndef|ifdef|if)\",\"end\":\"(?<!\\\\\\\\)(?=\\\\n)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.preprocessor.conditional.cuda-cpp\",\"patterns\":[{\"include\":\"#preprocessor_conditional_context\"}]},{\"include\":\"$self\"}]},\"preprocessor_conditional_standalone\":{\"match\":\"^((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(#)(?:(?:\\\\s)+)?((?<!\\\\w)(?:endif|else|elif)(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"}},\"name\":\"keyword.control.directive.$4.cuda-cpp\"},\"preprocessor_context\":{\"patterns\":[{\"include\":\"#pragma_mark\"},{\"include\":\"#pragma\"},{\"include\":\"#include\"},{\"include\":\"#line\"},{\"include\":\"#diagnostic\"},{\"include\":\"#undef\"},{\"include\":\"#preprocessor_conditional_range\"},{\"include\":\"#single_line_macro\"},{\"include\":\"#macro\"},{\"include\":\"#preprocessor_conditional_standalone\"},{\"include\":\"#macro_argument\"}]},\"qualified_type\":{\"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<:.])\",\"captures\":{\"0\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"1\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"5\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"6\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"7\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"9\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"10\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}},\"name\":\"meta.qualified_type.cuda-cpp\"},\"qualifiers_and_specifiers_post_parameters\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?:((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?<!\\\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\\\w))+(?=\\\\s*(?:(?:\\\\{|;)|[\\\\n\\\\r])))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"storage.modifier.specifier.functional.post-parameters.$3.cuda-cpp\"},\"4\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"5\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"scope_resolution\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_function_call\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_function_call_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_function_call_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_function_call_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.function.call.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp\"}}},\"scope_resolution_function_definition\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_function_definition_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_function_definition_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_function_definition_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.function.definition.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp\"}}},\"scope_resolution_function_definition_operator_overload\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_function_definition_operator_overload_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_function_definition_operator_overload_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_function_definition_operator_overload_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.function.definition.operator-overload.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp\"}}},\"scope_resolution_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"}}},\"scope_resolution_namespace_alias\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_alias_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_namespace_alias_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_alias_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.namespace.alias.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp\"}}},\"scope_resolution_namespace_block\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_block_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_namespace_block_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_block_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.namespace.block.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp\"}}},\"scope_resolution_namespace_using\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_using_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_namespace_using_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_using_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.namespace.using.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp\"}}},\"scope_resolution_parameter\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_parameter_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_parameter_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_parameter_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.parameter.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp\"}}},\"scope_resolution_template_call\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_template_call_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_template_call_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_template_call_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.template.call.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp\"}}},\"scope_resolution_template_definition\":{\"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*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#scope_resolution_template_definition_inner_generated\"}]},\"1\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}}},\"scope_resolution_template_definition_inner_generated\":{\"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)*+)?(::)\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#scope_resolution_template_definition_inner_generated\"}]},\"2\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"4\":{},\"5\":{\"name\":\"entity.name.scope-resolution.template.definition.cuda-cpp\"},\"6\":{\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_range\"}]},\"7\":{},\"8\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp\"}}},\"semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"simple_type\":{\"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))))*(?:&|(?:\\\\*)))?\",\"captures\":{\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"8\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"9\":{},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{},\"13\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"single_line_macro\":{\"match\":\"^((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))#define.*(?<![\\\\\\\\])(?:(?:\\\\n)|$)\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#macro\"},{\"include\":\"#comments\"}]},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"sizeof_operator\":{\"begin\":\"((?<!\\\\w)sizeof(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.sizeof.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.sizeof\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"sizeof_variadic_operator\":{\"begin\":\"(\\\\bsizeof\\\\.\\\\.\\\\.)((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.variadic.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.sizeof.variadic\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"square_brackets\":{\"name\":\"meta.bracket.square.access\",\"begin\":\"([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\\\]\\\\)]))?(\\\\[)(?!\\\\])\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.object\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square\"}},\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"standard_declares\":{\"patterns\":[{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.struct.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.struct.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.union.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.union.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.enum.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.enum.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.class.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.class.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}}]},\"static_assert\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)static_assert|_Static_assert(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"keyword.other.static_assert.cuda-cpp\"},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.static_assert.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.static_assert.cuda-cpp\"}},\"patterns\":[{\"begin\":\"(,)(?:(?:\\\\s)+)?(?=(?:L|u8|u|U(?:(?:\\\\s)+)?\\\\\\\")?)\",\"end\":\"(?=\\\\))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.delimiter.comma.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.static_assert.message.cuda-cpp\",\"patterns\":[{\"include\":\"#string_context\"}]},{\"include\":\"#evaluation_context\"}]},\"std_space\":{\"match\":\"(?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z))\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"1\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"storage_specifiers\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"storage.modifier.specifier.$3.cuda-cpp\"}}},\"storage_types\":{\"patterns\":[{\"include\":\"#storage_specifiers\"},{\"include\":\"#inline_builtin_storage_type\"},{\"include\":\"#decltype\"},{\"include\":\"#typename\"}]},\"string_context\":{\"patterns\":[{\"begin\":\"((?:u|u8|U|L)?)\\\"\",\"end\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"1\":{\"name\":\"meta.encoding.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"string.quoted.double.cuda-cpp\",\"patterns\":[{\"match\":\"(?:\\\\\\\\u[0-9a-fA-F]{4}|\\\\\\\\U[0-9a-fA-F]{8})\",\"name\":\"constant.character.escape.cuda-cpp\"},{\"match\":\"\\\\\\\\['\\\"?\\\\\\\\abfnrtv]\",\"name\":\"constant.character.escape.cuda-cpp\"},{\"match\":\"\\\\\\\\[0-7]{1,3}\",\"name\":\"constant.character.escape.cuda-cpp\"},{\"match\":\"(?:(\\\\\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\\\\\x[0-9a-fA-F]*|\\\\\\\\x)))\",\"captures\":{\"1\":{\"name\":\"constant.character.escape.cuda-cpp\"},\"2\":{\"name\":\"invalid.illegal.unknown-escape.cuda-cpp\"}}},{\"include\":\"#string_escapes_context_c\"}]},{\"begin\":\"(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'\",\"end\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"1\":{\"name\":\"meta.encoding.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"string.quoted.single.cuda-cpp\",\"patterns\":[{\"match\":\"(?:(\\\\\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\\\\\x[0-9a-fA-F]*|\\\\\\\\x)))\",\"captures\":{\"1\":{\"name\":\"constant.character.escape.cuda-cpp\"},\"2\":{\"name\":\"invalid.illegal.unknown-escape.cuda-cpp\"}}},{\"include\":\"#string_escapes_context_c\"},{\"include\":\"#line_continuation_character\"}]},{\"begin\":\"((?:[uUL]8?)?R)\\\\\\\"(?:(?:_r|re)|regex)\\\\(\",\"end\":\"\\\\)(?:(?:_r|re)|regex)\\\\\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"1\":{\"name\":\"meta.encoding.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"string.quoted.double.raw.regex.cuda-cpp\",\"patterns\":[{\"include\":\"source.regexp.python\"}]},{\"begin\":\"((?:[uUL]8?)?R)\\\\\\\"(?:glsl|GLSL)\\\\(\",\"end\":\"\\\\)(?:glsl|GLSL)\\\\\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"1\":{\"name\":\"meta.encoding.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"meta.string.quoted.double.raw.glsl.cuda-cpp\",\"patterns\":[{\"include\":\"source.glsl\"}]},{\"begin\":\"((?:[uUL]8?)?R)\\\\\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\\\(\",\"end\":\"\\\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\\\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cuda-cpp\"},\"1\":{\"name\":\"meta.encoding.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cuda-cpp\"}},\"name\":\"meta.string.quoted.double.raw.sql.cuda-cpp\",\"patterns\":[{\"include\":\"source.sql\"}]},{\"begin\":\"((?:u|u8|U|L)?R)\\\"(?:([^ ()\\\\\\\\\\\\t]{0,16})|([^ ()\\\\\\\\\\\\t]*))\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin\"},\"1\":{\"name\":\"meta.encoding\"},\"3\":{\"name\":\"invalid.illegal.delimiter-too-long\"}},\"end\":\"\\\\)\\\\2(\\\\3)\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end\"},\"1\":{\"name\":\"invalid.illegal.delimiter-too-long\"}},\"name\":\"string.quoted.double.raw\"}]},\"string_escapes_context_c\":{\"patterns\":[{\"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} )\",\"name\":\"constant.character.escape\"},{\"match\":\"\\\\\\\\.\",\"name\":\"invalid.illegal.unknown-escape\"},{\"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\",\"name\":\"constant.other.placeholder\"}]},\"struct_block\":{\"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)))(:(?!:)))?)\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.struct.cuda-cpp\"},\"1\":{\"name\":\"storage.type.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"((?<!\\\\w)final(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\",\"captures\":{\"1\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"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))))?(?=:|{|$)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.struct.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\"DLLEXPORT\",\"name\":\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"20\":{\"name\":\"punctuation.separator.colon.inheritance.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.struct.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.struct.cuda-cpp\"}},\"name\":\"meta.head.struct.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#inheritance_context\"},{\"include\":\"#template_call_range\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.struct.cuda-cpp\"}},\"name\":\"meta.body.struct.cuda-cpp\",\"patterns\":[{\"include\":\"#function_pointer\"},{\"include\":\"#static_assert\"},{\"include\":\"#constructor_inline\"},{\"include\":\"#destructor_inline\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.struct.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"struct_declare\":{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.struct.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.struct.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"switch_conditional_parentheses\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"punctuation.section.parens.begin.bracket.round.conditional.switch.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.bracket.round.conditional.switch.cuda-cpp\"}},\"name\":\"meta.conditional.switch.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"},{\"include\":\"#c_conditional_context\"}]},\"switch_statement\":{\"begin\":\"((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)switch(?!\\\\w))\",\"end\":\"(?:(?<=\\\\}|%>|\\\\?\\\\?>)|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.switch.cuda-cpp\"},\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"5\":{\"name\":\"keyword.control.switch.cuda-cpp\"}},\"endCaptures\":{},\"name\":\"meta.block.switch.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.switch.cuda-cpp\"}},\"name\":\"meta.head.switch.cuda-cpp\",\"patterns\":[{\"include\":\"#switch_conditional_parentheses\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.switch.cuda-cpp\"}},\"name\":\"meta.body.switch.cuda-cpp\",\"patterns\":[{\"include\":\"#default_statement\"},{\"include\":\"#case_statement\"},{\"include\":\"$self\"},{\"include\":\"#block_innards\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.switch.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"template_argument_defaulted\":{\"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)+)?([=])\",\"captures\":{\"1\":{\"name\":\"storage.type.template.cuda-cpp\"},\"2\":{\"name\":\"entity.name.type.template.cuda-cpp\"},\"3\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"}}},\"template_call_context\":{\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#template_call_range\"},{\"include\":\"#storage_types\"},{\"include\":\"#language_constants\"},{\"include\":\"#scope_resolution_template_call_inner_generated\"},{\"include\":\"#operators\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma_in_template_argument\"},{\"include\":\"#qualified_type\"}]},\"template_call_innards\":{\"match\":\"((?<!<)<(?!<)(?:(?:(?:[^'\\\"<>]*+|\\\"(?:[^\\\"]*|\\\\\\\\\\\")\\\")|'(?:[^']*|\\\\\\\\')')\\\\g<1>?)+>)(?:\\\\s)*+\",\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#template_call_range\"}]}},\"name\":\"meta.template.call.cuda-cpp\"},\"template_call_range\":{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},\"template_definition\":{\"begin\":\"(?<!\\\\w)(template)(?:(?:\\\\s)+)?(<)\",\"end\":\">\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.template.cuda-cpp\"},\"2\":{\"name\":\"punctuation.section.angle-brackets.start.template.definition.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.definition.cuda-cpp\"}},\"name\":\"meta.template.definition.cuda-cpp\",\"patterns\":[{\"begin\":\"(?<=\\\\w)(?:(?:\\\\s)+)?<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"include\":\"#template_definition_context\"}]},\"template_definition_argument\":{\"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)+)?(?:(,)|(?=>|$))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"storage.type.template.argument.$3.cuda-cpp\"},\"4\":{\"patterns\":[{\"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}))*\",\"name\":\"storage.type.template.argument.$0.cuda-cpp\"}]},\"5\":{\"name\":\"entity.name.type.template.cuda-cpp\"},\"6\":{\"name\":\"storage.type.template.cuda-cpp\"},\"7\":{\"name\":\"punctuation.vararg-ellipses.template.definition.cuda-cpp\"},\"8\":{\"name\":\"entity.name.type.template.cuda-cpp\"},\"9\":{\"name\":\"punctuation.separator.delimiter.comma.template.argument.cuda-cpp\"}}},\"template_definition_context\":{\"patterns\":[{\"include\":\"#scope_resolution_template_definition_inner_generated\"},{\"include\":\"#template_definition_argument\"},{\"include\":\"#template_argument_defaulted\"},{\"include\":\"#template_call_innards\"},{\"include\":\"#evaluation_context\"}]},\"template_isolated_definition\":{\"match\":\"(?<!\\\\w)(template)(?:(?:\\\\s)+)?(<)(.*)(>(?:(?:\\\\s)+)?$)\",\"captures\":{\"1\":{\"name\":\"storage.type.template.cuda-cpp\"},\"2\":{\"name\":\"punctuation.section.angle-brackets.start.template.definition.cuda-cpp\"},\"3\":{\"name\":\"meta.template.definition.cuda-cpp\",\"patterns\":[{\"include\":\"#template_definition_context\"}]},\"4\":{\"name\":\"punctuation.section.angle-brackets.end.template.definition.cuda-cpp\"}}},\"ternary_operator\":{\"begin\":\"\\\\?\",\"end\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.cuda-cpp\"}},\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#string_context\"},{\"include\":\"#number_literal\"},{\"include\":\"#method_access\"},{\"include\":\"#member_access\"},{\"include\":\"#predefined_macros\"},{\"include\":\"#operators\"},{\"include\":\"#memory_operators\"},{\"include\":\"#wordlike_operators\"},{\"include\":\"#type_casting_operators\"},{\"include\":\"#control_flow_keywords\"},{\"include\":\"#exception_keywords\"},{\"include\":\"#the_this_keyword\"},{\"include\":\"#language_constants\"},{\"include\":\"#builtin_storage_type_initilizer\"},{\"include\":\"#qualifiers_and_specifiers_post_parameters\"},{\"include\":\"#functional_specifiers_pre_parameters\"},{\"include\":\"#storage_types\"},{\"include\":\"#lambdas\"},{\"include\":\"#attributes_context\"},{\"include\":\"#parentheses\"},{\"include\":\"#function_call\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"include\":\"#square_brackets\"},{\"include\":\"#semicolon\"},{\"include\":\"#comma\"}],\"applyEndPatternLast\":1},\"the_this_keyword\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)this(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"variable.language.this.cuda-cpp\"}}},\"type_alias\":{\"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)\",\"captures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"},\"2\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"3\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"4\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"5\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"9\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"11\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"12\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"14\":{\"name\":\"keyword.operator.assignment.cuda-cpp\"},\"15\":{\"name\":\"keyword.other.typename.cuda-cpp\"},\"16\":{\"patterns\":[{\"include\":\"#storage_specifiers\"}]},\"17\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"18\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"19\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"20\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"21\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"22\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"23\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"24\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"25\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"27\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"28\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"30\":{\"name\":\"meta.declaration.type.alias.value.unknown.cuda-cpp\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"31\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"32\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"33\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"34\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"35\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"36\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"37\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"38\":{\"name\":\"punctuation.definition.begin.bracket.square.cuda-cpp\"},\"39\":{\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"40\":{\"name\":\"punctuation.definition.end.bracket.square.cuda-cpp\"},\"41\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.declaration.type.alias.cuda-cpp\"},\"type_casting_operators\":{\"match\":\"((?:((?:(?>(?:\\\\s)+)|\\\\/\\\\*(?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+(?:\\\\*)++\\\\/)+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))((?<!\\\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\\\w))\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"3\":{\"name\":\"keyword.operator.wordlike.cuda-cpp keyword.operator.cast.$3.cuda-cpp\"}}},\"typedef_class\":{\"begin\":\"((?<!\\\\w)typedef(?!\\\\w))(?:(?:\\\\s)+)?(?=(?<!\\\\w)class(?!\\\\w))\",\"end\":\"(?<=;)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.typedef.cuda-cpp\"}},\"endCaptures\":{},\"patterns\":[{\"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)))(:(?!:)))?)\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.class.cuda-cpp\"},\"1\":{\"name\":\"storage.type.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"((?<!\\\\w)final(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\",\"captures\":{\"1\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"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))))?(?=:|{|$)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.class.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\"DLLEXPORT\",\"name\":\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"20\":{\"name\":\"punctuation.separator.colon.inheritance.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.class.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.class.cuda-cpp\"}},\"name\":\"meta.head.class.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#inheritance_context\"},{\"include\":\"#template_call_range\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.class.cuda-cpp\"}},\"name\":\"meta.body.class.cuda-cpp\",\"patterns\":[{\"include\":\"#function_pointer\"},{\"include\":\"#static_assert\"},{\"include\":\"#constructor_inline\"},{\"include\":\"#destructor_inline\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.class.cuda-cpp\",\"patterns\":[{\"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))\",\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"12\":{\"name\":\"comment.block.cuda-cpp\"},\"13\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"14\":{\"name\":\"entity.name.type.alias.cuda-cpp\"}}},{\"match\":\",\"}]}]}]},\"typedef_function_pointer\":{\"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*\\\\))\",\"end\":\"(?<=;)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.typedef.cuda-cpp\"}},\"endCaptures\":{},\"patterns\":[{\"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)+)?(\\\\()\",\"end\":\"(\\\\))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(?=[{=,);>]|\\\\n)(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"3\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"4\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"5\":{\"name\":\"comment.block.cuda-cpp\"},\"6\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"12\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"13\":{},\"14\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"15\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"16\":{\"name\":\"comment.block.cuda-cpp\"},\"17\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"18\":{},\"19\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"20\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"21\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"22\":{\"name\":\"comment.block.cuda-cpp\"},\"23\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"24\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"25\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"26\":{\"name\":\"comment.block.cuda-cpp\"},\"27\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"28\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"29\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"30\":{\"name\":\"comment.block.cuda-cpp\"},\"31\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"32\":{\"name\":\"punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp\"},\"33\":{\"name\":\"punctuation.definition.function.pointer.dereference.cuda-cpp\"},\"34\":{\"name\":\"entity.name.type.alias.cuda-cpp entity.name.type.pointer.function.cuda-cpp\"},\"35\":{\"name\":\"punctuation.definition.begin.bracket.square.cuda-cpp\"},\"36\":{\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"37\":{\"name\":\"punctuation.definition.end.bracket.square.cuda-cpp\"},\"38\":{\"name\":\"punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp\"},\"39\":{\"name\":\"punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"patterns\":[{\"include\":\"#function_parameter_context\"}]}]},\"typedef_struct\":{\"begin\":\"((?<!\\\\w)typedef(?!\\\\w))(?:(?:\\\\s)+)?(?=(?<!\\\\w)struct(?!\\\\w))\",\"end\":\"(?<=;)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.typedef.cuda-cpp\"}},\"endCaptures\":{},\"patterns\":[{\"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)))(:(?!:)))?)\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.struct.cuda-cpp\"},\"1\":{\"name\":\"storage.type.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"((?<!\\\\w)final(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\",\"captures\":{\"1\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"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))))?(?=:|{|$)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.struct.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\"DLLEXPORT\",\"name\":\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"20\":{\"name\":\"punctuation.separator.colon.inheritance.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.struct.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.struct.cuda-cpp\"}},\"name\":\"meta.head.struct.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#inheritance_context\"},{\"include\":\"#template_call_range\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.struct.cuda-cpp\"}},\"name\":\"meta.body.struct.cuda-cpp\",\"patterns\":[{\"include\":\"#function_pointer\"},{\"include\":\"#static_assert\"},{\"include\":\"#constructor_inline\"},{\"include\":\"#destructor_inline\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.struct.cuda-cpp\",\"patterns\":[{\"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))\",\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"12\":{\"name\":\"comment.block.cuda-cpp\"},\"13\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"14\":{\"name\":\"entity.name.type.alias.cuda-cpp\"}}},{\"match\":\",\"}]}]}]},\"typedef_union\":{\"begin\":\"((?<!\\\\w)typedef(?!\\\\w))(?:(?:\\\\s)+)?(?=(?<!\\\\w)union(?!\\\\w))\",\"end\":\"(?<=;)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.typedef.cuda-cpp\"}},\"endCaptures\":{},\"patterns\":[{\"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)))(:(?!:)))?)\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.union.cuda-cpp\"},\"1\":{\"name\":\"storage.type.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"((?<!\\\\w)final(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\",\"captures\":{\"1\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"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))))?(?=:|{|$)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.union.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\"DLLEXPORT\",\"name\":\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"20\":{\"name\":\"punctuation.separator.colon.inheritance.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.union.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.union.cuda-cpp\"}},\"name\":\"meta.head.union.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#inheritance_context\"},{\"include\":\"#template_call_range\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.union.cuda-cpp\"}},\"name\":\"meta.body.union.cuda-cpp\",\"patterns\":[{\"include\":\"#function_pointer\"},{\"include\":\"#static_assert\"},{\"include\":\"#constructor_inline\"},{\"include\":\"#destructor_inline\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.union.cuda-cpp\",\"patterns\":[{\"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))\",\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"8\":{\"name\":\"comment.block.cuda-cpp\"},\"9\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"12\":{\"name\":\"comment.block.cuda-cpp\"},\"13\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"14\":{\"name\":\"entity.name.type.alias.cuda-cpp\"}}},{\"match\":\",\"}]}]}]},\"typeid_operator\":{\"begin\":\"((?<!\\\\w)typeid(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))(\\\\()\",\"end\":\"\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.functionlike.cuda-cpp keyword.operator.typeid.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"punctuation.section.arguments.begin.bracket.round.operator.typeid.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.arguments.end.bracket.round.operator.typeid.cuda-cpp\"}},\"contentName\":\"meta.arguments.operator.typeid\",\"patterns\":[{\"include\":\"#evaluation_context\"}]},\"typename\":{\"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<:.]))\",\"captures\":{\"1\":{\"name\":\"storage.modifier.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"5\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"6\":{\"name\":\"meta.qualified_type.cuda-cpp\",\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp\"},{\"match\":\"(?<!\\\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\\\w)\",\"name\":\"storage.type.$0.cuda-cpp\"},{\"include\":\"#attributes_context\"},{\"include\":\"#storage_types\"},{\"include\":\"#number_literal\"},{\"include\":\"#string_context\"},{\"include\":\"#comma\"},{\"include\":\"#scope_resolution_inner_generated\"},{\"begin\":\"<\",\"end\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.begin.template.call.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.angle-brackets.end.template.call.cuda-cpp\"}},\"name\":\"meta.template.call.cuda-cpp\",\"patterns\":[{\"include\":\"#template_call_context\"}]},{\"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}))*\",\"name\":\"entity.name.type.cuda-cpp\"}]},\"7\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"patterns\":[{\"match\":\"::\",\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp\"},{\"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)\",\"name\":\"entity.name.scope-resolution.type.cuda-cpp\"},{\"include\":\"#template_call_range\"}]},\"13\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"14\":{},\"15\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"16\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"17\":{}}},\"undef\":{\"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))\",\"captures\":{\"1\":{\"name\":\"keyword.control.directive.undef.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"punctuation.definition.directive.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"6\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"7\":{\"name\":\"entity.name.function.preprocessor.cuda-cpp\"}},\"name\":\"meta.preprocessor.undef.cuda-cpp\"},\"union_block\":{\"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)))(:(?!:)))?)\",\"end\":\"(?:(?:(?<=\\\\}|%>|\\\\?\\\\?>)(?:(?:\\\\s)+)?(;)|(;))|(?=[;>\\\\[\\\\]=]))\",\"beginCaptures\":{\"0\":{\"name\":\"meta.head.union.cuda-cpp\"},\"1\":{\"name\":\"storage.type.$1.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#attributes_context\"},{\"include\":\"#number_literal\"}]},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"11\":{\"patterns\":[{\"match\":\"((?<!\\\\w)final(?!\\\\w))((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))\",\"captures\":{\"1\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"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))))?(?=:|{|$)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.union.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"4\":{\"name\":\"comment.block.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"6\":{\"name\":\"storage.type.modifier.final.cuda-cpp\"},\"7\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"8\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"9\":{\"name\":\"comment.block.cuda-cpp\"},\"10\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}},{\"match\":\"DLLEXPORT\",\"name\":\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp\"},{\"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}))*\",\"name\":\"entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp\"}]},\"12\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"13\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"14\":{\"name\":\"comment.block.cuda-cpp\"},\"15\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"16\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"17\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"18\":{\"name\":\"comment.block.cuda-cpp\"},\"19\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]},\"20\":{\"name\":\"punctuation.separator.colon.inheritance.cuda-cpp\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"},\"2\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.block.union.cuda-cpp\",\"patterns\":[{\"begin\":\"\\\\G ?\",\"end\":\"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.begin.bracket.curly.union.cuda-cpp\"}},\"name\":\"meta.head.union.cuda-cpp\",\"patterns\":[{\"include\":\"#ever_present_context\"},{\"include\":\"#inheritance_context\"},{\"include\":\"#template_call_range\"}]},{\"begin\":\"(?<=\\\\{|<%|\\\\?\\\\?<)\",\"end\":\"\\\\}|%>|\\\\?\\\\?>\",\"beginCaptures\":{},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.bracket.curly.union.cuda-cpp\"}},\"name\":\"meta.body.union.cuda-cpp\",\"patterns\":[{\"include\":\"#function_pointer\"},{\"include\":\"#static_assert\"},{\"include\":\"#constructor_inline\"},{\"include\":\"#destructor_inline\"},{\"include\":\"$self\"}]},{\"begin\":\"(?<=\\\\}|%>|\\\\?\\\\?>)[\\\\s]*\",\"end\":\"[\\\\s]*(?=;)\",\"beginCaptures\":{},\"endCaptures\":{},\"name\":\"meta.tail.union.cuda-cpp\",\"patterns\":[{\"include\":\"$self\"}]}]},\"union_declare\":{\"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])\",\"captures\":{\"1\":{\"name\":\"storage.type.union.declare.cuda-cpp\"},\"2\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"3\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"4\":{\"name\":\"entity.name.type.union.cuda-cpp\"},\"5\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"storage.modifier.pointer.cuda-cpp\"},{\"match\":\"(?:\\\\&((?:(?:(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))+)|(?:\\\\b)|(?=\\\\W)|(?<=\\\\W)|(?:\\\\A)|(?:\\\\Z)))){2,}\\\\&\",\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"2\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"3\":{\"name\":\"comment.block.cuda-cpp\"},\"4\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}},\"name\":\"invalid.illegal.reference-type.cuda-cpp\"},{\"match\":\"\\\\&\",\"name\":\"storage.modifier.reference.cuda-cpp\"}]},\"6\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"7\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"8\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"9\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"10\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"11\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]},\"12\":{\"name\":\"variable.other.object.declare.cuda-cpp\"},\"13\":{\"patterns\":[{\"include\":\"#inline_comment\"}]},\"14\":{\"patterns\":[{\"match\":\"(?:(?>(?:\\\\s)+)|(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/)))\",\"captures\":{\"1\":{\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp\"},\"2\":{\"name\":\"comment.block.cuda-cpp\"},\"3\":{\"patterns\":[{\"match\":\"\\\\*\\\\/\",\"name\":\"comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp\"},{\"match\":\"\\\\*\",\"name\":\"comment.block.cuda-cpp\"}]}}}]}}},\"using_name\":{\"match\":\"(using)(?:\\\\s)+(?!namespace\\\\b)\",\"captures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"}}},\"using_namespace\":{\"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)\",\"end\":\";\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.using.directive.cuda-cpp\"},\"2\":{\"name\":\"keyword.other.namespace.directive.cuda-cpp storage.type.namespace.directive.cuda-cpp\"},\"3\":{\"patterns\":[{\"include\":\"#scope_resolution_namespace_using_inner_generated\"}]},\"4\":{\"name\":\"punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp\"},\"5\":{\"patterns\":[{\"include\":\"#template_call_range\"}]},\"6\":{},\"7\":{\"name\":\"entity.name.namespace.cuda-cpp\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.cuda-cpp\"}},\"name\":\"meta.using-namespace.cuda-cpp\"},\"vararg_ellipses\":{\"match\":\"(?<!\\\\.)\\\\.\\\\.\\\\.(?!\\\\.)\",\"name\":\"punctuation.vararg-ellipses.cuda-cpp\"},\"wordlike_operators\":{\"patterns\":[{\"match\":\"(?<!\\\\w)(?:(?:noexcept)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:compl)|(?:bitor)|(?:or_eq)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:or))(?!\\\\w)\",\"name\":\"keyword.operator.wordlike.cuda-cpp keyword.operator.$0.cuda-cpp\"}]}}}";
2
- export { cudaCpp_tmLanguage_json as default };