@underpostnet/cyberia 3.3.73 → 3.3.77

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 (269) hide show
  1. package/.env.example +17 -5
  2. package/.github/workflows/coverall.cyberia.ci.yml +10 -0
  3. package/.github/workflows/docker-image.cyberia-client.ci.yml +1 -1
  4. package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +1 -1
  5. package/.github/workflows/docker-image.cyberia-server.ci.yml +1 -1
  6. package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +1 -1
  7. package/.github/workflows/docker-image.engine-cyberia.ci.yml +1 -1
  8. package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +1 -1
  9. package/.github/workflows/engine-cyberia.ci.yml +1 -1
  10. package/.github/workflows/publish.cyberia.ci.yml +44 -0
  11. package/AGENTS.md +61 -12
  12. package/CHANGELOG.md +159 -161
  13. package/CLI-HELP.md +20 -13
  14. package/Dockerfile +1 -1
  15. package/Dockerfile.dev +1 -1
  16. package/Dockerfile.test +2 -2
  17. package/README.md +28 -28
  18. package/bin/build.js +96 -21
  19. package/bin/cyberia.js +1247 -1373
  20. package/bin/index.js +1247 -1373
  21. package/compose.env +17 -5
  22. package/conf.js +7 -4
  23. package/deploy/cyberia-client/deploy.sh +10 -11
  24. package/deploy/cyberia-client/package.sh +0 -1
  25. package/deploy/cyberia-client/state.sh +3 -2
  26. package/deploy/cyberia-server/deploy.sh +10 -11
  27. package/deploy/cyberia-server/package.sh +0 -1
  28. package/deploy/cyberia-server/state.sh +3 -2
  29. package/deploy/dd-cyberia/deploy.sh +5 -5
  30. package/deploy/dd-cyberia/init.sh +15 -14
  31. package/deploy/dd-cyberia/package.sh +0 -1
  32. package/deploy/dd-cyberia/state.sh +2 -2
  33. package/deploy/dd-cyberia/sync-deploy.sh +139 -75
  34. package/deploy/lib/config.sh +29 -0
  35. package/deploy/lib/github-actions-logging.sh +92 -76
  36. package/deploy/lib/host.sh +28 -19
  37. package/deploy/lib/state.sh +4 -1
  38. package/deploy/pwa-microservices-template/deploy.sh +10 -8
  39. package/deploy/release/deploy.sh +0 -2
  40. package/deployment.yaml +1 -1
  41. package/docker-compose.yml +23 -17
  42. package/docs/coverage/cyberia/api/cyberia-instance/cyberia-fallback-capture.js.html +1591 -0
  43. package/docs/coverage/cyberia/api/cyberia-instance/index.html +116 -0
  44. package/docs/coverage/cyberia/api/cyberia-server-defaults/cyberia-server-defaults.js.html +4138 -0
  45. package/docs/coverage/cyberia/api/cyberia-server-defaults/index.html +116 -0
  46. package/docs/coverage/cyberia/api/object-layer/index.html +116 -0
  47. package/docs/coverage/cyberia/api/object-layer/object-layer.model.js.html +1393 -0
  48. package/docs/coverage/cyberia/base.css +362 -0
  49. package/docs/coverage/cyberia/block-navigation.js +82 -0
  50. package/docs/coverage/cyberia/favicon.png +0 -0
  51. package/docs/coverage/cyberia/index.html +161 -0
  52. package/docs/coverage/cyberia/prettify.css +101 -0
  53. package/docs/coverage/cyberia/prettify.js +937 -0
  54. package/docs/coverage/cyberia/projects/cyberia/atlas-sprite-sheet-generator.js.html +1315 -0
  55. package/docs/coverage/cyberia/projects/cyberia/index.html +176 -0
  56. package/docs/coverage/cyberia/projects/cyberia/instance-backup.js.html +715 -0
  57. package/docs/coverage/cyberia/projects/cyberia/instance-data.js.html +2182 -0
  58. package/docs/coverage/cyberia/projects/cyberia/shape-generator.js.html +3265 -0
  59. package/docs/coverage/cyberia/projects/cyberia/stat-balance.js.html +328 -0
  60. package/docs/coverage/cyberia/sort-arrow-sprite.png +0 -0
  61. package/docs/coverage/cyberia/sorter.js +205 -0
  62. package/hardhat/package-lock.json +2 -2
  63. package/hardhat/package.json +1 -1
  64. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  65. package/manifests/cronjobs/dd-cron/dd-cron-vultr.yaml +1 -1
  66. package/manifests/deployment/dd-cyberia-development/deployment.yaml +1 -1
  67. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  68. package/manifests/deployment/mongo-express/deployment.yaml +46 -27
  69. package/manifests/deployment/mongo-express/kustomization.yaml +9 -0
  70. package/manifests/deployment/mongo-express/mongo-express-nodeport.yaml +18 -0
  71. package/manifests/deployment/mongo-express/service.yaml +16 -0
  72. package/manifests/deployment/mongo-express-no-auth/disable-mongodb-auth.yaml +16 -0
  73. package/manifests/deployment/mongo-express-no-auth/kustomization.yaml +16 -0
  74. package/package.json +19 -17
  75. package/scripts/test-monitor.sh +3 -3
  76. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +14 -9
  77. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +36 -5
  78. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  79. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +88 -184
  80. package/src/api/cyberia-action/cyberia-action.router.js +2 -2
  81. package/src/api/cyberia-action/cyberia-action.service.js +3 -4
  82. package/src/api/cyberia-audio/cyberia-audio.controller.js +6 -0
  83. package/src/api/cyberia-audio/cyberia-audio.model.js +61 -0
  84. package/src/api/cyberia-audio/cyberia-audio.router.js +21 -0
  85. package/src/api/cyberia-audio/cyberia-audio.service.js +220 -0
  86. package/src/api/cyberia-client-hints/cyberia-client-hints.controller.js +1 -3
  87. package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +10 -19
  88. package/src/api/cyberia-client-hints/cyberia-client-hints.router.js +12 -34
  89. package/src/api/cyberia-client-hints/cyberia-client-hints.service.js +15 -32
  90. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +1 -1
  91. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +1 -1
  92. package/src/api/cyberia-entity/cyberia-entity.model.js +2 -0
  93. package/src/api/cyberia-entity/cyberia-entity.service.js +1 -1
  94. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +8 -2
  95. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +31 -20
  96. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +16 -1
  97. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +466 -3
  98. package/src/api/cyberia-instance/cyberia-fallback-capture.js +87 -51
  99. package/src/api/cyberia-instance/cyberia-fallback-world.js +21 -40
  100. package/src/api/cyberia-instance/cyberia-instance-boot.service.js +5 -5
  101. package/src/api/cyberia-instance/cyberia-instance-items.js +98 -0
  102. package/src/api/cyberia-instance/cyberia-instance-map.service.js +34 -141
  103. package/src/api/cyberia-instance/cyberia-instance.controller.js +1 -4
  104. package/src/api/cyberia-instance/cyberia-instance.model.js +0 -14
  105. package/src/api/cyberia-instance/cyberia-instance.router.js +3 -16
  106. package/src/api/cyberia-instance/cyberia-instance.service.js +3 -43
  107. package/src/api/cyberia-instance/cyberia-world-generator.js +8 -13
  108. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +49 -75
  109. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +74 -1
  110. package/src/api/cyberia-map/cyberia-map.service.js +6 -2
  111. package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.controller.js +31 -0
  112. package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.model.js +56 -0
  113. package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.router.js +33 -0
  114. package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.service.js +189 -0
  115. package/src/api/cyberia-quest/cyberia-quest.router.js +3 -3
  116. package/src/api/cyberia-quest/cyberia-quest.service.js +3 -3
  117. package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +1 -1
  118. package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +403 -188
  119. package/src/api/cyberia-skill/cyberia-skill.model.js +6 -6
  120. package/src/api/file/file.ref.js +153 -0
  121. package/src/api/file/file.ref.json +11 -2
  122. package/src/api/object-layer/object-layer.model.js +47 -12
  123. package/src/api/object-layer/object-layer.router.js +10 -3
  124. package/src/api/object-layer/object-layer.service.js +113 -120
  125. package/src/cli/app.js +12 -1
  126. package/src/cli/client.js +2 -2
  127. package/src/cli/cluster.js +80 -18
  128. package/src/cli/deploy.js +215 -34
  129. package/src/cli/docker-compose.js +1 -1
  130. package/src/cli/fs-selection.js +115 -0
  131. package/src/cli/fs.js +158 -342
  132. package/src/cli/index.js +22 -10
  133. package/src/cli/release.js +3 -1
  134. package/src/cli/repository.js +35 -9
  135. package/src/cli/run.js +80 -199
  136. package/src/cli/test.js +4 -0
  137. package/src/cli/wireguard.js +32 -31
  138. package/src/client/components/core/Badge.js +0 -1
  139. package/src/client/components/core/CssCore.js +8 -1
  140. package/src/client/components/core/Docs.js +77 -100
  141. package/src/client/components/core/Modal.js +77 -23
  142. package/src/client/components/core/ToolTip.js +15 -0
  143. package/src/client/components/cryptokoyn/AppShellCryptokoyn.js +0 -2
  144. package/src/client/components/cyberia/ActionEngineCyberia.js +12 -36
  145. package/src/client/components/cyberia/EntityEngineCyberia.js +492 -121
  146. package/src/client/components/cyberia/InstanceEngineCyberia.js +129 -160
  147. package/src/client/components/cyberia/InstanceSelectionView.js +7 -1
  148. package/src/client/components/cyberia/MapEngineCyberia.js +175 -69
  149. package/src/client/components/cyberia/ObjectLayerEngine.js +1011 -97
  150. package/src/client/components/cyberia/ObjectLayerEngineModal.js +81 -155
  151. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +113 -98
  152. package/src/client/components/cyberia/SharedDefaultsCyberia.js +215 -56
  153. package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +0 -34
  154. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +1 -1
  155. package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +712 -76
  156. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +0 -4
  157. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +0 -4
  158. package/src/client/components/default/AppShellDefault.js +1 -4
  159. package/src/client/components/itemledger/AppShellItemledger.js +0 -2
  160. package/src/client/components/underpost/AppShellUnderpost.js +1 -1
  161. package/src/client/public/cyberia-docs/ARCHITECTURE.md +15 -15
  162. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +280 -24
  163. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +51 -29
  164. package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +52 -53
  165. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +16 -11
  166. package/src/client/public/cyberia-docs/CYBERIA.md +28 -28
  167. package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +11 -5
  168. package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
  169. package/src/client/public/cyberia-docs/STATS-PROGRESSION.md +217 -0
  170. package/src/client/public/cyberia-docs/WHITE-PAPER.md +20 -12
  171. package/src/client/services/cyberia-audio/cyberia-audio.service.js +99 -0
  172. package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +38 -0
  173. package/src/client/services/cyberia-instance/cyberia-instance.management.js +5 -4
  174. package/src/client/services/cyberia-instance/cyberia-instance.service.js +0 -40
  175. package/src/client/services/cyberia-map/cyberia-map.management.js +5 -4
  176. package/src/client/services/cyberia-map-audio-conf/cyberia-map-audio-conf.service.js +138 -0
  177. package/src/client/services/object-layer/object-layer.management.js +6 -10
  178. package/src/client/services/object-layer/object-layer.service.js +3 -1
  179. package/src/client/ssr/views/Cyberia404.js +3 -3
  180. package/src/client-builder/client-build-docs.js +52 -52
  181. package/src/client-builder/client-build.js +67 -44
  182. package/src/client-builder/client-bundle.js +347 -0
  183. package/src/db/mongo/MongoExpress.js +187 -0
  184. package/src/grpc/cyberia/grpc-server.js +5 -7
  185. package/src/index.js +1 -1
  186. package/src/projects/cyberia/atlas-sprite-sheet-generator.js +143 -146
  187. package/src/projects/cyberia/atlas-sprite-sheet-store.js +391 -0
  188. package/src/projects/cyberia/besu-genesis-generator.js +5 -14
  189. package/src/projects/cyberia/boot-contract-fixtures.js +32 -0
  190. package/src/projects/cyberia/catalog-cyberia.js +3 -2
  191. package/src/projects/cyberia/gemini-client.js +3 -3
  192. package/src/projects/cyberia/generate-saga.js +4 -11
  193. package/src/projects/cyberia/hot-reload-trigger.js +17 -28
  194. package/src/projects/cyberia/instance-backup.js +210 -0
  195. package/src/projects/cyberia/instance-data.js +177 -257
  196. package/src/projects/cyberia/map-preview-generator.js +32 -68
  197. package/src/projects/cyberia/object-layer.js +152 -319
  198. package/src/projects/cyberia/seed-audio.js +139 -0
  199. package/src/projects/cyberia/semantic-layer-generator-skin.js +2 -8
  200. package/src/projects/cyberia/semantic-layer-generator.js +2 -18
  201. package/src/projects/cyberia/stat-balance.js +81 -0
  202. package/src/projects/cyberia/stat-commands.js +23 -0
  203. package/src/projects/cyberia/stat-contract-generator.js +101 -0
  204. package/src/runtime/cyberia-client/Dockerfile +8 -4
  205. package/src/runtime/cyberia-client/Dockerfile.dev +5 -2
  206. package/src/runtime/cyberia-server/Dockerfile +9 -2
  207. package/src/runtime/cyberia-server/Dockerfile.dev +8 -1
  208. package/src/runtime/engine-cyberia/Dockerfile +1 -1
  209. package/src/runtime/engine-cyberia/Dockerfile.dev +1 -1
  210. package/src/runtime/engine-cyberia/Dockerfile.test +2 -2
  211. package/src/runtime/engine-cyberia/compose.env +17 -5
  212. package/src/runtime/engine-cyberia/docker-compose.yml +23 -17
  213. package/src/server/build/coverage.js +113 -42
  214. package/src/server/build/package.js +55 -12
  215. package/src/server/build/testing.js +59 -9
  216. package/src/server/network/middlewares.js +8 -2
  217. package/src/server/network/underpost-gateway.js +113 -14
  218. package/src/server/ops/logger.js +70 -35
  219. package/src/server/runtime/conf.js +40 -9
  220. package/src/server/runtime/start.js +11 -2
  221. package/src/server/storage/data-query.js +16 -0
  222. package/src/server/storage/downloader.js +62 -14
  223. package/src/server/storage/zip.js +153 -0
  224. package/test/integration/app/cyberia/atlas-sprite-sheet-store.test.js +402 -0
  225. package/test/integration/app/cyberia/atlas-sprite-sheet.test.js +86 -0
  226. package/test/integration/app/cyberia/cyberia-cli-plain-reads.test.js +34 -0
  227. package/test/integration/app/cyberia/cyberia-entity-type-default.test.js +842 -0
  228. package/test/integration/app/cyberia/cyberia-instance-conf-coerce.test.js +53 -0
  229. package/test/integration/app/cyberia/cyberia-instance-conf-defaults.test.js +16 -22
  230. package/test/integration/app/cyberia/cyberia-instance-items.test.js +90 -0
  231. package/test/integration/app/cyberia/cyberia-load.test.js +6 -7
  232. package/test/integration/app/cyberia/cyberia-map-audio-conf.test.js +256 -0
  233. package/test/integration/app/cyberia/cyberia-stats.test.js +150 -0
  234. package/test/integration/app/cyberia/fallback-world-capture.test.js +87 -2
  235. package/test/integration/app/cyberia/object-layer-item-selection.test.js +56 -0
  236. package/test/integration/app/cyberia/object-layer-natural-key.test.js +32 -0
  237. package/test/integration/app/cyberia/seed-audio.test.js +275 -0
  238. package/test/integration/infra/2-network/wireguard-cli.test.js +33 -9
  239. package/test/integration/infra/2-network/wireguard-edge.test.js +58 -18
  240. package/test/integration/infra/3-cluster/mongo-express-deploy.test.js +156 -0
  241. package/test/integration/infra/4-ingress/api-cross-origin.test.js +79 -0
  242. package/test/integration/infra/4-ingress/underpost-ingress.test.js +1 -1
  243. package/test/unit/catalog.test.js +13 -2
  244. package/test/unit/client-build-docs.test.js +97 -70
  245. package/test/unit/client-bundle.test.js +313 -0
  246. package/test/unit/conf-resolution.test.js +58 -7
  247. package/test/unit/coverage-artifact.test.js +120 -29
  248. package/test/unit/cyberia/instance-backup.test.js +183 -0
  249. package/test/unit/cyberia/instance-data.test.js +314 -0
  250. package/test/unit/cyberia/instance-object-layer-items.test.js +46 -0
  251. package/test/unit/cyberia/publish-workflow.test.js +22 -0
  252. package/test/unit/cyberia/stat-balance.test.js +69 -0
  253. package/test/unit/deploy-legacy-gateway-sweep.test.js +63 -0
  254. package/test/unit/deploy-log-table.test.js +76 -5
  255. package/test/unit/downloader-integrity.test.js +98 -0
  256. package/test/unit/file-reference-registry.test.js +141 -0
  257. package/test/unit/fs-storage-paths.test.js +596 -0
  258. package/test/unit/gateway-pod-fetch.test.js +95 -0
  259. package/test/unit/letsencrypt-issuer.test.js +101 -0
  260. package/test/unit/logger-redaction.test.js +29 -0
  261. package/test/unit/package.test.js +70 -16
  262. package/test/unit/prepare-host.test.js +84 -1
  263. package/test/unit/release-bump.test.js +3 -1
  264. package/test/unit/start-options.test.js +12 -0
  265. package/test/unit/test-tiers.test.js +27 -0
  266. package/test/unit/zip-archive.test.js +142 -0
  267. package/vitest.config.js +11 -3
  268. package/src/api/cyberia-instance/cyberia-fallback-default-items.js +0 -63
  269. package/src/client/components/cyberia/FallbackWorldEngineCyberia.js +0 -368
@@ -0,0 +1,937 @@
1
+ /* eslint-disable */
2
+ window.PR_SHOULD_USE_CONTINUATION = true;
3
+ (function () {
4
+ var h = ["break,continue,do,else,for,if,return,while"];
5
+ var u = [
6
+ h,
7
+ "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile",
8
+ ];
9
+ var p = [
10
+ u,
11
+ "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof",
12
+ ];
13
+ var l = [
14
+ p,
15
+ "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where",
16
+ ];
17
+ var x = [
18
+ p,
19
+ "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient",
20
+ ];
21
+ var R = [
22
+ x,
23
+ "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var",
24
+ ];
25
+ var r =
26
+ "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";
27
+ var w = [p, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];
28
+ var s =
29
+ "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";
30
+ var I = [
31
+ h,
32
+ "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None",
33
+ ];
34
+ var f = [
35
+ h,
36
+ "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END",
37
+ ];
38
+ var H = [h, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"];
39
+ var A = [l, R, w, s + I, f, H];
40
+ var e =
41
+ /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;
42
+ var C = "str";
43
+ var z = "kwd";
44
+ var j = "com";
45
+ var O = "typ";
46
+ var G = "lit";
47
+ var L = "pun";
48
+ var F = "pln";
49
+ var m = "tag";
50
+ var E = "dec";
51
+ var J = "src";
52
+ var P = "atn";
53
+ var n = "atv";
54
+ var N = "nocode";
55
+ var M =
56
+ "(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";
57
+ function k(Z) {
58
+ var ad = 0;
59
+ var S = false;
60
+ var ac = false;
61
+ for (var V = 0, U = Z.length; V < U; ++V) {
62
+ var ae = Z[V];
63
+ if (ae.ignoreCase) {
64
+ ac = true;
65
+ } else {
66
+ if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ""))) {
67
+ S = true;
68
+ ac = false;
69
+ break;
70
+ }
71
+ }
72
+ }
73
+ var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 };
74
+ function ab(ah) {
75
+ var ag = ah.charCodeAt(0);
76
+ if (ag !== 92) {
77
+ return ag;
78
+ }
79
+ var af = ah.charAt(1);
80
+ ag = Y[af];
81
+ if (ag) {
82
+ return ag;
83
+ } else {
84
+ if ("0" <= af && af <= "7") {
85
+ return parseInt(ah.substring(1), 8);
86
+ } else {
87
+ if (af === "u" || af === "x") {
88
+ return parseInt(ah.substring(2), 16);
89
+ } else {
90
+ return ah.charCodeAt(1);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ function T(af) {
96
+ if (af < 32) {
97
+ return (af < 16 ? "\\x0" : "\\x") + af.toString(16);
98
+ }
99
+ var ag = String.fromCharCode(af);
100
+ if (ag === "\\" || ag === "-" || ag === "[" || ag === "]") {
101
+ ag = "\\" + ag;
102
+ }
103
+ return ag;
104
+ }
105
+ function X(am) {
106
+ var aq = am
107
+ .substring(1, am.length - 1)
108
+ .match(
109
+ new RegExp(
110
+ "\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]",
111
+ "g",
112
+ ),
113
+ );
114
+ var ak = [];
115
+ var af = [];
116
+ var ao = aq[0] === "^";
117
+ for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) {
118
+ var ah = aq[ar];
119
+ if (/\\[bdsw]/i.test(ah)) {
120
+ ak.push(ah);
121
+ } else {
122
+ var ag = ab(ah);
123
+ var al;
124
+ if (ar + 2 < aj && "-" === aq[ar + 1]) {
125
+ al = ab(aq[ar + 2]);
126
+ ar += 2;
127
+ } else {
128
+ al = ag;
129
+ }
130
+ af.push([ag, al]);
131
+ if (!(al < 65 || ag > 122)) {
132
+ if (!(al < 65 || ag > 90)) {
133
+ af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]);
134
+ }
135
+ if (!(al < 97 || ag > 122)) {
136
+ af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]);
137
+ }
138
+ }
139
+ }
140
+ }
141
+ af.sort(function (av, au) {
142
+ return av[0] - au[0] || au[1] - av[1];
143
+ });
144
+ var ai = [];
145
+ var ap = [NaN, NaN];
146
+ for (var ar = 0; ar < af.length; ++ar) {
147
+ var at = af[ar];
148
+ if (at[0] <= ap[1] + 1) {
149
+ ap[1] = Math.max(ap[1], at[1]);
150
+ } else {
151
+ ai.push((ap = at));
152
+ }
153
+ }
154
+ var an = ["["];
155
+ if (ao) {
156
+ an.push("^");
157
+ }
158
+ an.push.apply(an, ak);
159
+ for (var ar = 0; ar < ai.length; ++ar) {
160
+ var at = ai[ar];
161
+ an.push(T(at[0]));
162
+ if (at[1] > at[0]) {
163
+ if (at[1] + 1 > at[0]) {
164
+ an.push("-");
165
+ }
166
+ an.push(T(at[1]));
167
+ }
168
+ }
169
+ an.push("]");
170
+ return an.join("");
171
+ }
172
+ function W(al) {
173
+ var aj = al.source.match(
174
+ new RegExp(
175
+ "(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)",
176
+ "g",
177
+ ),
178
+ );
179
+ var ah = aj.length;
180
+ var an = [];
181
+ for (var ak = 0, am = 0; ak < ah; ++ak) {
182
+ var ag = aj[ak];
183
+ if (ag === "(") {
184
+ ++am;
185
+ } else {
186
+ if ("\\" === ag.charAt(0)) {
187
+ var af = +ag.substring(1);
188
+ if (af && af <= am) {
189
+ an[af] = -1;
190
+ }
191
+ }
192
+ }
193
+ }
194
+ for (var ak = 1; ak < an.length; ++ak) {
195
+ if (-1 === an[ak]) {
196
+ an[ak] = ++ad;
197
+ }
198
+ }
199
+ for (var ak = 0, am = 0; ak < ah; ++ak) {
200
+ var ag = aj[ak];
201
+ if (ag === "(") {
202
+ ++am;
203
+ if (an[am] === undefined) {
204
+ aj[ak] = "(?:";
205
+ }
206
+ } else {
207
+ if ("\\" === ag.charAt(0)) {
208
+ var af = +ag.substring(1);
209
+ if (af && af <= am) {
210
+ aj[ak] = "\\" + an[am];
211
+ }
212
+ }
213
+ }
214
+ }
215
+ for (var ak = 0, am = 0; ak < ah; ++ak) {
216
+ if ("^" === aj[ak] && "^" !== aj[ak + 1]) {
217
+ aj[ak] = "";
218
+ }
219
+ }
220
+ if (al.ignoreCase && S) {
221
+ for (var ak = 0; ak < ah; ++ak) {
222
+ var ag = aj[ak];
223
+ var ai = ag.charAt(0);
224
+ if (ag.length >= 2 && ai === "[") {
225
+ aj[ak] = X(ag);
226
+ } else {
227
+ if (ai !== "\\") {
228
+ aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) {
229
+ var ap = ao.charCodeAt(0);
230
+ return "[" + String.fromCharCode(ap & ~32, ap | 32) + "]";
231
+ });
232
+ }
233
+ }
234
+ }
235
+ }
236
+ return aj.join("");
237
+ }
238
+ var aa = [];
239
+ for (var V = 0, U = Z.length; V < U; ++V) {
240
+ var ae = Z[V];
241
+ if (ae.global || ae.multiline) {
242
+ throw new Error("" + ae);
243
+ }
244
+ aa.push("(?:" + W(ae) + ")");
245
+ }
246
+ return new RegExp(aa.join("|"), ac ? "gi" : "g");
247
+ }
248
+ function a(V) {
249
+ var U = /(?:^|\s)nocode(?:\s|$)/;
250
+ var X = [];
251
+ var T = 0;
252
+ var Z = [];
253
+ var W = 0;
254
+ var S;
255
+ if (V.currentStyle) {
256
+ S = V.currentStyle.whiteSpace;
257
+ } else {
258
+ if (window.getComputedStyle) {
259
+ S = document.defaultView.getComputedStyle(V, null).getPropertyValue("white-space");
260
+ }
261
+ }
262
+ var Y = S && "pre" === S.substring(0, 3);
263
+ function aa(ab) {
264
+ switch (ab.nodeType) {
265
+ case 1:
266
+ if (U.test(ab.className)) {
267
+ return;
268
+ }
269
+ for (var ae = ab.firstChild; ae; ae = ae.nextSibling) {
270
+ aa(ae);
271
+ }
272
+ var ad = ab.nodeName;
273
+ if ("BR" === ad || "LI" === ad) {
274
+ X[W] = "\n";
275
+ Z[W << 1] = T++;
276
+ Z[(W++ << 1) | 1] = ab;
277
+ }
278
+ break;
279
+ case 3:
280
+ case 4:
281
+ var ac = ab.nodeValue;
282
+ if (ac.length) {
283
+ if (!Y) {
284
+ ac = ac.replace(/[ \t\r\n]+/g, " ");
285
+ } else {
286
+ ac = ac.replace(/\r\n?/g, "\n");
287
+ }
288
+ X[W] = ac;
289
+ Z[W << 1] = T;
290
+ T += ac.length;
291
+ Z[(W++ << 1) | 1] = ab;
292
+ }
293
+ break;
294
+ }
295
+ }
296
+ aa(V);
297
+ return { sourceCode: X.join("").replace(/\n$/, ""), spans: Z };
298
+ }
299
+ function B(S, U, W, T) {
300
+ if (!U) {
301
+ return;
302
+ }
303
+ var V = { sourceCode: U, basePos: S };
304
+ W(V);
305
+ T.push.apply(T, V.decorations);
306
+ }
307
+ var v = /\S/;
308
+ function o(S) {
309
+ var V = undefined;
310
+ for (var U = S.firstChild; U; U = U.nextSibling) {
311
+ var T = U.nodeType;
312
+ V = T === 1 ? (V ? S : U) : T === 3 ? (v.test(U.nodeValue) ? S : V) : V;
313
+ }
314
+ return V === S ? undefined : V;
315
+ }
316
+ function g(U, T) {
317
+ var S = {};
318
+ var V;
319
+ (function () {
320
+ var ad = U.concat(T);
321
+ var ah = [];
322
+ var ag = {};
323
+ for (var ab = 0, Z = ad.length; ab < Z; ++ab) {
324
+ var Y = ad[ab];
325
+ var ac = Y[3];
326
+ if (ac) {
327
+ for (var ae = ac.length; --ae >= 0;) {
328
+ S[ac.charAt(ae)] = Y;
329
+ }
330
+ }
331
+ var af = Y[1];
332
+ var aa = "" + af;
333
+ if (!ag.hasOwnProperty(aa)) {
334
+ ah.push(af);
335
+ ag[aa] = null;
336
+ }
337
+ }
338
+ ah.push(/[\0-\uffff]/);
339
+ V = k(ah);
340
+ })();
341
+ var X = T.length;
342
+ var W = function (ah) {
343
+ var Z = ah.sourceCode,
344
+ Y = ah.basePos;
345
+ var ad = [Y, F];
346
+ var af = 0;
347
+ var an = Z.match(V) || [];
348
+ var aj = {};
349
+ for (var ae = 0, aq = an.length; ae < aq; ++ae) {
350
+ var ag = an[ae];
351
+ var ap = aj[ag];
352
+ var ai = void 0;
353
+ var am;
354
+ if (typeof ap === "string") {
355
+ am = false;
356
+ } else {
357
+ var aa = S[ag.charAt(0)];
358
+ if (aa) {
359
+ ai = ag.match(aa[1]);
360
+ ap = aa[0];
361
+ } else {
362
+ for (var ao = 0; ao < X; ++ao) {
363
+ aa = T[ao];
364
+ ai = ag.match(aa[1]);
365
+ if (ai) {
366
+ ap = aa[0];
367
+ break;
368
+ }
369
+ }
370
+ if (!ai) {
371
+ ap = F;
372
+ }
373
+ }
374
+ am = ap.length >= 5 && "lang-" === ap.substring(0, 5);
375
+ if (am && !(ai && typeof ai[1] === "string")) {
376
+ am = false;
377
+ ap = J;
378
+ }
379
+ if (!am) {
380
+ aj[ag] = ap;
381
+ }
382
+ }
383
+ var ab = af;
384
+ af += ag.length;
385
+ if (!am) {
386
+ ad.push(Y + ab, ap);
387
+ } else {
388
+ var al = ai[1];
389
+ var ak = ag.indexOf(al);
390
+ var ac = ak + al.length;
391
+ if (ai[2]) {
392
+ ac = ag.length - ai[2].length;
393
+ ak = ac - al.length;
394
+ }
395
+ var ar = ap.substring(5);
396
+ B(Y + ab, ag.substring(0, ak), W, ad);
397
+ B(Y + ab + ak, al, q(ar, al), ad);
398
+ B(Y + ab + ac, ag.substring(ac), W, ad);
399
+ }
400
+ }
401
+ ah.decorations = ad;
402
+ };
403
+ return W;
404
+ }
405
+ function i(T) {
406
+ var W = [],
407
+ S = [];
408
+ if (T.tripleQuotedStrings) {
409
+ W.push([
410
+ C,
411
+ /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
412
+ null,
413
+ "'\"",
414
+ ]);
415
+ } else {
416
+ if (T.multiLineStrings) {
417
+ W.push([
418
+ C,
419
+ /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
420
+ null,
421
+ "'\"`",
422
+ ]);
423
+ } else {
424
+ W.push([
425
+ C,
426
+ /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
427
+ null,
428
+ "\"'",
429
+ ]);
430
+ }
431
+ }
432
+ if (T.verbatimStrings) {
433
+ S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
434
+ }
435
+ var Y = T.hashComments;
436
+ if (Y) {
437
+ if (T.cStyleComments) {
438
+ if (Y > 1) {
439
+ W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, "#"]);
440
+ } else {
441
+ W.push([
442
+ j,
443
+ /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
444
+ null,
445
+ "#",
446
+ ]);
447
+ }
448
+ S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]);
449
+ } else {
450
+ W.push([j, /^#[^\r\n]*/, null, "#"]);
451
+ }
452
+ }
453
+ if (T.cStyleComments) {
454
+ S.push([j, /^\/\/[^\r\n]*/, null]);
455
+ S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
456
+ }
457
+ if (T.regexLiterals) {
458
+ var X =
459
+ "/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/";
460
+ S.push(["lang-regex", new RegExp("^" + M + "(" + X + ")")]);
461
+ }
462
+ var V = T.types;
463
+ if (V) {
464
+ S.push([O, V]);
465
+ }
466
+ var U = ("" + T.keywords).replace(/^ | $/g, "");
467
+ if (U.length) {
468
+ S.push([z, new RegExp("^(?:" + U.replace(/[\s,]+/g, "|") + ")\\b"), null]);
469
+ }
470
+ W.push([F, /^\s+/, null, " \r\n\t\xA0"]);
471
+ S.push(
472
+ [G, /^@[a-z_$][a-z_$@0-9]*/i, null],
473
+ [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null],
474
+ [F, /^[a-z_$][a-z_$@0-9]*/i, null],
475
+ [
476
+ G,
477
+ new RegExp(
478
+ "^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*",
479
+ "i",
480
+ ),
481
+ null,
482
+ "0123456789",
483
+ ],
484
+ [F, /^\\[\s\S]?/, null],
485
+ [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null],
486
+ );
487
+ return g(W, S);
488
+ }
489
+ var K = i({
490
+ keywords: A,
491
+ hashComments: true,
492
+ cStyleComments: true,
493
+ multiLineStrings: true,
494
+ regexLiterals: true,
495
+ });
496
+ function Q(V, ag) {
497
+ var U = /(?:^|\s)nocode(?:\s|$)/;
498
+ var ab = /\r\n?|\n/;
499
+ var ac = V.ownerDocument;
500
+ var S;
501
+ if (V.currentStyle) {
502
+ S = V.currentStyle.whiteSpace;
503
+ } else {
504
+ if (window.getComputedStyle) {
505
+ S = ac.defaultView.getComputedStyle(V, null).getPropertyValue("white-space");
506
+ }
507
+ }
508
+ var Z = S && "pre" === S.substring(0, 3);
509
+ var af = ac.createElement("LI");
510
+ while (V.firstChild) {
511
+ af.appendChild(V.firstChild);
512
+ }
513
+ var W = [af];
514
+ function ae(al) {
515
+ switch (al.nodeType) {
516
+ case 1:
517
+ if (U.test(al.className)) {
518
+ break;
519
+ }
520
+ if ("BR" === al.nodeName) {
521
+ ad(al);
522
+ if (al.parentNode) {
523
+ al.parentNode.removeChild(al);
524
+ }
525
+ } else {
526
+ for (var an = al.firstChild; an; an = an.nextSibling) {
527
+ ae(an);
528
+ }
529
+ }
530
+ break;
531
+ case 3:
532
+ case 4:
533
+ if (Z) {
534
+ var am = al.nodeValue;
535
+ var aj = am.match(ab);
536
+ if (aj) {
537
+ var ai = am.substring(0, aj.index);
538
+ al.nodeValue = ai;
539
+ var ah = am.substring(aj.index + aj[0].length);
540
+ if (ah) {
541
+ var ak = al.parentNode;
542
+ ak.insertBefore(ac.createTextNode(ah), al.nextSibling);
543
+ }
544
+ ad(al);
545
+ if (!ai) {
546
+ al.parentNode.removeChild(al);
547
+ }
548
+ }
549
+ }
550
+ break;
551
+ }
552
+ }
553
+ function ad(ak) {
554
+ while (!ak.nextSibling) {
555
+ ak = ak.parentNode;
556
+ if (!ak) {
557
+ return;
558
+ }
559
+ }
560
+ function ai(al, ar) {
561
+ var aq = ar ? al.cloneNode(false) : al;
562
+ var ao = al.parentNode;
563
+ if (ao) {
564
+ var ap = ai(ao, 1);
565
+ var an = al.nextSibling;
566
+ ap.appendChild(aq);
567
+ for (var am = an; am; am = an) {
568
+ an = am.nextSibling;
569
+ ap.appendChild(am);
570
+ }
571
+ }
572
+ return aq;
573
+ }
574
+ var ah = ai(ak.nextSibling, 0);
575
+ for (var aj; (aj = ah.parentNode) && aj.nodeType === 1;) {
576
+ ah = aj;
577
+ }
578
+ W.push(ah);
579
+ }
580
+ for (var Y = 0; Y < W.length; ++Y) {
581
+ ae(W[Y]);
582
+ }
583
+ if (ag === (ag | 0)) {
584
+ W[0].setAttribute("value", ag);
585
+ }
586
+ var aa = ac.createElement("OL");
587
+ aa.className = "linenums";
588
+ var X = Math.max(0, (ag - 1) | 0) || 0;
589
+ for (var Y = 0, T = W.length; Y < T; ++Y) {
590
+ af = W[Y];
591
+ af.className = "L" + ((Y + X) % 10);
592
+ if (!af.firstChild) {
593
+ af.appendChild(ac.createTextNode("\xA0"));
594
+ }
595
+ aa.appendChild(af);
596
+ }
597
+ V.appendChild(aa);
598
+ }
599
+ function D(ac) {
600
+ var aj = /\bMSIE\b/.test(navigator.userAgent);
601
+ var am = /\n/g;
602
+ var al = ac.sourceCode;
603
+ var an = al.length;
604
+ var V = 0;
605
+ var aa = ac.spans;
606
+ var T = aa.length;
607
+ var ah = 0;
608
+ var X = ac.decorations;
609
+ var Y = X.length;
610
+ var Z = 0;
611
+ X[Y] = an;
612
+ var ar, aq;
613
+ for (aq = ar = 0; aq < Y;) {
614
+ if (X[aq] !== X[aq + 2]) {
615
+ X[ar++] = X[aq++];
616
+ X[ar++] = X[aq++];
617
+ } else {
618
+ aq += 2;
619
+ }
620
+ }
621
+ Y = ar;
622
+ for (aq = ar = 0; aq < Y;) {
623
+ var at = X[aq];
624
+ var ab = X[aq + 1];
625
+ var W = aq + 2;
626
+ while (W + 2 <= Y && X[W + 1] === ab) {
627
+ W += 2;
628
+ }
629
+ X[ar++] = at;
630
+ X[ar++] = ab;
631
+ aq = W;
632
+ }
633
+ Y = X.length = ar;
634
+ var ae = null;
635
+ while (ah < T) {
636
+ var af = aa[ah];
637
+ var S = aa[ah + 2] || an;
638
+ var ag = X[Z];
639
+ var ap = X[Z + 2] || an;
640
+ var W = Math.min(S, ap);
641
+ var ak = aa[ah + 1];
642
+ var U;
643
+ if (ak.nodeType !== 1 && (U = al.substring(V, W))) {
644
+ if (aj) {
645
+ U = U.replace(am, "\r");
646
+ }
647
+ ak.nodeValue = U;
648
+ var ai = ak.ownerDocument;
649
+ var ao = ai.createElement("SPAN");
650
+ ao.className = X[Z + 1];
651
+ var ad = ak.parentNode;
652
+ ad.replaceChild(ao, ak);
653
+ ao.appendChild(ak);
654
+ if (V < S) {
655
+ aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S));
656
+ ad.insertBefore(ak, ao.nextSibling);
657
+ }
658
+ }
659
+ V = W;
660
+ if (V >= S) {
661
+ ah += 2;
662
+ }
663
+ if (V >= ap) {
664
+ Z += 2;
665
+ }
666
+ }
667
+ }
668
+ var t = {};
669
+ function c(U, V) {
670
+ for (var S = V.length; --S >= 0;) {
671
+ var T = V[S];
672
+ if (!t.hasOwnProperty(T)) {
673
+ t[T] = U;
674
+ } else {
675
+ if (window.console) {
676
+ console.warn("cannot override language handler %s", T);
677
+ }
678
+ }
679
+ }
680
+ }
681
+ function q(T, S) {
682
+ if (!(T && t.hasOwnProperty(T))) {
683
+ T = /^\s*</.test(S) ? "default-markup" : "default-code";
684
+ }
685
+ return t[T];
686
+ }
687
+ c(K, ["default-code"]);
688
+ c(
689
+ g(
690
+ [],
691
+ [
692
+ [F, /^[^<?]+/],
693
+ [E, /^<!\w[^>]*(?:>|$)/],
694
+ [j, /^<\!--[\s\S]*?(?:-\->|$)/],
695
+ ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/],
696
+ ["lang-", /^<%([\s\S]+?)(?:%>|$)/],
697
+ [L, /^(?:<[%?]|[%?]>)/],
698
+ ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
699
+ ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
700
+ ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
701
+ ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i],
702
+ ],
703
+ ),
704
+ ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"],
705
+ );
706
+ c(
707
+ g(
708
+ [
709
+ [F, /^[\s]+/, null, " \t\r\n"],
710
+ [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, "\"'"],
711
+ ],
712
+ [
713
+ [m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
714
+ [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
715
+ ["lang-uq.val", /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
716
+ [L, /^[=<>\/]+/],
717
+ ["lang-js", /^on\w+\s*=\s*\"([^\"]+)\"/i],
718
+ ["lang-js", /^on\w+\s*=\s*\'([^\']+)\'/i],
719
+ ["lang-js", /^on\w+\s*=\s*([^\"\'>\s]+)/i],
720
+ ["lang-css", /^style\s*=\s*\"([^\"]+)\"/i],
721
+ ["lang-css", /^style\s*=\s*\'([^\']+)\'/i],
722
+ ["lang-css", /^style\s*=\s*([^\"\'>\s]+)/i],
723
+ ],
724
+ ),
725
+ ["in.tag"],
726
+ );
727
+ c(g([], [[n, /^[\s\S]+/]]), ["uq.val"]);
728
+ c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), [
729
+ "c",
730
+ "cc",
731
+ "cpp",
732
+ "cxx",
733
+ "cyc",
734
+ "m",
735
+ ]);
736
+ c(i({ keywords: "null,true,false" }), ["json"]);
737
+ c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), [
738
+ "cs",
739
+ ]);
740
+ c(i({ keywords: x, cStyleComments: true }), ["java"]);
741
+ c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ["bsh", "csh", "sh"]);
742
+ c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), [
743
+ "cv",
744
+ "py",
745
+ ]);
746
+ c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), [
747
+ "perl",
748
+ "pl",
749
+ "pm",
750
+ ]);
751
+ c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ["rb"]);
752
+ c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ["js"]);
753
+ c(
754
+ i({
755
+ keywords: r,
756
+ hashComments: 3,
757
+ cStyleComments: true,
758
+ multilineStrings: true,
759
+ tripleQuotedStrings: true,
760
+ regexLiterals: true,
761
+ }),
762
+ ["coffee"],
763
+ );
764
+ c(g([], [[C, /^[\s\S]+/]]), ["regex"]);
765
+ function d(V) {
766
+ var U = V.langExtension;
767
+ try {
768
+ var S = a(V.sourceNode);
769
+ var T = S.sourceCode;
770
+ V.sourceCode = T;
771
+ V.spans = S.spans;
772
+ V.basePos = 0;
773
+ q(U, T)(V);
774
+ D(V);
775
+ } catch (W) {
776
+ if ("console" in window) {
777
+ console.log(W && W.stack ? W.stack : W);
778
+ }
779
+ }
780
+ }
781
+ function y(W, V, U) {
782
+ var S = document.createElement("PRE");
783
+ S.innerHTML = W;
784
+ if (U) {
785
+ Q(S, U);
786
+ }
787
+ var T = { langExtension: V, numberLines: U, sourceNode: S };
788
+ d(T);
789
+ return S.innerHTML;
790
+ }
791
+ function b(ad) {
792
+ function Y(af) {
793
+ return document.getElementsByTagName(af);
794
+ }
795
+ var ac = [Y("pre"), Y("code"), Y("xmp")];
796
+ var T = [];
797
+ for (var aa = 0; aa < ac.length; ++aa) {
798
+ for (var Z = 0, V = ac[aa].length; Z < V; ++Z) {
799
+ T.push(ac[aa][Z]);
800
+ }
801
+ }
802
+ ac = null;
803
+ var W = Date;
804
+ if (!W.now) {
805
+ W = {
806
+ now: function () {
807
+ return +new Date();
808
+ },
809
+ };
810
+ }
811
+ var X = 0;
812
+ var S;
813
+ var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/;
814
+ var ae = /\bprettyprint\b/;
815
+ function U() {
816
+ var ag = window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity;
817
+ for (; X < T.length && W.now() < ag; X++) {
818
+ var aj = T[X];
819
+ var ai = aj.className;
820
+ if (ai.indexOf("prettyprint") >= 0) {
821
+ var ah = ai.match(ab);
822
+ var am;
823
+ if (!ah && (am = o(aj)) && "CODE" === am.tagName) {
824
+ ah = am.className.match(ab);
825
+ }
826
+ if (ah) {
827
+ ah = ah[1];
828
+ }
829
+ var al = false;
830
+ for (var ak = aj.parentNode; ak; ak = ak.parentNode) {
831
+ if (
832
+ (ak.tagName === "pre" || ak.tagName === "code" || ak.tagName === "xmp") &&
833
+ ak.className &&
834
+ ak.className.indexOf("prettyprint") >= 0
835
+ ) {
836
+ al = true;
837
+ break;
838
+ }
839
+ }
840
+ if (!al) {
841
+ var af = aj.className.match(/\blinenums\b(?::(\d+))?/);
842
+ af = af ? (af[1] && af[1].length ? +af[1] : true) : false;
843
+ if (af) {
844
+ Q(aj, af);
845
+ }
846
+ S = { langExtension: ah, sourceNode: aj, numberLines: af };
847
+ d(S);
848
+ }
849
+ }
850
+ }
851
+ if (X < T.length) {
852
+ setTimeout(U, 250);
853
+ } else {
854
+ if (ad) {
855
+ ad();
856
+ }
857
+ }
858
+ }
859
+ U();
860
+ }
861
+ window.prettyPrintOne = y;
862
+ window.prettyPrint = b;
863
+ window.PR = {
864
+ createSimpleLexer: g,
865
+ registerLangHandler: c,
866
+ sourceDecorator: i,
867
+ PR_ATTRIB_NAME: P,
868
+ PR_ATTRIB_VALUE: n,
869
+ PR_COMMENT: j,
870
+ PR_DECLARATION: E,
871
+ PR_KEYWORD: z,
872
+ PR_LITERAL: G,
873
+ PR_NOCODE: N,
874
+ PR_PLAIN: F,
875
+ PR_PUNCTUATION: L,
876
+ PR_SOURCE: J,
877
+ PR_STRING: C,
878
+ PR_TAG: m,
879
+ PR_TYPE: O,
880
+ };
881
+ })();
882
+ PR.registerLangHandler(
883
+ PR.createSimpleLexer(
884
+ [],
885
+ [
886
+ [PR.PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
887
+ [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/],
888
+ [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
889
+ ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/],
890
+ ["lang-", /^<%([\s\S]+?)(?:%>|$)/],
891
+ ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
892
+ [
893
+ "lang-handlebars",
894
+ /^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i,
895
+ ],
896
+ ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
897
+ ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
898
+ ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i],
899
+ [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/],
900
+ [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/],
901
+ [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/],
902
+ [PR.PR_COMMENT, /^{{![^}]*}}/],
903
+ ],
904
+ ),
905
+ ["handlebars", "hbs"],
906
+ );
907
+ PR.registerLangHandler(
908
+ PR.createSimpleLexer(
909
+ [[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, " \t\r\n\f"]],
910
+ [
911
+ [PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null],
912
+ [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null],
913
+ ["lang-css-str", /^url\(([^\)\"\']*)\)/i],
914
+ [
915
+ PR.PR_KEYWORD,
916
+ /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,
917
+ null,
918
+ ],
919
+ ["lang-css-kw", /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],
920
+ [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
921
+ [PR.PR_COMMENT, /^(?:<!--|-->)/],
922
+ [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
923
+ [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i],
924
+ [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],
925
+ [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/],
926
+ ],
927
+ ),
928
+ ["css"],
929
+ );
930
+ PR.registerLangHandler(
931
+ PR.createSimpleLexer(
932
+ [],
933
+ [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]],
934
+ ),
935
+ ["css-kw"],
936
+ );
937
+ PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ["css-str"]);